Initializing PXF
You must explicitly initialize the PXF service instance. This one-time initialization creates the PXF service web application and generates PXF configuration files and templates.
PXF provides two management commands that you can use for initialization:
pxf cluster init
- initialize all PXF service instances in the Greenplum Database clusterpxf init
- initialize the PXF service instance on the current Greenplum Database host
PXF also provides similar reset
commands that you can use to reset your PXF configuration.
PXF Configuration Properties
PXF supports both internal and user-customizable configuration properties. Initializing PXF generates PXF internal configuration files, setting default properties specific to your configuration. Initializing PXF also generates configuration file templates for user-customizable settings such as custom profiles and PXF runtime and logging settings.
PXF internal configuration files are located in your Greenplum Database installation in the $GPHOME/pxf/conf
directory. You identify the PXF user configuration directory at PXF initialization time via an environment variable named $PXF_CONF
. If you do not set $PXF_CONF
prior to initializing PXF, PXF may prompt you to accept or decline the default user configuration directory, $HOME/pxf
, during the initialization process.
Note: Choose a $PXF_CONF
directory location that you can back up, and ensure that it resides outside of your Greenplum Database installation directory.
During initialization, PXF creates the $PXF_CONF
directory if necessary, and then populates it with subdirectories and template files. Refer to PXF User Configuration Directories for a list of these directories and their contents.
Prerequisites
Before initializing PXF in your Greenplum Database cluster, ensure that:
- Your Greenplum Database cluster is up and running.
- You have identified the PXF user configuration directory filesystem location,
$PXF_CONF
, and that thegpadmin
user has the necessary permissions to create, or write to, this directory.
Procedure
Perform the following procedure to initialize PXF on each segment host in your Greenplum Database cluster.
Log in to the Greenplum Database master node:
$ ssh gpadmin@<gpmaster>
Run the
pxf cluster init
command to initialize the PXF service on the master, standby master, and on each segment host. For example, the following command specifies/usr/local/greenplum-pxf
as the PXF user configuration directory for initialization:gpadmin@gpmaster$ PXF_CONF=/usr/local/greenplum-pxf $GPHOME/pxf/bin/pxf cluster init
The
init
command creates the PXF web application and initializes the internal PXF configuration. Theinit
command also creates the$PXF_CONF
user configuration directory if it does not exist, and populates theconf
andtemplates
directories with user-customizable configuration templates. If$PXF_CONF
exists, PXF updates only thetemplates
directory.Note: The PXF service runs only on the segment hosts. However,
pxf cluster init
also sets up the PXF user configuration directories on the Greenplum Database master and standby master hosts.
Resetting PXF
Should you need to, you can reset PXF to its uninitialized state. You might choose to reset PXF if you specified an incorrect PXF_CONF
directory, or if you want to start the initialization procedure from scratch.
When you reset PXF, PXF prompts you to confirm the operation. If you confirm, PXF removes the following runtime files and directories (where PXF_HOME=$GPHOME/pxf
):
$PXF_HOME/conf/pxf-private.classpath
$PXF_HOME/pxf-service
$PXF_HOME/run
PXF does not remove the $PXF_CONF
directory during a reset operation.
You must stop the PXF service instance on a segment host before you can reset PXF on the host.
Procedure
Perform the following procedure to reset PXF on each segment host in your Greenplum Database cluster.
Log in to the Greenplum Database master node:
$ ssh gpadmin@<gpmaster>
Stop the PXF service instances on each segment host. For example:
gpadmin@gpmaster$ $GPHOME/pxf/bin/pxf cluster stop
Reset the PXF service instances on all Greenplum hosts. For example:
gpadmin@gpmaster$ $GPHOME/pxf/bin/pxf cluster reset
Note: After you reset PXF, you must initialize and start PXF to use the service again.