+

Search Tips | Advanced Search

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


Add a stand-alone Elasticsearch node to the cluster

Learn how to add a stand-alone Elasticsearch node to the cluster.

We can add a stand-alone Elasticsearch node to our existing MobileFirst Analytics cluster in just a few simple steps. However, we must decide the role of this node. Is it going to be a master-eligible node? If so, remember to avoid the split-brain issue from Configuration guide. Is it going to be a data node? Is it going to be a client-only node? Perhaps we want a client-only node so that we can start a node temporarily to expose Elasticsearch's REST API directly to affect dynamic configuration changes to our running cluster.

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. Download Elasticsearch from https://download.elastic.co/elasticsearch/elasticsearch/elasticsearch-1.7.5.tar.gz.
  2. Decompress the file.
  3. Edit the config/elasticsearch.yml file and 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.

  4. 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.
  5. Run ./bin/plugin -i elasticsearch/elasticsearch-analytics-icu/2.7.0 to install the ICU plug-in.
  6. Run ./bin/elasticsearch.
  7. 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