If you have installed a PXF 6.x rpm
or deb
package and have configured and are using PXF in your current Greenplum Database 5.21.2+ or 6.x installation, you must perform some upgrade actions when you install a new version of PXF 6.x.
The PXF upgrade procedure has three steps. You perform one pre-install procedure, the install itself, and then a post-install procedure to upgrade to PXF 6.x:
Perform this procedure before you upgrade to a new version of PXF 6.x:
Log in to the Greenplum Database master host. For example:
$ ssh gpadmin@<gpmaster>
Identify and note the version of PXF currently running in your Greenplum cluster:
gpadmin@gpmaster$ pxf version
Stop PXF on each Greenplum host as described in Stopping PXF:
gpadmin@gpmaster$ pxf cluster stop
(Optional, Recommended) Back up the PXF user configuration files; for example, if PXF_BASE=/usr/local/pxf-gp6
:
gpadmin@gpmaster$ cp -avi /usr/local/pxf-gp6 pxf_base.bak
Install PXF 6.x and identify and note the new PXF version number.
After you install the new version of PXF, perform the following procedure:
Log in to the Greenplum Database master host. For example:
$ ssh gpadmin@<gpmaster>
PXF 6.x includes a new version of the pxf
extension. Register the extension files with Greenplum Database (see pxf cluster register). $GPHOME
must be set when you run this command:
gpadmin@gpmaster$ pxf cluster register
You must update the pxf
extension in every Greenplum database in which you are using PXF. A database superuser or the database owner must run this SQL command in the psql
subsystem or in an SQL script:
ALTER EXTENSION pxf UPDATE;
If you are upgrading from PXF version 6.0.x:
pxf.connection.timeout
property to change the write/upload timeout, you must now set the pxf.connection.upload-timeout
property for this purpose.If you are upgrading to PXF version 6.2.0 to resolve an erroneous replay attack issue in a Kerberos-secured environment:
If you want to change the default value of the new pxf.sasl.connection.retries
property, add the following to the pxf-site.xml
file for your PXF server:
<property>
<name>pxf.sasl.connection.retries</name>
<value><new-value></value>
<description>
Specifies the number of retries to perform when a SASL connection is refused by a Namenode due to 'GSS initiate failed' error.
</description>
</property>
(Recommended) Configure PXF to use a host-specific Kerberos principal for each segment host. If you specify the following pxf.service.kerberos.principal
property setting in the PXF server’s pxf-site.xml
file, PXF automatically replaces _HOST
with the FQDN of the segment host:
<property>
<name>pxf.service.kerberos.principal</name>
<value>gpadmin/[email protected]</value>
</property>
(Recommended) If you are upgrading from PXF version 6.2.2 or earlier to PXF version 6.2.3 or later, update your $PXF_BASE/conf/pxf-log4j2.xml
file to fully configure the logging changes introduced in version 6.2.3:
Remove the following line from the initial <Properties>
block:
<Property name="PXF_LOG_LEVEL">${bundle:pxf-application:pxf.log.level}</Property>
Change the following line:
<Logger name="org.greenplum.pxf" level="${env:PXF_LOG_LEVEL:-${sys:PXF_LOG_LEVEL:-info}}"/>
to:
<Logger name="org.greenplum.pxf" level="${env:PXF_LOG_LEVEL:-${spring:pxf.log.level}}"/>
If you are upgrading from PXF version 6.5.x or earlier to PXF version 6.6.0 or later, and you want to change the value of the new pxf.parquet.write.decimal.overflow
property from the default of round
, add the following to the pxf-site.xml
file for your PXF server:
<property>
<name>pxf.parquet.write.decimal.overflow</name>
<value>NEW_VALUE</value>
</property>
where NEW_VALUE
is error
or ignore
.
Refer to Understanding Overflow Conditions When Writing Numeric Data for more information about how PXF uses this property to direct its actions when it encounters a numeric overflow while writing to a Parquet file.
Synchronize the PXF configuration from the master host to the standby master host and each Greenplum Database segment host. For example:
gpadmin@gpmaster$ pxf cluster sync
Start PXF on each Greenplum host as described in Starting PXF:
gpadmin@gpmaster$ pxf cluster start