Sections in the FTL Server Cluster Configuration

Provided below is a brief description of each section of the YAML configuration file and a list of all required and optional parameters that can be included in those sections in the context of FTL stores. Parameters not mentioned in the following sections are not supported for use with FTL stores.

globals

The globals section contains parameters that directly affect the operation of the FTL servers in the cluster.

Parameter Name Description
core.servers

This parameter is mandatory.

A list of the names of the FTL servers in the cluster along with their location.

tls.secure

The password that was used to encrypt the keystore file.

When this parameter is present, all communication between the FTL servers in the cluster will be encrypted.

The value for this parameter should be of the form:

file:<path to keystore_password_file>

where keystore_password_file is a file containing the chosen password for authentication. See Initializing FTL Server Cluster Security for details.

auth.url

The URL of a flat file with the following contents:

admin: <password>, ftl-admin,ftl-internal

When present, authentication is enabled in the FTL server so that it requires and verifies username and password credentials from coordinating FTL servers in the cluster and from the tibemsjson2ftl and tibftladmin tools.

The value for this parameter must be of the form:

file://<path to flat file>

This parameter must be set if the tls.secure parameter is specified.

See Initializing FTL Server Cluster Security.

servers

The servers section must contain a list of all FTL servers in the cluster. For each server in the list, a sub-list of services whose behavior is to be configured can be specified. No service should be specified more than once for a given server.

The table below details the parameters available to configure each service.

Parameter Name Description
tibemsd Service parameters
exepath

This parameter is mandatory and must be configured for each FTL server in the cluster.

The path to the tibemsd executable. This executable is located at EMS_HOME/bin/tibemsd.

-listens

A comma-separated list of one or more listen URLs for the EMS server.

If this parameter is not specified, the EMS server will start with the default listen URL tcp://7222.

-config_wait

When this parameter is specified, all EMS servers within the FTL server cluster will wait for an EMS configuration to become available in the cluster before starting up. This parameter does not accept a value.

If this parameter is not specified, and an EMS configuration is not available in the cluster, the EMS servers will start with default configuration.

See the Server Configuration Upload/Download section for instructions on uploading the EMS configuration to the FTL server cluster.

-standby_only

This parameter informs the FTL server that its EMS server is configured to be standby_only, meaning that it cannot ever transition to active state. This parameter does not accept a value.

Only one of the 3 FTL servers in this section should have this parameter set for its tibemsd service. The selected FTL server will be the one whose EMS server will not be part of the fault-tolerant EMS server pair, and whose URL will not be used by clients.

This parameter should not be specified if the configuration is for a standalone FTL server.

-store The path to the directory where the FTL server will write out FTL store-specific data. If not specified, FTL store data will be written to the current working directory by default.
-health_check_listen

The URL at which the EMS server will listen for health check requests.

This URL should follow the same syntax as described in the health_check_listen section.

<EMS server command line option>

Any EMS server command line option can be included in this section. For example, -ssl_trace.

realm Service Parameters
data

The general data directory for the FTL server. This directory will contain all non-FTL store specific data. If not specified, the default is the current working directory.

drto

When present, this FTL server cluster recognizes another given FTL server cluster as belonging to a disaster recovery site and attempts to connect to it.

Supply a pipe-separated list of the URLs of the FTL servers in the disaster recovery site’s FTL server cluster. Each URL should be of the form:

<FTL server name>@<host>:<port>

(You must also configure the disaster recovery FTL servers using the drfor parameter.)

drfor

When present, this FTL server cluster recognizes that it is in the disaster recovery site for a primary site FTL server cluster.

Supply a pipe-separated list of URLs of the FTL servers in the primary site’s FTL server cluster. Each URL should be of the form:

<FTL server name>@<host>:<port>

(You must also configure the primary site FTL servers using the drto parameter.)

user

The username that the FTL server clusters at the primary and DR sites will use to authenticate each other.

If the authentication data for the primary and DR sites was created based on the steps in Initializing FTL Server Cluster Security, the value passed to this option should be admin.

This parameter must be specified if setting up disaster recovery with secure FTL server clusters.

password

The password that the FTL server clusters at the primary and DR sites will use to authenticate each other.

The value for this parameter should be of the form:

file:<path to password_file>

where password_file is a file containing the chosen password for authentication. See Initializing FTL Server Cluster Security for details.

This parameter must be specified if setting up disaster recovery with secure FTL server clusters.

ftl Service Parameters
logfile

The prefix for the filenames of the rolling log files generated by the FTL server.

If the prefix includes a directory path, the FTL server’s log files will be generated under that directory. If not, the FTL server will generate its log files in the current directory.

Any directories included in the prefix value must already exist.

If this parameter is not specified, the FTL server will send log output to the console.

max.log.size The maximum size of each FTL server log file in bytes. The value must be greater than 100 kilobytes (102400). The default value is 2 megabytes (2*1024*1024).
max.logs The maximum number of rolling log files that can be created. The default value is 50.

Examples

Example 1
Configuration for a standalone FTL server that does not have security enabled and is using the default data directories.

globals:
  core.servers:
    ftls1: host1:8080
servers:
  ftls1:
  - tibemsd:
      -listens: tcp://host1:7222
      exepath: /opt/tibco/ems/10.2/bin/tibemsd
      -config_wait:

Example 2
Configuration for a secure FTL server cluster that specifies generic and FTL store-specific data directories, has logging configured and is also configured to replicate data to a disaster recovery site.

globals:
  core.servers:
    ftls1: host1:8080
    ftls2: host2:8085
    ftls3: host3:8090
  tls.secure: file:/opt/deployment/keystore_password_file
  auth.url: file:///opt/deployment/users.txt
servers:
  ftls1:
- tibemsd: -listens: ssl://host1:7222 exepath: /opt/tibco/ems/10.2/bin/tibemsd -store: /opt/deployment/ftls1/ftlstore_data -config_wait: - realm: data: /opt/deployment/ftls1/ftlserver_data drto: dr_ftls1@host4:8080|dr_ftls2@host5:8085|dr_ftls3@host6:8090 user: admin password: file:/opt/deployment/password_file - ftl: logfile: /opt/deployment/ftls1/logs/log max.log.size: 1048576 max.logs: 100 ftls2: - tibemsd: -listens: ssl://host2:7224 exepath: /opt/tibco/ems/10.2/bin/tibemsd -store: /opt/deployment/ftls2/ftlstore_data -config_wait: - realm: data: /opt/deployment/ftls2/ftlserver_data drto: dr_ftls1@host4:8080|dr_ftls2@host5:8085|dr_ftls3@host6:8090 user: admin password: file:/opt/deployment/password_file - ftl: logfile: /opt/deployment/ftls2/logs/log max.log.size: 1048576 max.logs: 100 ftls3:
- tibemsd:
-listens: ssl://host3:7226 exepath: /opt/tibco/ems/10.2/bin/tibemsd -store: /opt/deployment/ftls3/ftlstore_data -config_wait: -standby_only: - realm: data: /opt/deployment/ftls3/ftlserver_data drto: dr_ftls1@host4:8080|dr_ftls2@host5:8085|dr_ftls3@host6:8090 user: admin password: file:/opt/deployment/password_file - ftl: logfile: /opt/deployment/ftls3/logs/log max.log.size: 1048576 max.logs: 100