Replace Node

This section explains how to replace a failed node in an on-premises installation.

This procedure is carried out using ConfD and Exasol Deployment Tool (c4).

Prerequisites

The database must be stopped.

Procedure

The following examples use ConfD through the command-line tool confd_client, which is available on all database nodes. You can also access ConfD through XML-RPC in your own Python programs. For more information, see ConfD.

Placeholder values are indicated with UPPERCASE characters. Replace the placeholders with your own values.

Step 1: Connect to COS

Connect to EXAClusterOS (COS) using c4 connect -t <DEPLOYMENT>[.<NODE>]/cos. For example:

c4 connect -t 1/cos

In most cases it does not matter on which node you access ConfD. If you do not specify a node, c4 will connect to the first active node in the deployment. The command prompt in COS indicates which node you are connected to:

[root@n11 ~]#

For more information about how to use c4 connect, see How to use c4.

Step 2: Stop the database

If the database is running, stop it now using the ConfD job db_stop:

confd_client db_stop db_name: DB_NAME

Step 3: Prepare the new nodes

Prepare the new node and assign it exactly the same IP addresses that belonged to the failed node. For information about the system requirements for the new node, see System Requirements.

Step 4: Update the configuration

In the same configuration file that you used for the initial deployment, add the IP addresses of the node that will be replaced in a new c4 config parameter CCC_HOST_SETUP_ADDRS.

For example, with the following configuration only the node with IP address 10.10.10.12 will be replaced:

CCC_HOST_ADDRS="10.10.10.11 10.10.10.12 10.10.10.13"
CCC_HOST_SETUP_ADDRS=10.10.10.12
CCC_HOST_IMAGE_USER=exasol
CCC_HOST_IMAGE_PASSWORD=exasol123
CCC_HOST_KEY_PAIR_FILE=id_rsa
CCC_HOST_DATADISK=/dev/nvme2n1,/dev/nvme3n1
CCC_PLAY_WORKING_COPY=@exasol-8.27.0

The IP addresses that you specify in CCC_HOST_SETUP_ADDRS must be the same as the failed nodes, and must be present in either CCC_HOST_ADDRS or CCC_HOST_EXTERNAL_ADDRS .

The value in CCC_PLAY_WORKING_COPY must be exactly the same as the currently installed Exasol package. If you have updated Exasol, make sure that the value corresponds to the package used in the latest update.

Step 5: Deploy the nodes

To deploy the replaced nodes, use c4 host play -i CONFIG_FILE with the updated configuration file. For example:

c4 host play -i config

or:

c4 host play -i /path_to_config_file/myconfig

You can monitor the deployment using c4 ps to verify that the nodes start up. For more information, see Install Exasol 8.

Step 6: Start the database

Start the database using the ConfD job db_start:

confd_client db_start db_name: DB_NAME