gpss.json

gpss.json

Greenplum Streaming Server configuration file.

Synopsis

{
    "ListenAddress": {
        "Host": "gpss_host",
        "Port": gpss_portnum [,
        "Certificate": {
            "CertFile": "certfile_path",
            "KeyFile": "keyfile_path",
            "CAFile": "CAfile_path"
        }]
    },
    "Gpfdist": {
        "Host": "gpfdist_host",
        "Port": gpfdist_portnum [,
        "ReuseTables": bool_value ][,
        "Certificate": {
            "CertFile": "certfile_path",
            "KeyFile": "keyfile_path",
            "CAFile": "CAfile_path"
        }] [,
        "BindAddress": bind_addr ]
    }[,
    "Shadow": {
        "Key": "passwd_shadow_key",
    }]
}

Description

You specify runtime configuration properties for a gpss service instance in a JSON-formatted configuration file. Run properties for GPSS include gpss and gpfdist service hosts, addresses, port numbers, and optional encryption certificates and key files. You can also specify a shadow key that GPSS uses to encode and decode the Greenplum Database password.

This reference page uses the name gpss.json to refer to this file; you may choose your own name for the file.

Keywords and Values

GPSS ListenAddress Options
Host: gpss_host
The host name or IP address on which GPSS listens for client connections. The default host is 127.0.0.1.
Port: gpss_portnum
The port number on which the gpss service instance listens. The default port number is 5000.
Certificates:
When you specify certificates, GPSS uses the SSL certificates to authenticate both the client connection and the connection to Greenplum Database.
CertFile: certfile_path
File system path to the server certificate.
KeyFile: keyfile_path
File system path to the server key file.
CAFile: CAfile_path
File system path to the Certificate Authority file. The CAfile_path must contain the entire Certificate Authority chain.
Gpfdist Options

GPSS implements the gpfdist protocol. The gpss.json file exposes configuration options that you can use to identify the service location and bind options.

Host: gpfdist_host
The gpfdist service host name or IP address that GPSS sets in the external table LOCATION clause. This hostname or IP address must be reachable from each Greenplum Database segment host. The default value is the fully qualified distinguished name of the host on which GPSS is running.
Port: gpfdist_portnum
The gpfdist service port number. The default port number is 8080.
ReuseTables: bool_value
A boolean that identifies whether or not GPSS should reuse an external table when the job associated with a load operation is restarted. The default value is true, reuse the external table.
If you choose not to reuse external tables, GPSS deletes the external table associated with a load operation when you stop the job, and creates a new external table when you restart the job.
Certificates:
When you specify gpfdist certificates, GPSS uses the SSL certificates and the gpfdists protocol to transfer encrypted data between itself and Greenplum Database.
CertFile: certfile_path
File system path to the server certificate.
KeyFile: keyfile_path
File system path to the server key file.
CAFile: CAfile_path
File system path to the Certificate Authority file. The CAfile_path must contain the entire Certificate Authority chain.
BindAddress: bind_addr
The address to which GPSS binds the gpfdist port. The default bind address is 0.0.0.0.
Shadow Option

The encode/decode key for the Greenplum Database password.

Shadow: passwd_shadow_key
The key that GPSS uses to encode and decode the Greenplum Database shadow password string. Keep this key secret.

Notes

When you provide the --config gpss.json option to the gpsscli shadow command, GPSS uses the Shadow:Key specified in the file, or a default key, to encode a Greenplum Database password that you specify and generate a shadowed password string.

When you provide a variant of this file to the other gpsscli subcommands via the --config gpsscliconfig.json option, GPSS uses the information provided in the ListenAddress block of the file to identify the GPSS server instance to which to route the request, and/or to identify the client certificates when SSL is enabled between GPSS client and server.

When you provide the --config gpfdistconfig.json option to the gpkafka load command, GPSS uses the information provided in the Gpfdist block of the file to specify the gpfdist protocol instance, and, when SSL is enabled on the data channel to Greenplum Database, to identify the GPSS SSL certificates.

Examples

Start a Greenplum Streaming Server instance with properties as defined in a configuration file named gpss4ic.json located in the current directory:

$ gpss gpss4ic.json

Example gpss4ic.json configuration file:

{
    "ListenAddress": {
        "Host": "",
        "Port": 5019
    },
    "Gpfdist": {
        "Host": "",
        "Port": 8319,
        "ReuseTables": false
    },
    "Shadow": {
        "Key": "a_very_secret_key"
    }
}