Install Exasol on Hardware
This section describes how to install Exasol 8 software on remote Linux hosts over SSH using an installation script provided by Exasol.
Prerequisites
- The database host systems must be pre-installed with one of the recommended Linux distributions and prepared for Exasol installation. For more information, see System Requirements.
- A separate Linux system (jump host) is required for running the installation over SSH.
- Internet connectivity from the jump host is optional, see Step 1: Download.
- Internet connectivity from the remote nodes (database nodes) is not required.
Step 1: Download
Use the following command to download the installation script:
If the jump host is connected to the internet, the necessary installation packages will be downloaded automatically by the installation script.
If the jump host is not connected to the internet, download the Exasol 8 and c4 installation packages from the Exasol Download Portal and copy them as well as the e3a.sh installation script to the same directory on the jump host.
Step 2: Configuration
Create a configuration file with the filename config in the directory where the installation script is located. The configuration file must contain the following parameters:
Configuration parameter | Description |
---|---|
CCC_HOST_ADDRS
|
The IP addresses of the database hosts, separated by spaces. |
CCC_HOST_EXTERNAL_ADDRS
|
The public IP addresses of the database hosts, separated by spaces. This parameter is required for deployments outside of the local network. |
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. |
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. |
CCC_HOST_IMAGE_PASSWORD
|
Password for the user if required for sudo. The password is passed in plaintext to the instances. |
CCC_HOST_KEY_PAIR_FILE
|
Name of the file that contains the private SSH key required to access host instances. |
CCC_PLAY_WORKING_COPY
|
Specifies the Exasol package to install, using the format For example: |
Example:
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.22.0
Step 3: Installation
To start the installation, run:
By default, the script reads the configuration from the config file in the current directory. If the configuration is stored in another file, you can specify it as an argument:
If the configuration is valid, the script will prompt you to start the installation process:
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
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).
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.22.0
Exasol package: @exasol-8.22.0
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.
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Press Enter to start the installation.
If the necessary installation packages are present in the current directory they will be used for installation. In this case no internet connection is required.
If no installation packages are found in the current directory and the jump host is connected to the internet, the script will automatically download the necessary packages from the Exasol download portal.
When the packages have been located the installation will start automatically. The installation requires no user intervention and can be run unattended. It comprises the following steps:
- Copying Exasol packages to the remote hosts
- Initial OS preparation
- Verifying OS configuration
- Configuring OS on all hosts
- Extracting packages
- Installing c4
- Syncing time
- Triggering remote installation finalization
Depending on the number of hosts and whether the packages are in the current directory or not, the installation will typically require 20 to 90 minutes. The actual time for the installation however depends on many factors and these are only approximate figures.
When the installation script has finished, the following 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.22.0
Exasol package: @exasol-8.22.0
Happy Exasolling!
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Step 4: Verification
When the remote installation has completed, the remote systems can be accessed via SSH and the database can be accessed directly using a SQL client.
$ ssh -p 20002 root@198.51.100.12
The authenticity of host '[198.51.100.12]:20002 ([198.51.100.12]:20002)' can't be established.
RSA key fingerprint is SHA256:Vyy5x8ZPQw51HTTeU2dYaWnVkW6uO2VLS2+8gAk+7yQ.
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.12]:20002' (RSA) to the list of known hosts.
[root@n12 ~]# 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
4
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@n12 ~]#
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:
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 to resolve errors during the installation, create a support case.