下午好。
在生产环境中,我们使用 Cassandra 2.0.7。最初我们有足够的一个节点(cass-05,本地 IP 地址 192.168.0.5)。现在需要第二个节点(cass-06,本地 IP 地址 192.168.0.6)。对于第二个节点(cass-06)有一个单独的服务器。cass-06 上的 Cassandra 设置与 cass-05 完全类似。使用 NetworkTopologyStrategy 复制策略。每个节点都在自己的机架和数据中心上配置 1 个数据副本(机架 1,DC1:1 用于 cass-05 和机架 2,DC2:1 用于 cass-06)。
每台服务器上有 1TB 的磁盘空间可供 Cassandra 使用。在服务器 cass-05 上有 600Gb 的真实数据。
在服务器 cass-06 上,我们运行实用程序“nodetool rebuild”:
#./nodetool -h192.168.0.6 rebuild -- DC1
cass-06 上的 Cassandra 开始为理论上应该删除的表创建大量临时文件。但是,由于某种原因,它没有。这些临时表占用的整个 1TB 磁盘空间需要 9-12 个小时,从而导致节点故障。在 cass-06 节点上重新启动 Cassandra 后,磁盘空间仅占用 150Gb。
在实用程序“nodetool rebuild”期间,节点 cass-06 与 cass-05 一样参与写入/读取。
谢谢你的帮助。