Prerequisites for deploying ThoughtSpot on your own OS

Prepare the system and ThoughtSpot clusters for installation.

If your organization requires that privilege escalation take place through an external tool that integrates with ansible, refer to Manage cluster operations on ansible for clusters that use RHEL.

These are the prerequisites for installing ThoughtSpot on Amazon Linux 2 (AL2), RedHat Enterprise Linux (RHEL), or Oracle Enterprise Linux (OEL):

1. Review the required network ports

2. Set up hosts for the ThoughtSpot cluster

3. (Optional) Set up AWS Systems Manager Agent

4. Partition the hosts

5. Ensure tmp has permission 777 or 1777

6. Ensure that you are using Linux cgroupsV1

7. Ensure /proc mount point flags are compatible

8. Remove Defaults requiretty from /etc/sudoers

(RHEL 8 only) 9. Remove the selinux policy for rsync

10. Enable the hosts to download required packages

(Optional) Enable an Ansible Control Server

ThoughtSpot recommends using private subnets for communication. Wherever there is a need to connect to the public internet, you should do it through a NAT gateway.

Review the required network ports

Review the required network ports for operation of ThoughtSpot, and ensure that all required ports are open and available.

Set up hosts for the ThoughtSpot cluster

Set up hosts for the ThoughtSpot cluster on your chosen platform. Please refer to the relevant deployment sections in our documentation for the exact specification for the hosts (CPU, memory, and disks), and for instructions on setting up the hosts.

On RHEL version 7.8, ensure that your linux kernel version is 3.10.0-1127.19.1 or higher. On all other supported RHEL versions, use the default linux kernel. On OEL version 7.9, ensure that you are using the Red Hat Compatible Kernel (RHCK), not the default Unbreakable Enterprise Kernel (UEK). If you are using the UEK, contact ThoughtSpot Support to switch to the RHCK.

For RHEL deployments on online clusters, the ansible playbook upgrades the OS to the latest supported version of RHEL. The ansible playbook does not upgrade the OS when installing offline.

Linux kernel version

For RHEL version 7.8, your Linux kernel must be on version 3.10.0-1127.19.1 or higher. RHEL 7.8 used to come with a Linux kernel of version 3.10.x, which has a bug that causes nodes to reboot unexpectedly. The default Linux kernel version for RHEL 7.8 is now 3.10.0-1127.19.1. However, you may have an older RHEL 7.8, with a Linux kernel of version 3.10.x. You must upgrade to 3.10.0-1127.19.1 or higher. If you have trouble upgrading your Linux kernel to version 3.10.0-1127.19.1 or higher, contact ThoughtSpot Support. This is a requirement for all platforms: hardware appliance, cloud, and VMware.

If you are using any other supported RHEL version, use the default Linux kernel.

On OEL version 7.9, ensure that you are using the Red Hat Compatible Kernel (RHCK), not the default Unbreakable Enterprise Kernel (UEK). If you are using the UEK, contact ThoughtSpot Support to switch to the RHCK.

If you are running RHEL 7.8, and your Linux kernel version is not 3.10.0-1127.19.1 or higher, you may run into unexpected node reboots and possible loss of data.

[Optional] Set up AWS Systems Manager Agent

If you plan to use the AWS SSM agent as an alternative to SSH, create a new IAM role while creating VMs. This IAM role must have an SSM policy to grant AWS SSM permission to perform actions on your instances. Refer to Create an IAM instance profile for Systems Manager.

The AWS SSM agent option is available only for AL2 or RHEL or OEL on AWS.

You must install the SSM agent on each node. Refer to Manually install SSM Agent on EC2 instances for Linux, if the SSM agent is not already on each node.

Partition the hosts

Ensure that all ThoughtSpot hosts meet the following partition and sizing requirements. All drives must be SSDs.

Do not partition the data drives. ThoughtSpot partitions the data drives during installation. For information about data drive specifications, refer to the intro articles for each platform linked in the set up hosts section of this article.

Path Required free space

/

20 GB. This is the root drive.

/tmp

20 GB

/export

200 GB, on a separate filesystem. This must also be separate from the data drives.

For ThoughtSpot-certified hardware platforms, Dell and Super Micro Computer, you must use a secondary drive rather than a partition, because the root drive has a limit of 200 GB. This drive must be separate from the data drive(s).

Ensure tmp has permission 777 or 1777

The /tmp directory must have either the 777 or 1777 permission. 1777 is the 777 permission but with the sticky bit set. If you mount the /tmp directory as a separate partition, it must NOT have the noexec flag set.

Ensure that you are using Linux cgroupsV1

You must use Linux control groups v1 (cgroupsV1). cgroupsV1 is the default on both RHEL 7 and RHEL 8. ThoughtSpot does not support use of Linux control groups v2 (cgroupsV2).

Ensure /proc mount point flags are compatible

You cannot mount the /proc mount point with the hidepid flag. You must mount it without that flag.

Remove Defaults requiretty from /etc/sudoers

The /etc/sudoers file must not have the Defaults requiretty line. This line can cause cluster creation to fail.

[RHEL 8 only] Remove the selinux policy for rsync

Remove the selinux policy for rsync on each node. This is only necessary if you are using RHEL 8.1 - 8.8. You do not need to do this step if you are using RHEL 7.9 or 7.9, OEL 7.9, or AL2.

Run the following command on each ThoughtSpot node:

semanage permissive -a rsync_t

Enable the hosts to download required packages

This step is not required if you are installing ThoughtSpot in offline clusters.

If you are installing ThoughtSpot in online clusters, make sure that you can download the required packages to all hosts, either from the official package repositories, or from a mirror repository owned and managed by your organization.

If you cannot access the required repositories, there is no mirror repository in your organization, or you are unable to access Yum, Python, or R repositories, contact ThoughtSpot Support.

Yum repositories for RHEL 7

You must enable the following Yum repositories in your cluster:
epel, pgdg11, rhel, rhel-optional, rhel-extras.

Yum repositories for RHEL 8

You must enable the following Yum repositories in your cluster:
epel, pgdg11, baseos, codeready, appstream.

Yum repositories for OEL

You must enable the following Yum repositories in your cluster:
epel, pgdg11, ol7_optional_latest, oracle-linux-ol7.

Yum repositories for AL2

You must enable the following Yum repositories in your cluster:
epel, google-cloud-sdk, and pgdg11.

Python repository

For Python, ensure the machine is able to reach the PyPI repository located at https://pypi.python.org/.

R repository

For R, ensure the machine is able to reach the CRAN repository located at https://cran.rstudio.com/.

Official package repositories

If the hosts of your ThoughtSpot cluster can access external repositories, either directly or through a proxy, your cluster is online. You can then proceed to download Yum, Python, and R package repositories.

Internal mirror repository

If the hosts of your ThoughtSpot cluster have access to an internal repository that mirrors the public repositories, copy the Yum, Python, and R package repositories to your hosts.

[Optional] Enable an Ansible Control Server

Optionally configure an Ansible Control Server, on a separate host, to run the ansible playbook that ThoughtSpot supplies. You must install both rsync and ansible on the Ansible Control Server host.


Was this page helpful?