+

Search Tips | Advanced Search

For up-to-date product documentation, see the IBM MobileFirst Foundation Developer Center.


Add a MobileFirst Analytics Server to the cluster

Learn how to add a MobileFirst Analytics Server to the cluster.

Because Elasticsearch is embedded in the MobileFirst Analytics Server, and it is responsible for participating in the cluster, do not use the application server's features to define cluster behavior. You do not want to create a WebSphere® Application Server Liberty farm, for example. Trust the underlying Elasticsearch run time to participate in the cluster. However, you must configure it properly.

In the following sample instructions, do not configure the node to be a master node or a data node. Instead, configure the node as a "search load balancer" whose purpose is to be up temporarily so that the Elasticsearch REST API is exposed for monitoring and dynamic configuration.

Note: Remember to configure the hardware and operating system of this node according to System requirements.

Note: Port 9600 is the transport port that is used by Elasticsearch. Therefore, port 9600 must be open through any firewalls between cluster nodes.


Procedure

  1. Install the analytics service WAR file and the analytics UI WAR file (if we want the UI) to the application server on the newly allocated system.

    Install this instance of the MobileFirst Analytics Server to any of the supported app servers.

  2. Edit the application server's configuration file for JNDI properties (or use system environment variables) to configure at least the following flags.

    Table 1. Flags to configure
    Flag Value (example) Default Note
    cluster.name worklight worklight The cluster that you intend this node to join.
    discovery.zen.ping.multicast.enabled false true Set to false to avoid accidental cluster join.
    discovery.zen.ping.unicast.hosts ["9.8.7.6:9600"] None List of master nodes in the existing cluster. Change the default port of 9600 if you specified a transport port setting on the master nodes.
    node.master false true Do not allow this node to be a master.
    node.data false true Do not allow this node to store data.
    http.enabled true true Open unsecured HTTP port 9200 for Elasticsearch REST API.

  3. Consider all configuration flags in production scenarios. You might want Elasticsearch to keep the plug-ins in a different file system directory than the data, so we must set the path.plugins flag.
  4. Run the application server and start the WAR applications if necessary.
  5. Confirm that this new node joined the cluster by watching the console output on this new node, or by observing the node count in the Cluster and Node section of the Administration page in MobileFirst Analytics Console.

Parent topic: Cluster management and Elasticsearch