添加 Cassandra 节点

适用于私有云的 Edge v. 4.17.09

本文档介绍了如何向现有的 Edge for Private Cloud 安装添加三个新的 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
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-service edge-router restart
  2. 在所有消息处理器上:
    > /opt/apigee/apigee-service/bin/apigee-service edge-message-processor restart

现有 Cassandra 节点上的可用内存

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

> /opt/apigee/apigee-cassandra/bin/nodetool -h cassandraIP cleanup