About the PXF Installation and Configuration Directories
This documentation uses
$PXF_HOME to refer to the PXF installation directory. Its value depends on how you have installed PXF:
- If you installed PXF as part of Greenplum Database, its value is
- If you installed the PXF
debpackage, its value is
/usr/local/pxf-gp<greenplum-major-version>, or the directory of your choosing (CentOS/RHEL only).
$PXF_HOME includes both the PXF executables and the PXF runtime configuration files and directories. In PXF 5.x, you needed to specify a
$PXF_CONF directory for the runtime configuration when you initialized PXF. In PXF 6.x, however, no initialization is required:
$PXF_BASE now identifies the runtime configuration directory, and the default
If you want to store your configuration and runtime files in a different location, see Relocating $PXF_BASE.
$PXF_HOMEenvironment variable to reference the PXF installation directory. PXF uses this variable internally at runtime; it is not set in your shell environment, and will display as empty if you attempt to
echoits value. Similarly, this documentation uses the
$PXF_BASEenvironment variable to reference the PXF runtime configuration directory. PXF uses the variable internally. It only needs to be set in your shell environment if you explicitly relocate the directory.
The following PXF files and directories are installed to
$PXF_HOME when you install Greenplum Database or the PXF 6.x
|application/||The PXF Server application JAR file.|
|bin/||The PXF command line executable directory.|
|commit.sha||The commit identifier for this PXF release.|
|gpextable/||The PXF extension files. PXF copies the
|share/||The directory for shared PXF files that you may require depending on the external data stores that you access.
|templates/||The PXF directory for server configuration file templates.|
|version||The PXF version.|
The following PXF directories are installed to
$PXF_BASE when you install Greenplum Database or the PXF 6.x
|conf/||The location of user-customizable PXF configuration files for PXF runtime and logging configuration settings. This directory contains the
|keytabs/||The default location of the PXF Service Kerberos principal keytab file. The
|lib/||The location of user-added runtime dependencies. The
|logs/||The PXF runtime log file directory. The
|run/||The default PXF run directory. After starting PXF, this directory contains a PXF process id file,
|servers/||The configuration directory for PXF servers; each subdirectory contains a server definition, and the name of the subdirectory identifies the name of the server. The default server is named
If you require that
$PXF_BASE reside in a directory distinct from
$PXF_HOME, you can change it from the default location to a location of your choosing after you install PXF 6.x.
PXF provides the pxf [cluster] prepare command to prepare a new
$PXF_BASE location. The command copies the runtime and configuration directories identified above to the file system location that you specify in a
PXF_BASE environment variable.
For example, to relocate
$PXF_BASE to the
/path/to/dir directory on all Greenplum hosts, run the command as follows:
gpadmin@gpmaster$ PXF_BASE=/path/to/dir pxf cluster prepare
$PXF_BASE is different than
$PXF_HOME, inform PXF by setting the
PXF_BASE environment variable when you run a
gpadmin@gpmaster$ PXF_BASE=/path/to/dir pxf cluster start
Set the environment variable in the
.bashrc shell initialization script for the PXF installation owner (typically the
gpadmin user) as follows: