Apache Cassandra:auto_bootstrap 属性是不是允许新(非种子)节点从另一个 DC 中的节点流式传输数据?

Posted

技术标签:

【中文标题】Apache Cassandra:auto_bootstrap 属性是不是允许新(非种子)节点从另一个 DC 中的节点流式传输数据?【英文标题】:Apache Cassandra: Does the auto_bootstrap property allow new (non-seed) nodes to stream data from nodes in another DC?Apache Cassandra:auto_bootstrap 属性是否允许新(非种子)节点从另一个 DC 中的节点流式传输数据? 【发布时间】:2020-03-10 12:23:19 【问题描述】:

集群:

3x nodes in DC1
2x nodes in DC2

假设集群当前很忙,但只有 DC1 正在处理流量。(DC2 仅用作备份)

我的问题是在 cassandra.yaml 中将“auto_bootstrap”属性设置为 true 是否允许新的(非种子)节点(添加到 DC2)从 DC1 中的一个/多个节点流式传输数据?

【问题讨论】:

【参考方案1】:

是的,它会引导,但不能使用来自另一个 DC 的数据。

新的非种子节点将从自己的数据中心流式传输数据。这是由于在加入时发生的令牌范围重新计算。一旦新节点有了它的令牌范围,它就会从这些范围的前所有者那里流式传输数据。

如果新节点无法为其现在负责的数据找到可访问的副本,则这些流将失败。可以通过设置 auto_bootstrap: false 并在其加入后立即运行 nodetool rebuild -- DC1 来解决此过程的持续问题。

【讨论】:

以上是关于Apache Cassandra:auto_bootstrap 属性是不是允许新(非种子)节点从另一个 DC 中的节点流式传输数据?的主要内容,如果未能解决你的问题,请参考以下文章

Datsac Cassandra 与 Apache Cassandra 绑定

CentOS 7.4 安装 Apache Cassandra 3.7

构建 Apache Cassandra 的 DataStax 发行版

将 Apache Cassandra 与 Apache Ignite 集成

无法导入 org.apache.spark.sql.cassandra.CassandraSQLContext

如何使用Apache Flink阅读Cassandra?