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 集成