我一直在寻找如何配置客户端以连接到Cassandra集群。
独立于像Pelops,Hector等客户,连接多节点Cassandra集群的最佳方式是什么?
发送字符串IP值工作正常,但未来增长的数字群集节点呢?是否在客户端部分同步维护所有IP群集节点?
答案 0 :(得分:2)
不知道这是否回答了您的所有问题,但不断增长的群集和您对客户端IP的了解并不相关。
我有一个5节点集群,但客户端只知道2个ip地址:种子。由于群集中的每台机器都知道种子(每个cassandra.yaml包含种子IP地址)如果新机器将被添加,有关新机器的信息将在客户端“免费”获得。
想象一下具有以下ips的5节点集群
192.168.1.1
192.168.1.2(种子)
192.168.1.3
192.168.1.4(种子)
192.168.1.5
例如:节点.5启动 - 它将联系种子(节点2和4)并接收有关整个群集的信息。如果添加新的192.168.1.6将表现得与.5完全相同,并将指向种子以了解群集情况。在客户端,您不必更改任何内容:您只需知道现在有6个端点而不是5个端点。
ps:您没有必要连接到种子,您可以连接到任何节点,因为在联系种子之后,每个节点都知道整个群集拓扑
pps:您可以选择将多少个节点放入“客户端已知主机”中,您也可以将所有5个节点放入,但这不会改变这样一个事实,即如果添加一个节点则不需要做任何事情在客户端
此致 卡罗
答案 1 :(得分:1)
您可以更轻松地让客户端跟踪每个节点的状态。智能客户端将通过gossipinfo跟踪端点状态,gossipinfo会在群集中显示的新节点上传递。