Configure ThoughtSpot nodes in AWS
Prepare to install your ThoughtSpot cluster by configuring nodes.
ThoughtSpot Training
For best results when configuring ThoughtSpot nodes on AWS, we recommend that you take the following ThoughtSpot U course: Network Configuration.
See other training resources at ThoughtSpot U.
Before you can install a ThoughtSpot cluster in AWS, you must configure your nodes.
Installation prerequisites
Ensure the successful creation of the virtual machines (VMs) before you install the ThoughtSpot cluster in AWS:
❏ |
1. Review AWS configuration options for detailed instance specs. |
❏ |
2. Set up AWS for ThoughtSpot to create and launch your instance. |
❏ |
3. Review Network ports documentation 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
Log in to your cluster with admin credentials from Terminal on a Mac or a terminal emulator on Windows. Ask your network administrator if you don’t know the admin credentials.
-
Run
ssh admin@<nodeIP>
.Replace
nodeIP
with your specific network information.$ ssh admin@<nodeIP>
-
Enter your admin password at the prompt.
Ask your network administrator if you don’t know the password.
The password doesn’t appear on the screen as you type it. |
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
DNS server and IP address values must be set in the cloud backend. It then populates them into the VM configuration. If you specify different values during this step, it can create a temporary mismatch and lead to connectivity issues. |
-
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
Some of the information in the nodes.config
file may be pre-populated from earlier steps. For example, if you specified an IP address while creating VMs, that IP address might already be present in yournodes.config
file. -
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. -
Update the file
/etc/hosts
with all the node IP addresses and hostnames for the other VMs that will be part of the ThoughtSpot cluster.
Step 4: Configure the nodes
Configure the nodes in the nodes.config
file using the set-config
command.
-
Disable the
firewalld
service by runningsudo systemctl stop firewalld
in your terminal. Thefirewalld
service is a Linux firewall that must be off for ThoughtSpot installation.$ sudo systemctl stop firewalld
-
To make sure you disabled
firewalld
, runsudo systemctl status firewalld
. Your output should specify thatfirewalld
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)
-
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"
}
}
}
}
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 command:
$ 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.
Related information
Contact ThoughtSpot Support.