Prepare to install your ThoughtSpot cluster by configuring nodes.

Before you can install a ThoughtSpot cluster in Azure, you must configure your nodes.

Installation Prerequisites

Ensure the successful creation of the virtual machines (VMs) before you install the ThoughtSpot cluster in Azure.

  1. Review configuration options Refer to Azure configuration options for detailed instance specs.
  2. Create the instance Refer to Set up Azure for ThoughtSpot to create and launch your instance.
  3. Review required ports Refer to Network Policies to view the required ports for successful operation of ThoughtSpot.

Configure Nodes

After creating the instance, you must configure the nodes. Follow the steps in this checklist.

Step 1: Log in to your cluster
Step 2: Get a template for network configuration
Step 3: Prepare node configuration
Step 4: Configure the nodes
Step 5: Confirm node configuration

Step 1: Log in to your cluster

Use Terminal on a Mac or a terminal emulator on Windows to log in to your cluster. Log in using the ssh private key provided by ThoughtSpot.
If you do not have a private key, contact ThoughtSpot Support by email or through the support portal.

To log in to your cluster, run ssh -i <private-key> [email protected]<public-vm-ip>.

    $ ssh -i <private_key> [email protected]<public-vm-ip>

Step 2: Get a template for network configuration

Run the tscli cluster get-config command to get a template for network configuration for the new cluster. Redirect it to the file nodes.config.
You can find more information on this process in the nodes.config file reference.

$ tscli cluster get-config |& tee nodes.config

Step 3: Prepare node configuration

  1. Add your specific network information for the nodes in the nodes.config file, as demonstrated in the autodiscovery of one node example. Run vim nodes.config to edit the file.
     $ vim nodes.config
    
  2. Fill in the areas specified in Parameters of the nodes.config file with your specific network information.
    If you have additional nodes, complete each node within the nodes.config file in the same way.

Do not edit any part of the nodes.config file except the sections described in Parameters of the nodes.config file. If you delete quotation marks, commas, or other parts of the code, it may cause setup to fail.

Step 4: Configure the nodes

Configure the nodes in the nodes.config file using the set-config command.

  1. Disable the firewalld service by running sudo systemctl stop firewalld in your terminal. The firewalld service is a Linux firewall that must be off for ThoughtSpot installation. After the cluster installer reboots the nodes, firewalld automatically turns back on.
     $ sudo systemctl stop firewalld
    
  2. To make sure you temporarily disabled firewalld, run sudo systemctl status firewalld. Your output should specify that firewalld is inactive. It may look something like the following:
     $ sudo systemctl status firewalld
       ● firewalld.service - firewalld - dynamic firewall daemon
         Loaded: loaded (/usr/lib/systemd/system/firewalld.service; disabled; vendor preset: enabled)
         Active: inactive (dead)
    
  3. Run the configuration command: $ cat nodes.config | tscli cluster set-config.
    If the command returns an error, refer to set-config error recovery.
    After you run the node configuration command, your output appears similar to the following:

     $ cat nodes.config | tscli cluster set-config
    
     Connecting to local node-scout
     Setting up hostnames for all nodes
     Setting up networking interfaces on all nodes
     Setting up hosts file on all nodes
     Setting up NTP Servers
     Setting up Timezone
     Done setting up ThoughtSpot
    

Step 5: Confirm node configuration

Use the get-config command to confirm node configuration.
Your output may look similar to the following:

$ tscli cluster get-config

{
  "ClusterId": "",
  "ClusterName": "",
  "DataNetmask": "255.255.252.0",
  "DataGateway": "192.168.4.1",
  "IPMINetmask": "255.255.252.0",
  "IPMIGateway": "192.168.4.1",
  "Timezone": "America/Los_Angeles",
  "NTPServers": "0.centos.pool.ntp.org,1.centos.pool.ntp.org,2.centos.pool.ntp.org,3.centos.pool.ntp.org",
  "DNS": "192.168.2.200,8.8.8.8",
  "SearchDomains": "example.company.com",
  "Nodes": {
	"ac:1f:6b:8a:77:f6": {
  	"NodeId": "ac:1f:6b:8a:77:f6",
  	"Hostname": "Thoughtspot-server1",
  	"DataIface": {
    	"Name": "eth2",
    	"IPv4": "192.168.7.70"
  	},
  	"IPMI": {
    	"IPv4": "192.168.5.70"
  	}
	}
  }
}

Install ThoughtSpot software

Next, install your ThoughtSpot clusters.

Error recovery

Set-config error recovery

If you get a warning about node detection when you run the set-config command, restart the node-scout service.

Your error may look something like the following:

Connecting to local node-scout WARNING: Detected 0 nodes, but found configuration for
only 1 nodes.
Continuing anyway. Error in cluster config validation: [] is not a valid link-local
IPv6 address for node: 0e:86:e2:23:8f:76 Configuration failed.
Please retry or contact support.

Restart the node-scout service with the following set of commands.

$ sudo vim /etc/systemd/system/node-scout.service
$ sudo systemctl daemon-reload
$ sudo systemctl restart node-scout

Ensure that you restarted the node-scout by running sudo systemctl status node-scout. Your output should specify that the node-scout service is active. It may look something like the following:

$ sudo systemctl status node-scout
  ● node-scout.service - Setup Node Scout service
    Loaded: loaded (/etc/systemd/system/node-scout.service; enabled; vendor preset: disabled)
    Active: active (running) since Fri 2019-12-06 13:56:29 PST; 4s ago

Next, retry the set-config command.

$ cat nodes.config | tscli cluster set-config

The command output should no longer have a warning.

Use these references for successful installation and administration of ThoughtSpot.