Add Node(s)

This section describes how to add node(s) to your Exasol installation on AWS using the Cloud Plug-in. To know more about the plug-in see Cloud UI Back-end Plug-in .

EXAoperation should be running on the License node before you add a node. Adding node to the system has a system down time of at least 15-20 minutes. The database and EXAStorage is restarted automatically.

Add Node Using Cloud Plug-in User Interface

Do the following to add node(s):

  1. Enter the following URL to open the Cloud UI tool in your browser.
    https://<license node IP>:8835
  2. Log in to the interface using EXAoperation administrator credentials.
  3. In section Scale Out (add nodes), do the following:
    1. In Add additional node(s), enter the number of nodes you want to add to your setup.
    2. Enter the password of the database user sys.

  4. Select Reorganize database check box.

    If you want to know how long it takes to reorganize the database, see Estimate Duration of REORGANIZE DATABASE.

  5. Review the changes between the current and the new value. The summary of changes are shown here including the cost.
  6. Click Apply.
  7. On the confirmation screen, click Execute.

Add Node Using Command-line Tools

You can run the commands locally or from a remote system through XML RPC. The prerequisites to run the commands are:

  • EXAoperation needs direct access to the relevant Azure services.
  • The Azure VM service should be reachable and the management node needs the correct IAM permission.
  • Download the python scripts required to run commands remotely.

Add Node from License Node

Run the following command to add a new node from the License node.

/opt/ui-backend/handle_cloudui_request.py -
'{"method":"add_nodes","number":"<number of new nodes>","memory":"<memory size>","credentials":"'
$(echo -n 'admin:EXAOPERATION_PASSWORD' | base64)'"}'

In the above command, a node is added to the cluster and the physical RAM size also changes for the new node.

After adding a node, you must reorganize the database to redistribute the data across all the nodes in the cluster.

Run the following command to reorganize the database:

/opt/ui-backend/handle_cloudui_request.py -
'{"method":"reorganize_database","db_password":"SYS_PASSWORD","reorganize_method":"reorganize","credentials":"
'$(echo -n 'admin:EXAOPERATION_PASSWORD' | base64)'"}'

Add Node Remotely

Run the following command to add a new node to the cluster.

python add_additional_nodes.py --dns_management_node '<IP Address>' --exaoperation_password 'exaoperation_password' 
--memory '<Memory size>' --number '<Number of new nodes>'

After adding a node, you must reorganize the database to redistribute the data across all the nodes in the cluster.

Run the following command to reorganize the database:

python reorganize_database.py --dns_management_node '<IP Address>' --exaoperation_password 'exaoperation_password' 
--passworddb 'password_for_user_sys' --reorganize_method 'reorganize'