Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/cassandra/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如果在Cassandra中替换了一个节点,数据会自动复制到该节点吗?_Cassandra_Cassandra 2.0 - Fatal编程技术网

如果在Cassandra中替换了一个节点,数据会自动复制到该节点吗?

如果在Cassandra中替换了一个节点,数据会自动复制到该节点吗?,cassandra,cassandra-2.0,Cassandra,Cassandra 2.0,我正在运行一个复制因子为3的3节点Cassandra群集。我最近不得不更换一个节点。其他两个节点中存在的数据是否会自动复制到新节点,还是我必须以某种方式手动复制?在2.x中默认情况下,是的。如果auto_bootstrap配置选项不在cassandra.yaml文件中,或者它被设置为True,那么一旦它联机,它就会流式传输它现在负责的所有数据。如果auto_bootstrap设置为False,则在调用nodetool rebuild之前,它不会执行此操作 但是,正如所指出的,如果您允许它自动流式

我正在运行一个复制因子为3的3节点Cassandra群集。我最近不得不更换一个节点。其他两个节点中存在的数据是否会自动复制到新节点,还是我必须以某种方式手动复制?

在2.x中默认情况下,是的。如果auto_bootstrap配置选项不在cassandra.yaml文件中,或者它被设置为True,那么一旦它联机,它就会流式传输它现在负责的所有数据。如果auto_bootstrap设置为False,则在调用nodetool rebuild之前,它不会执行此操作

但是,正如所指出的,如果您允许它自动流式传输数据,那么还有最后一步:

所有新节点运行后,在每个以前存在的节点上运行nodetool cleanup,以删除不再属于这些节点的键。在一个节点上等待清理完成,然后在下一个节点上运行nodetool清理

清洁可以安全地推迟到低使用时间

如果不运行“清理”,则所有旧数据位(移动到新节点的数据位)将保留在旧的3个节点上


编辑:此外,未能在帖子中提及,请确保您在种子列表中有一个种子集。当然,否则它将不知道在哪里查找数据。

在2.x中默认情况下,是的。如果auto_bootstrap配置选项不在cassandra.yaml文件中,或者它被设置为True,那么一旦它联机,它就会流式传输它现在负责的所有数据。如果auto_bootstrap设置为False,则在调用nodetool rebuild之前,它不会执行此操作

但是,正如所指出的,如果您允许它自动流式传输数据,那么还有最后一步:

所有新节点运行后,在每个以前存在的节点上运行nodetool cleanup,以删除不再属于这些节点的键。在一个节点上等待清理完成,然后在下一个节点上运行nodetool清理

清洁可以安全地推迟到低使用时间

如果不运行“清理”,则所有旧数据位(移动到新节点的数据位)将保留在旧的3个节点上

编辑:此外,未能在帖子中提及,请确保您在种子列表中有一个种子集。当然,否则它将不知道在哪里查找数据