这三台机器都有1.6T的数据量,但这种不平衡不允许在一个节点(10.8.5.61)上完成压缩:
[root@is05 ~]# df -h /export/
Filesystem Size Used Avail Use% Mounted on
/dev/mapper/vg01-data
1.6T 1.6T 28G 99% /export
[root@10.8.5.61 ~]# nodetool status
Datacenter: datacenter1
=======================
Status=Up/Down
|/ State=Normal/Leaving/Joining/Moving
-- Address Load Tokens Owns (effective) Host ID Rack
UN 10.8.5.61 1.56 TB 256 34.8% d8ac5a47-6cd4-47b6-96c5-1d87ccaca71d rack1
UN 10.8.7.49 1.18 TB 256 30.1% 5c860455-1b27-4a0b-a5ed-357c2fa3cb75 rack1
UN 10.8.5.179 1.49 TB 256 35.1% 9a080b1a-09df-42b7-b627-d5221408289f rack1有没有办法可以将数据移动到第二个节点,以便有更多的喘息空间?如何回收数据最多的节点上的空间?
发布于 2018-08-18 20:45:25
节点之间的数据分布取决于你的数据模型,而且它看起来非常不对称( 256个令牌的分布应该是相当好的)-你可以检查第一台和第三台机器上是否存在大分区。
IMHO,您有几种可能性(当然,取决于Cassandra的版本):
forceUserDefinedCompaction操作)强制压缩单个bean(从小的bean开始)-查看此great article获取如何通过jmxterm运行它的示例。您可以使用其他工具,如JConsole来执行此https://stackoverflow.com/questions/51903601
复制相似问题