Edge for Private Cloud v4.18.01
This document describes how to add three new Cassandra nodes to an existing Edge for Private Cloud installation.
While you can add one or two Cassandra nodes to an existing Edge installation, Apigee recommends that you add three nodes at a time.
For a list of the system requirements for a Cassandra node, see Installation Requirements.
Existing Edge configuration
All the supported Edge topologies for a production system specify to use three Cassandra nodes. The three nodes are specified to the CASS_HOSTS property in the config file as shown below:
IP1=10.10.0.1 IP2=10.10.0.2 IP3=10.10.0.3 HOSTIP=$(hostname -i) ADMIN_EMAIL=opdk@google.com APIGEE_ADMINPW=Secret123 LICENSE_FILE=/tmp/license.txt MSIP=$IP1 USE_LDAP_REMOTE_HOST=n LDAP_TYPE=1 APIGEE_LDAPPW=secret MP_POD=gateway REGION=dc-1 ZK_HOSTS="$IP1 $IP2 $IP3" ZK_CLIENT_HOSTS="$IP1 $IP2 $IP3" # Must use IP addresses for CASS_HOSTS, not DNS names. CASS_HOSTS="$IP1:1,1 $IP2:1,1 $IP3:1,1" SKIP_SMTP=n SMTPHOST=smtp.example.com SMTPUSER=smtp@example.com SMTPPASSWORD=smtppwd
Note that the REGION property specifies the region name as "dc-1". You need that information when adding the new Cassandra nodes.
Modifying the config file to add the three new Cassandra nodes
In this example, the three new Cassandra nodes are at the following IP addresses:
- 10.10.0.14
- 10.10.0.15
- 10.10.0.16
You must first update Edge configuration file to add the new nodes:
IP1=10.10.0.1 IP2=10.10.0.2 IP3=10.10.0.3 # Add the new node IP addresses. IP14=10.10.0.14 IP15=10.10.0.15 IP16=10.10.0.16 HOSTIP=$(hostname -i) ADMIN_EMAIL=opdk@google.com ... # Update CASS_HOSTS to add each new node after an existing nodes. # Must use IP addresses for CASS_HOSTS, not DNS names. CASS_HOSTS="$IP1:1,1 $IP14:1,1 $IP2:1,1 $IP15:1,1 $IP3:1,1 $IP16:1,1"
Important: Add each new Cassandra node to CASS_HOSTS after an existing node.
This ensure that the existing nodes retain their initial token settings, and the initial token of each new node is between the token values of the existing nodes.
Configure Edge
After editing the config file, you must:
- Reconfigure the existing Cassandra nodes
- Install Cassandra on the new nodes
- Reconfigure the Management Server
Reconfigure the existing Cassandra nodes
On the existing Cassandra nodes:
- Rerun the setup.sh with the "-p c" profile and the new config file:
> /opt/apigee/apigee-setup/bin/setup.sh -p c -f updatedConfigFile
Install Cassandra on the new nodes
On each new Cassandra node:
- Install Cassandra on the three nodes:
- Install apigee-setup on the first node as described in Install the Edge apigee-setup utility.
- Install Cassandra on the first node by using the updated config file:
> /opt/apigee/apigee-setup/bin/setup.sh -p c -f updatedConfigFile - Repeat these two steps for the remaining new Cassandra nodes.
- Rebuild the three new Cassandra nodes, specifying the region name set in the config file by
the REGION property. In this
example, it is "dc-1":
- On the first node, run:
> /opt/apigee/apigee-cassandra/bin/nodetool -h nodeIP rebuild dc-1
where nodeIP is the IP address of the Cassandra node. - Repeat this step on the remaining new Cassandra nodes.
- On the first node, run:
Reconfigure the Management Server
On a Management-Server node
- Rerun setup.sh to update the Management Server for the newly added Cassandra nodes:
> /opt/apigee/apigee-setup/bin/setup.sh -p ms -f updatedConfigFile
Restart all Routers and Message Processors
- On all Routers:
> /opt/apigee/apigee-service/bin/apigee-service edge-router restart - On all Message Processors:
> /opt/apigee/apigee-service/bin/apigee-service edge-message-processor restart
Free memory on the existing Cassandra nodes
On the existing Cassandra nodes, run the nodetool cleanup command to free up memory:
> /opt/apigee/apigee-cassandra/bin/nodetool -h cassandraIP cleanup