Endeca Server configuration

A configuration file sets global parameters for Endeca Server, such as the default locations of mandatory files and directories.

The Endeca Server configuration file is named EndecaServer.properties, and is located in the config directory of your domain. For example, assuming that "endeca_domain" is the name of your WebLogic Server domain for the Endeca Server, the default location on Linux is:
$MW_HOME/user_projects/domains/endeca_domain/config/EndecaServer.properties

The path on Windows is similar.

The configuration includes parameters for the Endeca Server application (including the Cluster Coordinator). The default values in the file are set by the Endeca Server installer.

Note that the file's SSL-specific parameters (such as endeca-ssl-keystore) are empty at installation time. The values are filled in if you later run the generate_ssl_keys utility that creates the SSL keys and certificates.

Endeca Server parameters

The following configuration settings are specific to Endeca Server operations:
Endeca Server parameter Meaning
endeca-require-https If set to true, specifies that Endeca Server enforces the use of the HTTPS port.

If set to false, uses the HTTP port.

endeca-runtime-basedir The location of the Endeca Server's endeca-server directory.

The default is the $ENDECA_HOME/endeca-server location.

endeca-data-dir The location where the data files for all the Endeca data domains are stored for this Endeca Server instance.

The default location is the $DOMAIN_HOME/EndecaServer/data directory. Note that you can specify only one directory (that is, specifying multiple directories is not allowed).

endeca-offline-dir The location where the data files for an Endeca data domain are exported by the export-dd endeca-cmd.

The default is the $DOMAIN_HOME/EndecaServer/offline directory. Note that you can specify only one directory (that is, specifying multiple directories is not allowed).

endeca-logs-dir The location of the Dgraph's standard out/err log and request log, as well as the PID file.

The default is the $DOMAIN_HOME/EndecaServer/logs directory. Note that you can specify only one directory (that is, specifying multiple directories is not allowed).

endeca-dgraph-install The location of the Endeca Server's Dgraph application directory.

The default is the $ENDECA_HOME/endeca-server/dgraph directory.

endeca-webserver-port The port on which the Endeca Server listens for requests.

The default is 7001 (for non-SSL deployments) or 7002 (for SSL deployments).

endeca-ds-port-min and endeca-ds-port-max The range of port numbers from which the Endeca Server selects the HTTP/HTTPS ports and the bulk-load ports for the Dgraph processes.

Once a port is assigned to a Dgraph process, that port is not used for subsequent Dgraph port assignments (unless the data domain is disabled). This port assignment strategy prevents port collisions among the Dgraph processes.

The defaults for endeca-ds-port-min are 7011 (for non-SSL deployments) or 7012 (for SSL deployments).

The defaults for endeca-ds-port-max are 8011 (for non-SSL deployments) or 8012 (for SSL deployments).

endeca-ds-cert-file The path of the SSL certificate file. This certificate file is used by all clients and servers to specify their identity when using SSL to connect to the Oracle Endeca Server.

If the generate_ssl_keys utility was run, the default path is to the $DOMAIN_HOME/config/ssl/dgraphCert.pem file. If the utility was not run, this setting is empty.

endeca-ds-ca-file The path of the certificate authority file. This file is used by all clients and servers to authenticate the other endpoint of a communication channel.

If the generate_ssl_keys utility was run, the default path is to the $DOMAIN_HOME/config/ssl/dgraphCA.pem file. If the utility was not run, this setting is empty.

endeca-secure-mode If set to true, specifies that Endeca Server is using SSL and that the Dgraphs should be started in SSL mode.

If set to false, Endeca Server and the Dgraphs are not using SSL.

Endeca Cluster Coordinator parameters

The following configuration settings are specific to the Endeca Cluster Coordinator:
Cluster Coordinator parameter Meaning
endeca-cluster-coordinator-dir The location of the Endeca Cluster Coordinator root directory.

The default is the $ENDECA_HOME/endeca-server/cluster-coordinator directory.

endeca-cluster-coordinator-hosts The default is localhost (which should be used for a single-node installation).

For a clustered deployment, this parameter is a comma-separated list of the machine names that are part of the Cluster Coordinator ensemble.

endeca-cluster-coordinator-clientPort The port of the server on which the Cluster Coordinator is running. This the port at which the clients will connect.

The default is 2181.

endeca-cluster-coordinator-tickTime The length of a single tick, which is the basic time unit for the Cluster Coordinator.

A tick is measured in milliseconds. It is used to regulate heartbeats and timeouts.

The default is 2000 milliseconds.

endeca-cluster-coordinator-initLimit The number of ticks that the initial synchronization phase can take. This number specifies the length of time the nodes have to connect to the leader node.

The default is 10 ticks.

endeca-cluster-coordinator-syncLimit The number of ticks that can take place between one node sending a request for an update and receiving an acknowledgment from the leader node.

The default is 5 ticks.

endeca-cluster-coordinator-dataDir The location of the directory where the in-memory database snapshots for the Cluster Coordinator and the transaction log of updates to its database are stored.

The default is the $DOMAIN_HOME/EndecaServer/data directory.

endeca-cluster-coordinator-serverPort The port that follower nodes use to connect to the leader node.

The default server port is 3181.

endeca-cluster-coordinator-leaderPort The port that the Cluster Coordinator servers use to do leader election.

The default leader port is 4181.

endeca-cluster-coordinator-maxClientCnxns Limits the number of concurrent connections (at the socket level) that a single client, identified by IP address, may make to a single member of the cluster ensemble.

This is used to prevent certain classes of DoS attacks, including file descriptor exhaustion.

Setting this to 0 (the default) entirely removes the limit on concurrent connections.

endeca-cluster-coordinator-minSessionTimeout Specifies the minimum session timeout in milliseconds that the server will allow the client to negotiate.

The default is 4000 milliseconds.

Note that this parameter is intended for use by Oracle Endeca Support only.

endeca-cluster-coordinator-maxSessionTimeout Specifies the maximum session timeout in milliseconds that the server will allow the client to negotiate.

The default is 180000 milliseconds.

Note that this parameter is intended for use by Oracle Endeca Support only.

Note: Most of these parameters are used by the Endeca Server application and should not be modified. During the Endeca Server cluster deployment process, you may need to modify some of these parameters. For information on which parameters can be modified for the Endeca Server cluster deployment, see the Oracle Endeca Server Installation Guide.

Using a data directory on a different drive

The endeca-data-dir parameter allows you to specify a different drive for the data domain data files. (The default drive is the same one on which the Endeca Server application directory is installed.) On Windows, for example, your WebLogic Server and Endeca Server installations can be on drive C, while the data domain indexes can be created on drive D. They can also be placed on a shared file system, as in a clustered environment.

There is one caveat to keep in mind. If you have created data domains and later want to change the endeca-data-dir setting, any data domain created with the original endeca-data-dir setting cannot be started with the new (changed) endeca-data-dir setting (because its data files cannot be found at start-up). Therefore, to preserve the original data domains, do the following:
  1. Use the export-dd command to export the data domains you want to keep.
  2. Use the delete-dd command to delete all data domains (as they will not be able to be started).
  3. Change the endeca-data-dir value to a different directory.
  4. Use the import-dd command to import the data domains.
When making these changes, keep the following in mind:
  • You can specify only one directory for the endeca-data-dir parameter. In other words, the data files for all of the data domains created by an Endeca Server instance must all be stored in the same directory.
  • In a clustered environment, all the Endeca Server instances must use identical EndecaServer.properties files.
  • You cannot mix Linux and Windows drives. For example, if the Endeca Server application directory is installed on a Linux drive, you cannot place the data files on a Windows drive.

You can also use the endeca-logs-dir parameter to store the Dgraph logs in a different directory or drive, and use the endeca-offline-dir parameter for exporting and importing data domains.