Cassandra的官方文档说:
配置密钥空间并创建新的数据中心:
使用 ALTER KEYSPACE 将 NetworkTopologyStrategy 用于以下键空间:
- 所有用户创建
- 系统:system_distributed和system_traces
- system_auth和dse_security,请参阅配置 system_auth 和dse_security密钥空间复制。
对于多个数据中心群集,此步骤是必需的,因为节点工具重建 (10( 需要在指定的源数据中心中复制这些密钥空间。
我了解系统密钥空间包含特定于节点的信息,因此无法与其他节点共享。
密钥空间system_schema呢?
基于文档,它包含有关用户定义的信息
- 类型
- 集 料
- 功能
并且还在
- 触发器
- KeyPace 持久写入和复制
- 删除的列等。
我的猜测是,所有这些也应该在数据中心之间复制,但我有点怀疑为什么文档中根本没有提到它?
system_schema
密钥空间(以及system
(具有LocalStrategy
复制策略 - 在这种情况下,所有更改仅应用于当前节点。模式之间的差异是通过八卦来检测的,并触发数据更新的过程。
不应更改这些密钥空间的复制。
2020年更新。您可以使用 https://github.com/DataStax-Toolkit/cassandra-dse-helper-scripts/tree/master/adjust-keyspaces 自动调整所有必要的键空间