Starburst Admin installation guide #

After preparing the control machine and the cluster you can proceed with the installation using the following steps:

Define the inventory #

Before using the playbooks, you need to edit the Ansible inventory file, hosts, to define where to install the software:

  1. Copy the playbooks/hosts.example inventory file to playbooks, name it hosts and set the hostname for your coordinator and your worker(s).
  2. Specify the IP address of the single coordinator host and one or more worker hosts.
  3. Set the username for Ansible to connect to the host with SSH with ansible_user for each host.
  4. Set the password value with ansible_password or use a path to a private key using ansible_ssh_private_key_file.

The following snippet shows a simple example with one coordinator and two workers:

[coordinator]
172.28.0.2 ansible_user=root ansible_password=changeme

[worker]
172.28.0.3 ansible_user=root ansible_password=changeme
172.28.0.4 ansible_user=root ansible_password=changeme

Run the Ansible ping command to validate connectivity to the hosts:

$ ansible all -m ping -i playbooks/hosts
172.28.0.4 | SUCCESS => {
    "ansible_facts": {
        "discovered_interpreter_python": "/usr/bin/python"
    },
    "changed": false,
    "ping": "pong"
}
172.28.0.2 | SUCCESS => {
    "ansible_facts": {
        "discovered_interpreter_python": "/usr/bin/python"
    },
    "changed": false,
    "ping": "pong"
}
172.28.0.3 | SUCCESS => {
    "ansible_facts": {
        "discovered_interpreter_python": "/usr/bin/python"
    },
    "changed": false,
    "ping": "pong"
}

Download Starburst Enterprise #

Decide if you want to use the RPM or tarball installation. RPM requires sudo access and installs files in specific folders. When using the tarball, custom folders can be specified, and they don’t have to be owned by root.

Download the binary archive and place it in the files directory.

Alternatively, configure the installer_url in files/vars.yml to point to a URL that is available from all your cluster nodes to download the package directly.

Reference the documentation about the install playbook to learn more about all the relevant configuration steps and options.

Create minimal configuration #

The default configuration is managed in separate configuration files in files as well as variables defined in in playbooks/vars.yml. It is suitable to get started after the following adjustments:

  • Update the version value in vars.yml to the version of downloaded binary file.
  • Set the environement value in vars.yml to the desired cluster name.
  • Update the Java heap space memory configuration -Xmx16G in files/coordinator/jvm.config.j2 and files/coordinator/jvm.config.j2 to about 80% of the total available memory on each host.
  • Remove the query.* properties in files/coordinator/config.properties.j2 and files/worker/config.properties.j2 if you are using Starburst Admin 1.0.0. Newer version do not included these properties. Starburst Admin calculates optimal values automatically.

The default setup includes a tpch catalog, that you can use to test queries and ensure the cluster is operational.

If you are using the tarball, you can edit the target installation paths.

Proceed with this simple configuration until you have verified that the cluster can be started and used, and then follow up with more configuration and changes.

Reference the documentation about the push-configs playbook to learn more about all the relevant configuration steps and options.

The operation guides include numerous tips and tricks for these next steps for your deployment.

Run installation and start the cluster #

You are finally ready to get Starburst Enterprise installed on all cluster nodes. The following steps copy the package to all cluster nodes and install it. Ansible creates the necessary configuration files from files and the defined variables to the nodes, and starts the application on all of them:

ansible-playbook playbooks/install.yml
ansible-playbook playbooks/push-configs.yml
ansible-playbook playbooks/start.yml

Accessing the Web UI #

A first step to validate the cluster is to log in to the Web UI:

  • Navigate to port 8080 on the coordinator host with the IP address or the configured fully qualified domain name.
  • Login with any username.
  • Verify the displayed number of workers equals the number of workers in the hosts file.

Connecting with clients #

You can use the CLI or any other client to connect to the cluster and verify that the tpch catalog is available.

Next steps #

After the successful installation and first initial tests, you can proceed to read about all the available playbooks and learn about updating and operating the cluster.