Skip to main content

Service Listen Address, Host, and Port

In the default deployment topology, since PXF 6.7.0, the PXF Service starts on an Apache Cloudberry host and listens on localhost:5888. With this configuration, the PXF Service listens for local traffic on the Apache Cloudberry host. You can configure PXF to listen on a different listen address. You can also configure PXF to listen on a different port number, or to run on a different host. To change the default configuration, you set one or more of the properties identified below:

PropertyTypeDescriptionDefault
server.addresspxf-application.properties propertyThe PXF server listen address.localhost
PXF_HOSTEnvironment variableThe name or IP address of the (non-Greenpum) host on which the PXF Service is running.localhost
PXF_PORTEnvironment variableThe port number on which the PXF server listens for requests on the host.5888

Configuring the Listen Address

The server.address property identifies the IP address or hostname of the network interface on which the PXF service listens. The default PXF service listen address is localhost. You may choose to change the listen address to allow traffic from other hosts to send requests to PXF (for example, when you have chosen the alternate deployment topology or to retrieve PXF monitoring data).

Perform the following procedure to change the PXF listen address:

  1. Log in to your Apache Cloudberry coordinator host:

    $ ssh gpadmin@<coordinator>
  2. Locate the pxf-application.properties file in your PXF installation. If you did not relocate $PXF_BASE, the file resides here:

    /usr/local/cloudberry-pxf/conf/pxf-application.properties
  3. Open the file in the editor of your choice, uncomment and set the following line:

    server.address=<new_listen_addr>

    Changing the listen address to 0.0.0.0 allows PXF to listen for requests from all hosts.

  4. Save the file and exit the editor.

  5. Synchronize the PXF configuration and then restart PXF:

    gpadmin@coordinator$ pxf cluster sync
    gpadmin@coordinator$ pxf cluster restart

Configuring the Port Number

Note: You must restart both Apache Cloudberry and PXF when you configure the service port number in this manner. Consider performing this configuration during a scheduled down time.

Perform the following procedure to configure the port number of the PXF server on one or more Apache Cloudberry hosts:

  1. Log in to your Apache Cloudberry coordinator host:

    $ ssh gpadmin@<coordinator>
  2. For each Apache Cloudberry host:

    1. Identify the port number on which you want the PXF Service to listen.

    2. Log in to the Apache Cloudberry host:

      $ ssh gpadmin@<seghost>
    3. Open the ~/.bashrc file in the editor of your choice.

    4. Set the PXF_PORT environment variable. For example, to set the PXF Service port number to 5998, add the following to the .bashrc file:

      export PXF_PORT=5998
    5. Save the file and exit the editor.

  3. Source the .bashrc that file you just updated:

    gpadmin@coordinator$ source ~/.bashrc
  4. Restart Apache Cloudberry as described in Restarting Apache Cloudberry in the Apache Cloudberry Documentation.

  5. Restart PXF on each Apache Cloudberry host:

    gpadmin@coordinator$ pxf cluster restart
  6. Verify that PXF is running on the reconfigured port by invoking http://<PXF_HOST>:<PXF_PORT>/actuator/health to view PXF monitoring information as described in About PXF Service Runtime Monitoring.

Configuring the Host

If you have chosen the alternate deployment topology for PXF, you must set the PXF_HOST environment variable on each Apache Cloudberry segment host to inform Apache Cloudberry of the location of the PXF service. You must also set the listen address as described in Configuring the Listen Address.

Perform the following procedure to configure the PXF host on each Apache Cloudberry segment host:

Note: You must restart Apache Cloudberry when you configure the host in this manner. Consider performing this configuration during a scheduled down time.

  1. Log in to your Apache Cloudberry coordinator host:

    $ ssh gpadmin@<coordinator>
  2. For each Apache Cloudberry segment host:

    1. Identify the host name or IP address of a PXF Server.

    2. Log in to the Apache Cloudberry segment host:

      $ ssh gpadmin@<seghost>
    3. Open the ~/.bashrc file in the editor of your choice.

    4. Set the PXF_HOST environment variable. For example, to set the PXF host to pxfalthost1, add the following to the .bashrc file:

      export PXF_HOST=pxfalthost1
    5. Save the file and exit the editor.

  3. Source the .bashrc that file you just updated:

    gpadmin@coordinator$ source ~/.bashrc
  4. Configure the listen address of the PXF Service as described in Configuring the Listen Address.

  5. Restart Apache Cloudberry as described in Restarting Apache Cloudberry in the Apache Cloudberry Documentation.

  6. Verify that PXF is running on the reconfigured host by invoking http://<PXF_HOST>:<PXF_PORT>/actuator/health to view PXF monitoring information as described in About PXF Service Runtime Monitoring.