我正在使用Cassandra 2.0.4
(使用vnodes
),2天前我添加了2个节点(.210
和.195
。)我希望Cassandra重新分配现有数据自动,但今天我仍然找到这个nodetool status
在任何节点上发出nodetool repair
也没有做任何事情(修复在几秒钟内完成。)日志表明修复正在按预期执行,但在preparing the repair plan
之后它很漂亮很快就完成了执行计划。
我认为现有的数据会被重新分配,或者出了什么问题,这是错误的吗?如果不是这样的话;如何手动“重新平衡”数据?
值得注意的是:添加这些新节点后,我似乎丢失了一些数据。在某些键上发出选择仅返回过去几天而不是几周的数据,这使我认为数据保存在.92
上,而Cassandra在其中一个新服务器上查询数据。但这真的只是一个没有受过教育的猜测,在我的所有试验期间,我可能会简单地破坏某些东西。错误测试意味着数据实际上已经消失(即使我不发布删除,也是如此。)
任何人都可以启发我吗?
答案 0 :(得分:0)
目前没有针对启用vnode的群集的手动重新平衡选项。
但是根据您显示的nodetool状态输出,您的群集看起来不平衡。我很好奇为什么节点.88与其他节点相比只有64个令牌,但这本身并不是问题。当群集较小时,节点间的数据平衡会略有不同。
至于数据问题,您可以尝试在环中的节点周围运行nodetool repair -pr,然后进行nodetool清理,看看是否有帮助。