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}}"/>
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