首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >由于磁盘空间不足,cassandra压缩未完成

由于磁盘空间不足,cassandra压缩未完成
EN

Stack Overflow用户
提问于 2018-08-18 06:34:49
回答 1查看 181关注 0票数 0

这三台机器都有1.6T的数据量,但这种不平衡不允许在一个节点(10.8.5.61)上完成压缩:

代码语言:javascript
运行
复制
[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

有没有办法可以将数据移动到第二个节点,以便有更多的喘息空间?如何回收数据最多的节点上的空间?

EN

回答 1

Stack Overflow用户

发布于 2018-08-18 20:45:25

节点之间的数据分布取决于你的数据模型,而且它看起来非常不对称( 256个令牌的分布应该是相当好的)-你可以检查第一台和第三台机器上是否存在大分区。

IMHO,您有几种可能性(当然,取决于Cassandra的版本):

  • 将新服务器添加到群集中,并等待重新平衡。无论如何,这是一个好主意,因为使用默认的压缩策略,您需要有高达50%的磁盘空间来执行compactions;
  • add新磁盘到机器,并配置第二个数据目录,因此Cassandra有一个任务的空间;
  • 尝试清理各个表中的垃圾(这个来自DataStax支持的blog post是一个很好的技术概述);
  • 尝试通过JMX ( SSTables bean,forceUserDefinedCompaction操作)强制压缩单个bean(从小的bean开始)-查看此great article获取如何通过jmxterm运行它的示例。您可以使用其他工具,如JConsole来执行此
票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/51903601

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档