在线扩容 Cassandra 集群的步骤和注意事项是什么?
目录
1 在线扩容 Cassandra 集群
在 Cassandra 集群中,实时扩容(online expansion)机制可以支持无需停机便可以增加结点数的新特性。本文将详细阐述在线扩容 Cassandra 集群的具体步骤,以及相关注意事项。
2 步骤
2.1 针对每一台要扩容的服务器:
(1)修改服务器 hostname (2)安装 Cassandra (3)启动 Cassandra (4)在扩容前先启动每一台服务器
2.2 使用 nodetool 命令查看扩容完成后的集群状态:
(1)使用 nodetool status 查看每一台服务器的运行状态; (2)使用 nodetool descirbecluster 查看集群的基本信息,如集群名、主节点信息、结点及行数等。
2.3 增加地区(dc)的中的某台结点:
(1)把新结点加入到已有的地区(dc),由此增加可用空间; (2)使用 nodetool move 来移动结点,并制定好新结点的配置; (3)执行 nodetool cleanup 命令,用于完成地区数据的迁移; (4)通过 nodetool repair 命令修复可能出现的数据不同步的情况; (5)执行 nodetool join 命令,制定新结点的 ip 地址、port、数据中心名; (6)通过 nodetool ring 来查看新结点的加入状况; (7)使用 nodetool repair 命令保证集群的一致性。
2.4 重新负载均衡:
(1)根据集群的实际负载情况对结点进行重新负载均衡; (2)可以使用 nodetool rebalance 命令来重新均衡集群负载; (3)也可以使用 nodetool move 命令来指定某个结点的新位置; (4)重新负载均衡完毕后,可以使用 nodetool status 来查看新结点是否正常工作。
3 注意事项
3.1 扩容前必须确保集群当前运行状态良好,不能存在任何异常;
3.2 数据迁移必须要加以考虑,应该有严格的迁移措施;
3.3 在扩容的过程中,要能够根据实际情况调整服务行;
3.4 要能够及时修复由于拓展而引起的数据不一致问题;
3.5 要在扩容后及时进行负载均衡;
3.6 要及时修改配置文件,以及修改 cassandra 运行状态;
7、安装和配置新结点后,需要检查其在集群中的状况,确保结点加入正确。