Install ThoughtSpot clusters in GCP

Learn how to install ThoughtSpot clusters in GCP.


ThoughtSpot Training

  • For best results with GCP cluster installation, we recommend the following ThoughtSpot U course: Create a Cluster.

  • See other training resources at ThoughtSpot U.


Prerequisites

Before you can install your ThoughtSpot clusters in GCP, complete these prerequisites:

1. Review GCP configuration options for detailed instance specs.

2. Set up ThoughtSpot in GCP to create and launch your instance.

3. Review Network ports to view the required ports for successful operation of ThoughtSpot.

4. Configure ThoughtSpot nodes in GCP to configure your nodes.

Install ThoughtSpot software

Install the cluster using the ThoughtSpot software release bundle. The estimated installation time is one hour.

Follow the steps in this checklist:

Step 1: Run the installer

Step 2: Check cluster health

Step 3: Finalize installation

Refer to your welcome letter from ThoughtSpot to find the link to download the release bundle. If you do not have a link, open a support ticket with ThoughtSpot Support to request access to the release bundle.

Step 1: Run the installer

  1. Copy the downloaded release bundle to /export/sdc1/TS_TASKS/install using the following command:

    $ scp <release-number>.tar.gz admin@<hostname>:/export/sdc1/TS_TASKS/install/<file-name>

    Note the following parameters of the scp command:

    release-number

    is the release number of your ThoughtSpot instance, such as 5.3, 6.0, and so on.

    hostname

    is your specific hostname.

    file-name

    is the name of the tarball file on your local computer.

    You can use another secure copy method, if you prefer a method other than the scp command.
  2. Alternatively, use tscli fileserver download-release to download the release bundle.

    You must configure the fileserver by running tscli fileserver configure before you can download the release.

     $ tscli fileserver download-release <release-number> --user <username> --out <release-location>

    Note the following parameters of this command:

    release-number

    is the release number of your ThoughtSpot instance, such as 5.3, 5.3.1, 6.0, and so on.

    username

    is the username for the fileserver that you set up earlier, when configuring the fileserver.

    release-location

    is the location path of the release bundle on your local machine. For example, /export/sdc1/TS_TASKS/install/6.0.tar.gz.

  3. Verify the checksum to ensure you have the correct release.

    Run md5sum -c <release-number>.tar.gz.MD5checksum.

    $ md5sum -c <release-number>.tar.gz.MD5checksum

    Your output says ok if you have the correct release.

  4. Launch a screen session. Use screen to ensure that your installation does not stop if you lose network connectivity.

    $ screen -S DEPLOYMENT
  5. Take a machine snapshot prior to the release deployment, as a best practice.

  6. Create the cluster.

    Run tscli cluster create to create the cluster.

    If you are using a gcs bucket for object storage, include the flag --enable_cloud_storage=gcs.

    $ tscli cluster create <release-number>.tar.gz --enable_cloud_storage=gcs
  7. Edit the output with your specific cluster information.

    For more information on this process, refer to Using the tscli cluster create command and Parameters of the cluster create command.

  8. The cluster installer automatically reboots all the nodes after a successful install. At this time, the system is rebooting, which may take approximately 15 minutes.

    Log in to any node to check the current cluster status:

    $ tscli cluster status

Step 2: Check cluster health

After the cluster installs, check its status using the tscli cluster status command.

Your output may look similar to the following listing:

$ tscli cluster status
Cluster: RUNNING
Cluster name    : thoughtspot
Cluster id      : 1234X11111
Number of nodes : 3
Release         : 6.0
Last update     = Wed Oct 16 02:24:18 2019
Heterogeneous Cluster : False
Storage Type    : HDFS

Database: READY
Number of tables in READY state: 2185
Number of tables in OFFLINE state: 0
Number of tables in INPROGRESS state: 0
Number of tables in STALE state: 0
Number of tables in ERROR state: 0

Search Engine: READY
Has pending tables. Pending time = 1601679ms
Number of tables in KNOWN_TABLES state: 1934
Number of tables in READY state: 1928
Number of tables in WILL_REMOVE state: 0
Number of tables in BUILDING_AND_NOT_SERVING state: 0
Number of tables in BUILDING_AND_SERVING state: 128
Number of tables in WILL_NOT_INDEX state: 0

Ensure that the cluster is RUNNING and that the Database and Search Engine are READY.

Your output may look something like the following listing. Ensure that all diagnostics show SUCCESS.

 $ tscli cluster check
 Connecting to hosts...
 [Wed Jan  8 23:15:47 2020] START Diagnosing ssh
 [Wed Jan  8 23:15:47 2020] SUCCESS
 ################################################################################
 [Wed Jan  8 23:15:47 2020] START Diagnosing connection
 [Wed Jan  8 23:15:47 2020] SUCCESS
 ################################################################################
 [Wed Jan  8 23:15:47 2020] START Diagnosing zookeeper
 [Wed Jan  8 23:15:47 2020] SUCCESS
 ################################################################################
 [Wed Jan  8 23:15:47 2020] START Diagnosing sage
 [Wed Jan  8 23:15:48 2020] SUCCESS
 ################################################################################
 [Wed Jan  8 23:15:48 2020] START Diagnosing timezone
 [Wed Jan  8 23:15:48 2020] SUCCESS
 ################################################################################
 [Wed Jan  8 23:15:48 2020] START Diagnosing disk
 [Wed Jan  8 23:15:48 2020] SUCCESS
 ################################################################################
 [Wed Jan  8 23:15:48 2020] START Diagnosing cassandra
 [Wed Jan  8 23:15:48 2020] SUCCESS
 ################################################################################
 [Wed Jan  8 23:15:48 2020] START Diagnosing hdfs
 [Wed Jan  8 23:16:02 2020] SUCCESS
 ################################################################################
 [Wed Jan  8 23:16:02 2020] START Diagnosing orion-oreo
 [Wed Jan  8 23:16:02 2020] SUCCESS
 ################################################################################
 [Wed Jan  8 23:16:02 2020] START Diagnosing memcheck
 [Wed Jan  8 23:16:02 2020] SUCCESS
 ################################################################################
 [Wed Jan  8 23:16:02 2020] START Diagnosing ntp
 [Wed Jan  8 23:16:08 2020] SUCCESS
 ################################################################################
 [Wed Jan  8 23:16:08 2020] START Diagnosing trace_vault
 [Wed Jan  8 23:16:09 2020] SUCCESS
 ################################################################################
 [Wed Jan  8 23:16:09 2020] START Diagnosing postgres
 [Wed Jan  8 23:16:11 2020] SUCCESS
 ################################################################################
 [Wed Jan  8 23:16:11 2020] START Diagnosing disk-health
 [Wed Jan  8 23:16:11 2020] SUCCESS
 ################################################################################
 [Wed Jan  8 23:16:11 2020] START Diagnosing falcon
 [Wed Jan  8 23:16:12 2020] SUCCESS
 ################################################################################
 [Wed Jan  8 23:16:12 2020] START Diagnosing orion-cgroups
 [Wed Jan  8 23:16:12 2020] SUCCESS
 ################################################################################
 [Wed Jan  8 23:16:12 2020] START Diagnosing callosum
 /usr/lib/python2.7/site-packages/urllib3/connectionpool.py:852: InsecureRequestWarning: Unverified HTTPS request is being made. Adding certificate verification is strongly advised. See: https://urllib3.readthedocs.io/en/latest/advanced-usage.html#ssl-warnings
   InsecureRequestWarning)
 [Wed Jan  8 23:16:12 2020] SUCCESS
 ################################################################################
If tscli cluster check returns an error, it may suggest you run tscli storage gc to resolve the issue. If you run tscli storage gc, note that it restarts your cluster.

Step 3: Finalize installation

After the cluster status changes to READY, sign in to ThoughtSpot on your browser. Follow these steps:

  1. Start a browser from your computer.

  2. Enter your secure IP information on the address line.

    https://<IP-address>
  3. If you don’t have a security certificate for ThoughtSpot, you must bypass the security warning:

    Click Advanced.

    Click Proceed.

  4. The ThoughtSpot sign-in page appears.

  5. In the ThoughtSpot sign-in window, enter admin credentials, and click Sign in.

    ThoughtSpot recommends changing the default admin password.

    ThoughtSpot’s sign-in window

Lean configuration

For use with thin provisioning only: If you have a small or medium instance type, with less than 100GB of data, you must use advanced lean configuration before loading any data into ThoughtSpot. After installing the cluster, configure advanced lean mode.

To configure advanced lean mode, do the following:

  1. SSH as admin into your ThoughtSpot cluster, using the following syntax:

    ssh admin@<cluster-ip-address or hostname>
  2. Run the advanced lean mode configuration using the following syntax:

    tscli config-mode lean [-h] --type {small,medium,default}

    Examples:

    Configure the instance for "small" data size
    tscli config-mode lean [-h] --type small
    Configure the instance for "medium" data size
    tscli config-mode lean [-h] --type medium
    If you decide later you want to disable advanced lean mode, use default.