添加 Cassandra 节点

适用于私有云的 Edge v4.19.01

本文档介绍了如何将三个新的 Cassandra 节点添加到现有 Edge for Private 云端安装。

虽然您可以向现有 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" 

这样可以确保现有节点保留其初始令牌设置和初始令牌 介于现有节点的令牌值之间。

配置 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: <ph type="x-smartling-placeholder">
      </ph>
    1. 在以下设备上安装“apigee-setup”: 如安装 Edge apigee-setup 实用程序
    2. 使用更新后的配置文件在第一个节点上安装 Cassandra:
      /opt/apigee/apigee-setup/bin/setup.sh -p c -f updatedConfigFile
    3. 对剩余的新 Cassandra 节点重复执行这两个步骤。
  2. 重新构建三个新的 Cassandra 节点,并指定在配置文件中设置的区域名称: REGION 属性。在本示例中,它是“dc-1”: <ph type="x-smartling-placeholder">
      </ph>
    1. 在第一个节点上,运行以下命令:
      /opt/apigee/apigee-cassandra/bin/nodetool [-u username -pw password] -h nodeIP rebuild dc-1

      其中,nodeIP 是 Cassandra 节点的 IP 地址。

      只有在以下情况下,您才需要传递用户名和密码: 为 Cassandra 启用了 JMX 身份验证

    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 节点

添加新节点后,您可以在nodetool cleanup 先前存在的节点以释放磁盘空间。此命令会清除 不再归现有 Cassandra 节点所有。

要在添加新节点后释放现有 Cassandra 节点上的磁盘空间,请执行 以下命令:

/opt/apigee/apigee-cassandra/bin/nodetool [-u username -pw password] -h cassandraIP cleanup

只有在以下情况下,您才需要传递用户名和密码: 为 Cassandra 启用了 JMX 身份验证

验证重新生成

使用以下命令验证重新构建是否成功:

nodetool [-u username -pw password] -h nodeIP netstats

当节点已启动且有索引时,此命令应指示 MODE: Normal

nodetool [-u username -pw password] -h nodeIP statusthrift

应指明旧服务器服务器正在运行,以便 Cassandra 接受新客户端 请求。

nodetool [-u username -pw password] -h nodeIP statusbinary

应表示本地传输(或二进制协议)正在运行。

nodetool describecluster

应显示新节点使用的架构版本与旧节点相同。

如需详细了解如何使用 nodetool,请参阅 nodetool 用法文档