添加 Cassandra 节点

Edge for Private Cloud v. 4.17.01

本文档介绍如何向安装的私有云现有 Edge 添加三个新的 Cassandra 节点。

虽然您可以向现有 Edge 安装添加一个或两个 Cassandra 节点,但 Apigee 建议一次添加三个节点。

如需查看 Cassandra 节点的系统要求,请参阅安装要求

现有 Edge 配置

生产系统的所有受支持 Edge 拓扑都指定使用三个 Cassandra 节点。这三个节点在配置文件中的 CASS_HOSTS 属性中指定,如下所示:

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 
BIND_ON_ALL_INTERFACES=y
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       

请注意,REGION 属性将区域名称指定为“dc-1”。在添加新的 Cassandra 节点时,您需要用到这些信息。

修改配置文件以添加三个新的 Cassandra 节点

在本示例中,三个新的 Cassandra 节点位于以下 IP 地址:

  • 10.10.0.14
  • 10.10.0.15
  • 10.10.0.16

您必须先更新 Edge 配置文件才能添加新节点:

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" 

重要提示:将每个新的 Cassandra 节点添加到 CASS_HOSTS 在现有节点之后

这可确保现有节点保留其初始令牌设置,并且每个新节点的初始令牌介于现有节点的令牌值之间。

配置 Edge

修改配置文件后,您必须执行以下操作:

  • 重新配置现有 Cassandra 节点
  • 在新节点上安装 Cassandra
  • 重新配置管理服务器

重新配置现有 Cassandra 节点

在现有 Cassandra 节点上:

  1. 使用“-p c”配置文件和新的配置文件重新运行 setup.sh:
    > /opt/apigee/apigee-setup/bin/setup.sh -p c -f updatedConfigFile

在新节点上安装 Cassandra

在每个新的 Cassandra 节点上:

  1. 在三个节点上安装 Cassandra:
    1. 按照安装 Edge apigee-setup 实用程序中的说明,在第一个节点上安装 apigee-setup
    2. 使用更新后的配置文件,在第一个节点上安装 Cassandra:
      > /opt/apigee/apigee-setup/bin/setup.sh -p c -f updatedConfigFile
    3. 对其余的新 Cassandra 节点重复执行这两个步骤。
  2. 重新构建三个新的 Cassandra 节点,通过 REGION 属性指定配置文件中设置的区域名称。在本例中为“dc-1”:
    1. 在第一个节点上,运行以下命令:
      > /opt/apigee/apigee-cassandra/bin/nodetool -h nodeIP rebuild dc-1
      其中 nodeIP 是 Cassandra 节点的 IP 地址。
    2. 在其余的新 Cassandra 节点上重复此步骤。

重新配置管理服务器

在管理服务器节点上

  1. 重新运行 setup.sh 以针对新添加的 Cassandra 节点更新管理服务器:
    > /opt/apigee/apigee-setup/bin/setup.sh -p ms -f updatedConfigFile

重启所有路由器和消息处理器

  1. 在所有路由器上:
    > /opt/apigee/apigee-service/bin/apigee-serviceedge-router 重启
  2. 在所有消息处理器上:
    > /opt/apigee/apigee-service/bin/apigee-serviceedge-message-processor 重启

现有 Cassandra 节点上的可用内存

在现有 Cassandra 节点上,运行 nodetool cleanup 命令以释放内存:

> /opt/apigee/apigee-cassandra/bin/nodetool -h cassandraIP 清理