添加新数据中心时,系统模式的 Cassandra 复制

And*_*agy 2 cassandra cassandra-3.0

Cassandra的官方文档说:

配置密钥空间并创建新的数据中心:

使用 ALTER KEYSPACE 将 NetworkTopologyStrategy 用于以下键空间:

  • 所有用户创建
  • 系统:system_distributed 和 system_traces
  • system_auth 和 dse_security,请参阅配置 system_auth 和 dse_security 密钥空间复制。

多个数据中心集群需要此步骤,因为 nodetool rebuild (10) 需要指定源数据中心中这些键空间的副本。

我了解系统密钥空间包含特定于节点的信息,因此无法与其他节点共享。

system_schema 键空间呢?

根据文档,它包含有关用户定义的信息

  • 类型,
  • 聚合,
  • 职能

还有

  • 触发器,
  • 关键空间持久写入和复制
  • 丢弃的列等。

我的猜测是所有这些也应该在数据中心之间复制,但我有点怀疑为什么文档中根本没有提到它?

Ale*_*Ott 5

system_schema密钥空间(和system和)具有LocalStrategy作为复制策略-在这种情况下,当前节点上只适用所有更改。通过八卦检测模式之间的差异,并触发数据更新过程。

您不应更改这些键空间的复制。

2020 年更新。您可以使用https://github.com/DataStax-Toolkit/cassandra-dse-helper-scripts/tree/master/adjust-keyspaces自动调整所有必要的键空间