Add a backend server
Expanding a cluster in a multi-container backend architecture with a new server is similar to the WEKA multi-container backend installation process.
Adding a server to the cluster includes discovering the existing cluster resources, generating the resource files, creating containers using the resource files, and adding the SSDs to the new server.

Before you begin
- Review the system dashboard and ensure that the system is operational and does not indicate any alarms. 
- Discover the number of cores for each container type in the cluster server. 
weka local resources -C drives0 |grep -c DRIVES 
weka local resources -C compute0 |grep -c COMPUTE
weka local resources -C frontend0 |grep -c FRONTEND
- Discover the Management IPs of one of the containers. In a high-availability system, more than one IP exists. 
weka local resources -C drives0 | grep "Management IPs"
- Ensure that the new backend server meets the requirements and is available for installation. 
- Download from get.weka.io the same WEKA software version as in the existing WEKA cluster servers. 
Procedure
- Install the WEKA software on the new backend server. 
- Remove the default container from the new backend server. 
weka local stop default && weka local rm -f default
- Download the WEKA tools from the GitHub repository. 
cd ~
git clone https://github.com/weka/tools/
cd ~/tools/install/
- Generate the resource files with the same network devices and options as the existing WEKA cluster servers. 
./resources_generator.py --net <net-devices> [options]
- Create the drive, compute, and frontend containers, and join them to the existing cluster. Use the following options to specify the required parameters: - resources-path: Specify the path to the resource file (- drives0.json,- compute0.json, or- frontend0.json) created in Step 4 using the resource generator.
- management-ips: Specify the management IP of the new server joining the cluster. For high availability, provide two or more comma-separated IPs.
- join-ips: Specify the management IP of an existing cluster server.
 - Run the following commands: 
weka local setup container --name drives0 --resources-path <path>/drives0.json --management-ips=<management IPs of the new server> --join-ips=<management IP of the existing server>
weka local setup container --name compute0 --resources-path <path>/compute0.json --management-ips=<management IPs of the new server> --join-ips=<management IP of the existing server>
weka local setup container --name frontend0 --resources-path <path>/frontend0.json --management-ips=<management IPs of the new server> --join-ips=<management IP of the existing server>
- Verify that the server is added to the cluster successfully. Run - weka local ps.
[root@weka8 ~]# weka local ps
CONTAINER  STATE    DISABLED  UPTIME    MONITORING  PERSISTENT  PORT   PID    STATUS  VERSION    LAST FAILURE
compute0   Running  False     0:09:08h  True        True        14300  26441  Ready   4.2.0.153
drives0    Running  False     0:09:41h  True        True        14000  25295  Ready   4.2.0.153
frontend0  Running  False     0:08:35h  True        True        14200  27911  Ready   4.2.0.153- Configure the SSD drives on the drive container. 
weka cluster drive add <container-id> <device-paths>
Related topics
WEKA cluster installation on bare metal servers (see Path C: Manual installation and configuration)
Last updated
