Install Exasol

This section explains how to install Exasol 8 software on Linux hosts using Exasol Deployment Tool (c4).

You can run the installation process from a separate Linux system (jump host) or using one of the database host systems. In both cases the host running the installation requires SSH access to the other hosts.

If you install Exasol 8 on a single host without using a jump host, SSH is not required for the installation. For more information, see Install Exasol 8 (single host).

Prerequisites

Host systems

  • The database host systems must be pre-installed with one of the recommended Linux distributions and must fulfill all system requirements for Exasol installation. For more information, see System Requirements.
  • The host running the installation must have rsync, ssh, uuidgen, and either wget or curl installed.

  • The host running the installation must have SSH access to the other hosts using key-based authentication. For more information, see Configure SSH Authentication.

    The username and keyfile name for SSH access must be specified in the c4 configuration file before you start the installation procedure. For more information, see Step 2: Configuration.

  • Internet connectivity from the database hosts is not required.
  • Internet connectivity from the jump host is optional but recommended.

Installation user

  • A dedicated user for the Exasol software installation must exist on the database hosts.

  • The user must have sudo privileges.

  • The user must have a system shell that allows access over SSH.

  • The user must have a home directory with sufficient disk space for the installation (≥20 GiB).

  • The username can be any name allowed by the operating system. In the following examples, the user has the username exasol.

Disk configuration

The Exasol software will be installed in the home directory of the installation user on each node. For example, if the username is exasol, Exasol will be installed under /home/exasol/. Make sure that the home directory of the user has sufficient space for the installation (≥20 GiB).

For the data volumes, a separate block device or multiple block devices must be configured before starting the installation. For more information about the requirements and sizing recommendations for storage devices, see System Requirements and Sizing Considerations.

Step 1: Download c4

Exasol Deployment Tool (c4) is a command-line application that is used to install Exasol on either a single node or multiple nodes in a network. The c4 application can run either on a separate system (jump host) or on one of the database hosts.

Database and c4 version dependency

The version of c4 used for installation must be compatible with the Exasol database version that you are installing. The following table describes the version of c4 required to install a specific Exasol database version:

Exasol database version

Required c4 version

8.24.0

4.13.0

8.23.4

0.4.12

8.22.0 0.4.11
8.21.0 0.4.11
8.20.0 0.4.10
8.18.1 0.4.10
8.18.0 0.4.10

Install c4 with internet access

If the host used to run the installation is connected to the internet:

  • Download c4 to the host that will be used to run the installation. For more information, see Install c4.

  • The Exasol 8 installation package will be downloaded by c4 during the installation process.

Install c4 without internet access

If the host used to run the installation is not connected to the internet, use another system that has an internet connection to do the following:

  1. Download c4 from the Exasol Download Portal or using the command line. For more information, see Install c4.

  2. Download the latest version of Exasol 8 from the Exasol Download Portal.

  3. Copy c4 and the Exasol 8 installation package to the same directory on the host used to run the installation.

If you download c4 from the Download Portal you must use chmod +x c4 to make c4 executable for all users, otherwise the application will not be able to run the installation. For more information, see Install c4.

Step 2: Configuration

On the host used to run the installation, create a file with the filename config in the same directory as the c4 binary. The configuration file should define the following parameters:

Configuration parameter Description Default value
CCC_HOST_ADDRS

The IP addresses of the database hosts, separated by spaces.

The number of addresses in this parameter effectively determines the number of nodes that will be installed.

[empty]
CCC_HOST_EXTERNAL_ADDRS

The public IP addresses of the database hosts, separated by spaces.

This parameter is optional and only required if you do not have routing to the internal IP addresses specified in CCC_HOST_ADDRS.

[empty]
CCC_HOST_DATADISK

Comma-separated list of block devices to be used for the data volume. If not specified, limited file-based storage is used.

The devices used should have persistent block device names. Exasol recommends using volume management with LVM2. See also System Requirements.

[empty]
CCC_HOST_IMAGE_USER Username that will be used to log in to the SSH instances. The user must have sudo privileges on the instances. [empty]
CCC_HOST_IMAGE_PASSWORD

Password for the user if required for sudo. The password is passed in plaintext to the instances.

[empty]
CCC_HOST_KEY_PAIR_FILE Name of the file that contains the private SSH key required to access host instances. [empty]
CCC_PLAY_WORKING_COPY

Specifies the Exasol package to install, using the format @exasol-<version>.

For example: @exasol-8.22.0

[empty]
CCC_PLAY_DB_PASSWORD Password for Exasol database authentication (user: sys). aX1234567

Example:

CCC_HOST_ADDRS="10.0.0.11 10.0.0.12 10.0.0.13"
CCC_HOST_EXTERNAL_ADDRS="198.51.100.11 198.51.100.12 198.51.100.13"
CCC_HOST_DATADISK=/dev/mapper/exasol_disk_1,/dev/mapper/exasol_disk_2
CCC_HOST_IMAGE_USER=exasol
CCC_HOST_IMAGE_PASSWORD=exasol123
CCC_HOST_KEY_PAIR_FILE=id_rsa
CCC_PLAY_WORKING_COPY=@exasol-8.23.4
CCC_PLAY_DB_PASSWORD=exasol456

Always replace the default passwords by setting unique, secure passwords in your configuration file. Never use the passwords that are used in the examples in the documentation.

Step 3: Installation

  1. To start the installation, run:

    ./c4 host play -i config

    The -i option tells c4 to use a specific configuration file. By default, c4 reads the configuration from the configuration file ./config in the current directory. If the configuration is stored in another file, specify its location as an argument on the command line:

    ./c4 host play -i /path_to_config_file/myconfig
  2. If the configuration is valid, c4 will show the parameter values that will be used and ask you to either proceed with this configuration or cancel the installation.

    |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||

      Exasol installation procedure is about to be started.
      During this procedure, Exasol software will be installed to remote hosts.
      It will take some time (several minutes).
      The installation is finished when every node reaches stage 'd' (see 'c4 ps').
      After the installation is finished, you can connect to the Database or COS.

      During the installation, you can login to the hosts via SSH,
      and watch the process using:

        sudo journalctl -f

      After the installation finished, you can connect to COS using:

        ssh -p 20002 root@$IP

      IP addresses of the systems:

        * 198.51.100.11
        * 198.51.100.12
        * 198.51.100.13

      Exasol version: 8.23.4
      Exasol package: @exasol-8.23.4
      SSH username  : exasol
      SSH keyfile   : id_rsa
      User password : exasol123
      Data disk(s)  : /dev/mapper/exasol_disk_1,/dev/mapper/exasol_disk_2

      Press ENTER to proceed or Ctrl-C to cancel the installation procedure.

    |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
  3. Press Enter to start the installation.

    • If the necessary installation packages are present in the current directory they will be used for the installation. In this case no internet connection is required.
    • If the installation packages are not found in the current directory and the host used to run the installation is connected to the internet, c4 will automatically download the necessary packages from the Exasol download portal.
    • If no installation packages are found and c4 is not able to connect to the Exasol download portal, the installation will fail.

    If the packages are available, the installation process will start. The installation requires no user intervention and can be run unattended. It comprises the following steps:

    • Copying Exasol packages to the hosts
    • Initial OS preparation
    • Verifying OS configuration
    • Configuring OS on the hosts
    • Extracting packages
    • Installing c4 on the hosts
    • Syncing time between hosts
    • Triggering remote installation finalization

    The installation will typically require 20 to 90 minutes to complete, depending on the number of hosts and the location of the installation files. This however depends on many factors, and the installation may take longer.

  4. When the installation has finished, a confirmation message is shown:

    |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||

      The final steps of the Exasol installation procedure were successfully
      started on remote hosts now.
      It will take yet some time to complete (several minutes).
      After the installation is finished, you can connect to the Database or COS.

      During the installation, you can login to the hosts via SSH,
      and watch the process using:

        sudo journalctl -f

      After the installation finished, you can connect to COS using:

        ssh -p 20002 root@$IP

      IP addresses of the systems:

        * 198.51.100.11
        * 198.51.100.12
        * 198.51.100.13

      Exasol version: 8.23.4
      Exasol package: @exasol-8.23.4

      Happy Exasolling!

    |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||

Step 4: Validation

When the installation has completed, the nodes can be accessed via SSH and the database can be accessed using a SQL client.

$ ssh -p 20002 root@198.51.100.11
The authenticity of host '[198.51.100.11]:20002 ([198.51.100.11]:20002)' can't be established.
RSA key fingerprint is SHA256:<fingerprint>.
This key is not known by any other names
Are you sure you want to continue connecting (yes/no/[fingerprint])? yes
Warning: Permanently added '[198.51.100.11]:20002' (RSA) to the list of known hosts.
[root@n11 ~]# cosps
ROOT NODE SUMMARY:
------------------
3 online nodes
0 offline nodes

ID      OWNER   GROUP   PARENT  FLAGS   ONLINE NODES    COMMAND
14          0       0        0   R--I           3/3     sshd
15          0       0        0   RA-I           3/3     crond
16          0       0        0   RA-I           3/3     logd
17          0       0        0   RA-I           3/3     lockd
25        500     500        0   RAEI           3/3     bucketfsd-bfsdefault
26          0       0        0   RA-I           3/3     healthd
27          0       0        0   RA-I           3/3     dwad
29          0       0        0   RA-I           3/3     cos_storage
30          0       0        0   RA-I           3/3     confd
31          0       0        0   RANI           3/3     db-restapi
34        500     500       27   --EK           3/3     controller-Exasol
35        500     500       34   --NI           3/3     pddserver-Exasol
36        500     500       34   --NI           3/3     objectserver-Exasol
38        500     500       34   --NI           3/3     exasqllog-Exasol
39        500     500       34   --NI           3/3     loaderd-Exasol
40        500     500       34   --NI           3/3     exacs-Exasol
41        500     500       34   --NI           3/3     exaetl-1024-Exasol
42        500     500       34   --NI           3/3     exasql-7-Exasol
[root@n11 ~]#

Errors

If an error occurs during the installation process it will be automatically interrupted and the installation will be rolled back. The last INFO message on the screen will provide information about the error. For example:

INFO[2023-09-02 09:22:44]: Extracting packages...
cp: cannot create regular file '/var/lib/ccc/bin/': No such file or directory

In this example, an error happened during the packages extraction step. When you have located and resolved the error, run the installation script again.

If you require assistance with the installation, create a support case.

Next Steps