Configuring a three node Elasticsearch cluster

For a default setup, deploy and configure a three node Elasticsearch cluster.

Before you begin

Ensure that three Elasticsearch OVAs are deployed.

About this task

Complete the setup of the Elasticsearch cluster before configuring any of the other IBM® StoredIQ® components.

Procedure

  1. In VMware vSphere Client, check the VM settings that were created from the OVA and change them if required.
    Primarily, check these settings:
    Memory
    Must be at least 32 GB
    Hard disk 1 (primary disk)
    Must be at least 100 GB
    Hard disk 2 (data disk)
    Must be at least 1 TB
  2. Power on the VM.
  3. Open the console to launch the configuration wizard (first-boot procedure).
    Depending on your version of vSphere Client, you might either have a Launch Console or an Open Console link to do so.

    The wizard is text based. To work in the wizard, use the Tab key to navigate, the Space bar to select items, and the Enter key to apply your selections.

    1. Accept the CentOS and IBM Eula license agreements when prompted.
    2. Set up the passwords for the root and builder accounts.
      With the builder account, you can later log in to the virtual machine via SSH.
    3. Configure the network.
      Within the Network Configuration window, select either Static or Obtain IP via DHCP.
      • If you select the Static IP option, complete these fields to configure the static address:
        Parameter Value
        Hostname The fully qualified host name of the Elasticsearch node
        IP Address The IPv4 address of the Elasticsearch node
        Netmask The netmask for the assigned IP address
        Gateway The IP address of the default gateway for the IP subnet
        Note: This is the network gateway, not the IBM StoredIQ gateway.
        Primary DNS Host The IP address for the domain name server
      • If you select the Obtain IP via DHCP option, provide this information:
        Parameter Value
        Hostname The fully qualified host name of the Elasticsearch node

      Also select Restart network services to restart the node after your configuration is complete.

  4. Repeat steps 1 to 3 for each OVA for a minimum of three nodes.
  5. Log in to the first node in the Elasticsearch cluster that is used to set up or upgrade the cluster across the other nodes.
    Use the builder account and the password that you configured in step 3.
    ssh builder@primary_es_node_ip
  6. Copy the sample cluster-setup.properties file to the builder home directory.
    At the prompt [builder@localhost ~]$, enter the following command:
    cp /etc/siq/cluster-setup.properties.sample cluster-setup.properties
  7. Edit the file by using this command:
    vi cluster-setup.properties
    The file defines the following properties. Only configuration of the ES_HOSTS property is mandatory.
    ~/cluster-setup.properties Note
    CLUSTER_NAME=Elasticsearch Cluster name string.
    ES_HOSTS=IP_address_1,IP_address_2,IP_address_3 Required. The first entry in the list becomes node1.

    Insert the IP addresses generated in step 3.

    STUNNEL_ENABLED=false Set to true to have the inter-node communication within the Elasticsearch cluster encrypted using stunnel.

    If you want to encrypt all communication with and within the Elasticsearch cluster, set this property to false and STUNNEL_HTTPS_ENABLED=false to true.

    COUNTRY_ABBR=US Used for x509 certificate generation.
    STATE_PROVINCE=Texas Used for x509 certificate generation.
    ES_USER=elasticsearch Do not modify.
    ADMIN_USER=builder Do not modify.
    CITY=Austin Used for x509 certificate generation.
    COMPANY_NAME=IBM Used for x509 certificate generation.
    DEPT_NAME=StoredIQ Used for x509 certificate generation.
    CONTACT_EMAIL=storediqsupport@us.ibm.com Used for x509 certificate generation.
    EXPIRATION_DAY=3650 Used for x509 certificate generation.
    LUKS=true Do not modify.
    SEARCHGUARD_ENABLED=false As of IBM StoredIQ 7.6.0.20, using Search Guard to secure all communication with and within the Elasticsearch node is no longer supported. This property is ignored; you do not have to remove it.
    STUNNEL_HTTPS_ENABLED=false Set to true to secure all communication with and within the Elasticsearch cluster by using stunnel encryption.

    For more information about the additional configuration steps, see Securing Elasticsearch cluster communication.

    ACTIVE_ML_PREDICTION_CONTAINER_DISABLED=False You can set this property to true to free resources if you don't want to use machine learning models for tagging.
  8. Run the cluster setup with the properties file that you created.
    At the prompt [builder@localhost ~]$, enter:
    /siq/bin/cluster-setup.sh cluster-setup.properties

    The setup script generates properties/configs for each node and runs the setup against each node by using SSH.

  9. Accept the server certificate and enter the password for each node when prompted.
    After the script is executed successfully, the setup of the Elasticsearch cluster is complete.

    Data is stored in the /siq/var/data/elasticsearch directory. Log files are written to the /siq/var/log/elasticsearch directory.

  10. Test the setup by using these commands:
    curl -X GET 'http://primary_es_node_ip:9200'
    curl -X GET 'http://primary_es_node_ip:9200/_cluster/health?pretty=true'
    curl -X GET 'http://primary_es_node_ip:9200/_cluster/state?pretty'

What to do next

Configure the other IBM StoredIQ components: gateway, data server, and application stack.