新增节点后连接Cassandra集群的相关技术问题咨询
Cassandra集群新增节点后连接相关问题解答
新增节点后的正确连接操作
- 先确认新节点状态正常:在集群任意存活节点执行
nodetool status,确认新节点状态为UN(Up/Normal),无pending令牌任务,完成bootstrap全流程后再接入业务流量 - 客户端侧无需修改原有连接逻辑,只要原有连接字符串中配置的至少一个初始联系点处于存活状态,即可正常连接集群
是否需要将新节点IP添加至连接字符串
不需要。
- 连接字符串中配置的节点仅为初始联系点,作用只是让客户端首次连接集群时可以拉取到完整的集群拓扑信息,不需要包含集群所有节点的IP
- 仅当原有连接字符串中配置的所有IP都已永久下线时,才需要将连接字符串中的地址替换为当前集群的存活节点IP
- 注意:不要将服务端配置的gossip种子节点和客户端连接串的初始联系点混淆,两者作用完全独立,客户端连接串不需要对齐服务端的种子节点列表
节点自动发现机制说明
存在成熟的自动发现机制:
- DataStax官方提供的各语言Cassandra驱动,默认内置集群拓扑自动发现能力:客户端首次连接成功后,会自动拉取集群完整的节点列表、机架分布、令牌范围等拓扑信息,后续集群新增/下线节点时,驱动会自动同步更新拓扑信息,完全不需要手动修改连接配置
- 如果你使用的是第三方自研驱动,只要对接服务端默认开启的gossip协议,配置定期拉取集群拓扑的策略,也可以实现新增节点的自动发现
内容的提问来源于stack exchange,提问作者Dewey Munoz
相关产品推荐
相关产品推荐

