我有 2 个数据中心,每个包含一个节点
我的集群就像
以前的集群配置
几乎有 15 个键空间……但只有三个键空间包含数据……并且数据仅存储在 DC1 中的一个节点中
所以我改变了配置,因为两个节点存在于具有不同机架的同一个数据中心......用于在两个节点之间分配数据......为此
我停用了 31 节点并将该节点重新添加到 DC1
我将所有键空间复制更改为
ALTER KEYSPACE input_data_profile WITH REPLICATION = {'class': 'NetworkTopologyStrategy', 'DC1': 1};
所以现在我的集群就像
当前集群配置
我在两个节点上运行 nodetool repair
但是数据没有在节点之间分布......拥有显示几乎相等的分布,但负载显示只有 30 个服务器包含数据而 31 个不包含......
30 台服务器经常关闭...启动服务器需要将近 30-40 分钟的时间..我认为单个节点中存在的所有数据都是原因....我对这个问题感到非常沮丧...所以请任何人都可以
帮我修复这个错误....
最佳答案
数据的不均匀分布可能与数据本身有关。根据您存储数据的方式(== 设计表格),它可能全部发送到同一个节点。
我建议你阅读这个 - https://www.datastax.com/dev/blog/the-most-important-thing-to-know-in-cassandra-data-modeling-the-primary-key
尤其是关于分区键的部分,它控制哪些数据存储在哪个节点上。
关于cassandra节点经常拒绝,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46771404/