cassandra.yaml 中的 Cassandra 初始令牌

cassandra.yaml 中的 Cassandra 初始令牌

我按照以下步骤将所有数据从一个集群迁移到一个全新的集群: http://datascale.io/cloning-cassandra-clusters-fast-way/

我设法将所有数据都传输到新集群,服务器可以互相看到,nodetool status 将所有节点报告为UN。但是,我有一个问题,在其中一个段落中,initial_token值是从节点中获取的,并逐一复制到新服务器,因此我不得不添加JVM_OPTS="$JVM_OPTS -Dcassandra.load_ring_state=false"。我想JVM_OPTS现在可以丢弃 ,但我不太确定initial_tokens

我的整个配置都由 Puppet 管理,现在我不确定initial_tokens在集群填充和初始化后是否需要?清单非常干净,这会增加不必要的复杂性,因为值inital_tokens对于每个节点都是唯一的。我想确定一下,因为这是我第一次处理 Cassandra。

答案1

似乎一旦集群初始化完成,该initial_token值就会写入 Cassandra 结构中的某个位置。即使在没有该initial_token指令的情况下重新启动整个新集群,集群仍能正常工作,并且我使用与在旧集群上获取它们相同的程序获得了完全相同的令牌。

看起来,等情况稳定下来之后,您就可以initial_tokencassandra.yaml文件中删除了。

相关内容