我是Cassandra的初学者。我想了解两个节点(流节点和加入节点)在新节点加入现有集群时如何工作。他们能对外提供正常的服务吗?服务是否正常。我假设加入节点是nodea,获取数据的节点是nodeb。这意味着nodea从nodeb获取数据。假设数据范围c从nodeb传输到nodea,此时落入范围c的新数据被插入集群。新数据是写入nodea还是nodeb?我使用的是datastax社区版的cassandra,3.11.3版。谢谢!
k4emjkb11#
你的问题有点让人困惑。。但我想说的是,您需要了解向现有集群添加新节点的过程。将新节点添加到现有集群需要cassandra.yaml属性来标识新节点和进行通信。在cassandra.yaml和cassandra-topology.properties或cassandra-rackdc.properties配置文件中设置以下属性(取决于snitch):auto\u bootstrap-此属性未列在默认的cassandra.yaml配置文件中,但可能已被其他操作添加并设置为false。如果cassandra.yaml中没有定义,cassandra将使用true作为默认值。对于此操作,请在cassandra.yaml文件中搜索此属性。如果存在,则将其设置为true或删除。。cluster\u name—新节点要加入的群集的名称。收听地址/广播地址-通常可以留空。否则,请使用其他cassandra节点用于连接到新节点的ip地址或主机名。endpoint\u snitch-snitch cassandra用于定位节点和路由请求。num_tokens—要分配给节点的vnode数。如果集群中的节点之间的硬件功能不同,则可以为较大的机器分配成比例数量的vnode。种子-确定新节点接触哪些节点以了解集群并建立八卦过程。确保-seeds列表包含现有集群中至少一个节点的地址。当新节点使用定义的拓扑加入集群时,种子节点在新节点不直接与客户机通信时开始与新节点通信。一旦八卦消息完成,新节点就可以承担实际的数据负载。希望这有助于理解这个过程。
1条答案
按热度按时间k4emjkb11#
你的问题有点让人困惑。。但我想说的是,您需要了解向现有集群添加新节点的过程。
将新节点添加到现有集群需要cassandra.yaml属性来标识新节点和进行通信。
在cassandra.yaml和cassandra-topology.properties或cassandra-rackdc.properties配置文件中设置以下属性(取决于snitch):
auto\u bootstrap-此属性未列在默认的cassandra.yaml配置文件中,但可能已被其他操作添加并设置为false。如果cassandra.yaml中没有定义,cassandra将使用true作为默认值。对于此操作,请在cassandra.yaml文件中搜索此属性。如果存在,则将其设置为true或删除。。
cluster\u name—新节点要加入的群集的名称。
收听地址/广播地址-通常可以留空。否则,请使用其他cassandra节点用于连接到新节点的ip地址或主机名。
endpoint\u snitch-snitch cassandra用于定位节点和路由请求。
num_tokens—要分配给节点的vnode数。如果集群中的节点之间的硬件功能不同,则可以为较大的机器分配成比例数量的vnode。
种子-确定新节点接触哪些节点以了解集群并建立八卦过程。确保-seeds列表包含现有集群中至少一个节点的地址。
当新节点使用定义的拓扑加入集群时,种子节点在新节点不直接与客户机通信时开始与新节点通信。一旦八卦消息完成,新节点就可以承担实际的数据负载。
希望这有助于理解这个过程。