Cassandra 因压缩和清理而挂起
Posted
技术标签:
【中文标题】Cassandra 因压缩和清理而挂起【英文标题】:Cassandra hangs with compaction and cleanup 【发布时间】:2015-11-18 15:42:05 【问题描述】:Cassandra 2.1.5
正在 Debian 3.2.68-1+deb7u5 x86_64 GNU/Linux
上运行
# java -version
java version "1.7.0_72"
Java(TM) SE Runtime Environment (build 1.7.0_72-b14)
Java HotSpot(TM) 64-Bit Server VM (build 24.72-b04, mixed mode)
6 个节点的集群。来自客户的查询正常工作。但是磁盘空间使用了 80-90%(用于 cassandra 数据)。并且大表的压缩正在挂起(并且清理也是如此) - 没有任何错误。直到节点重新启动 - 在小表的压缩工作之后,直到开始压缩大表(> 50Gb) - 从这一刻起,“进度”和“已完成”列中的nodetool compactionstats
不会更改,并且会增加“待处理任务”。
nodetool stop COMPACTION
没有解决这个问题:检查 - cassandra 此刻在做什么?仅从压缩中跳过大表? 加入新节点,如压缩,挂起......
【问题讨论】:
请参考support.datastax.com/hc/en-us/articles/… 不,我没有看到任何AntiEntropy
或网络错误...但我会阅读 datastax 帮助中心,谢谢。
【参考方案1】:
我们的 4 个节点的 2.1.5 cassandra 集群遇到了类似的情况。没有错误,但压缩被卡住并且节点无法处理传入的请求。我们使用 jstack 进行线程转储,然后找到被挂起的压缩线程。然后,我们杀了它。之后,节点继续照常工作。
【讨论】:
以上是关于Cassandra 因压缩和清理而挂起的主要内容,如果未能解决你的问题,请参考以下文章
Oozie-sqoop 工作流在 cloudera 中因心跳问题而挂起