如何确定是否耗尽了Cassandra节点?

时间:2019-02-23 05:42:17

标签: cassandra nodetool

我想知道Cassandra节点是否正在运行(我知道该怎么做,我可以检查java进程是否正在运行,这是唯一使用{{1 }}在该服务器上),并且在不运行时,该节点在停止之前是否已正确排空。

问题是:如何确定java是否针对当前停止的节点运行?

这可能与应该为空的提交日志有关,但是我不太确定如何检查它。我正在控制台中寻找一种方法。


更新:

按照Pandey的回答,这是我的提交日志文件的样子:

首先在nodetool drain文件中提交日志的位置:

/etc/cassandra/cassandra.yaml

以及该文件夹的内容:

commitlog_directory: /var/lib/cassandra/commitlog

(1024×1024×32 = 33554432 —恰好是32Mb)

1 个答案:

答案 0 :(得分:0)

“ nodetoolrain”仅将所有内存表从节点刷新到磁盘上的SSTables。 Cassandra停止侦听来自客户端和其他节点的连接。如果您从“ nodetool status”中进行检查,则一旦触发了排水命令,节点将显示其他节点的DN状态,也不会发生八卦。您需要在运行nodetool流失后重新启动Cassandra。

对于Commitlog,您需要先在cassandra.yaml中检查提交日志路径,然后才能进行检查。