ali*_*en5 5 cassandra nodetool cassandra-cli
更新 - 短版本:前3个节点(机架1-3)
的PropertyFileSnitch cassandra-topology.properties指出只有这些节点在DC1中,而其他节点在DC2中通过指定默认值default=DC2:r1.当通过添加节点4和5来扩展集群时,这些节点的PropertyFileSnitch被配置为在DC1以及机架4和5中添加它们,但是来自前3个节点的snitch保持不变,因此集群在此不一致的状态.
我的问题是这个集群是否可以重新平衡(固定).如果我在修复完成后重新启动完整群集就足够了cassandra-topology.properties吗?
请告知我如何安全地重新平衡群集.
更长的版本:
我是Cassandra的新手,我开始研究已经建成的集群.
我在运行Cassandra 3.0.5版本的不同机架上的同一数据中心有5个节点,带有vnodes num_tokens: 256和一个密钥空间replication = {'class': 'NetworkTopologyStrategy', 'DC1': '3'} AND durable_writes = true.
从历史上看,只有3个节点,并且通过额外的2个节点扩展了集群.我有一个自动修复脚本,可以nodetool repair使用选项运行parallelism: parallel, primary range: false, incremental: true, job threads: 1.
插入大量数据后,问题就开始出现了.在节点4或5上运行修复脚本时,节点2会过载:CPU使用率保持在100%,MutationStage队列增长,GC暂停至少需要1秒,直到Cassandra进程最终死亡.修复结果通常是failed with error Stream failed (progress: 0%).
nodetool status在节点1,2或3上运行命令时,我得到以下输出:
nodetool status
但是当cassandra-topology.properties在节点4或5上运行命令时,我得到以下输出:
cassandra-topology.properties
在进一步调查之后,似乎在群集扩展后,在节点1,2和3(它们也是此群集的种子)上未更新PropertyFileSnitch default=DC2:r1.
谢谢!
小智 0
如果不访问系统,我无法判断您的建议是否足够,但我有一些观察结果。所有权应该分布在集群中的所有节点之间。这意味着,如果所有 5 个节点形成一个集群,“拥有”选项卡下的所有值的总和应等于 100。让多个节点拥有 100% 的集群看起来不太正确。这表明每个节点都以独立模式运行并且未加入集群。
我在第一个打印输出中看到地址 10.40.0.10,而在第二个打印输出中看到地址 10.0.0.10。看起来像是配置错误。此外,检查每个节点是否可以到达所有其他节点的 IP 地址。我看到 10.0.0.13 在第一个打印输出中属于“r1”,而在第二个打印输出中属于“Rack4”。
为了简化配置,您可以为所有 5 个节点配置一个数据中心(例如 DC1)和一个机架(例如 Rack1),无论其物理分布如何。
| 归档时间: |
|
| 查看次数: |
934 次 |
| 最近记录: |