Cassandra:当新节点加入环时该节点如何工作?

时间:2018-10-09 08:23:44

标签: cassandra nosql streaming

我是Cassandra的初学者。我想了解两个节点(流式节点和加入节点)在新节点加入现有集群时如何工作。他们可以向外界提供正常服务吗?

如果正常提供服务。我假设加入的节点是nodeA,而获取数据的节点是nodeB。这意味着nodeA从nodeB获取数据。假设数据范围C从节点B传输到节点A,这时将落入范围C的新数据插入到群集中。是将新数据写入nodeA还是nodeB?

我使用的是Cassandra的datastax社区版,版本3.11.3。

谢谢!

1 个答案:

答案 0 :(得分:0)

Sun,您的问题有点令人困惑。.但是我的意思是,您想了解将新节点添加到现有集群的过程。

向现有集群添加新节点需要使用cassandra.yaml属性来进行新节点标识和通信。

在cassandra.yaml中设置以下属性,并根据更改,在cassandra-topology.properties或cassandra-rackdc.properties配置文件中设置:

auto_bootstrap -默认cassandra.yaml配置文件中未列出此属性,但其他操作可能已将其添加并设置为false。如果未在cassandra.yaml中定义,则Cassandra将true用作默认值。对于此操作,请在cassandra.yaml文件中搜索此属性。如果存在,请将其设置为true或将其删除。

集群名称-新节点要加入的集群的名称。

监听地址/广播地址-通常可以留空。否则,请使用其他Cassandra节点用来连接到新节点的IP地址或主机名。

endpoint_snitch -卡西珊(Sanditch)Cassandra用于定位节点和路由请求。

num_tokens -要分配给该节点的vnode数量。如果群集中节点之间的硬件功能有所不同,则可以将比例数量的vnode分配给较大的计算机。

种子-确定新节点联系哪些节点以了解集群并建立八卦过程。确保-seeds列表包括现有集群中至少一个节点的地址。

当新节点使用已定义的拓扑加入群集时,Seed节点将在其不直接与客户端通信时用新节点启动八卦。八卦完成后,新节点就准备好承担实际的数据负载。

希望这有助于理解过程。