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

How do I determine whether a Cassandra node was drained?

我想知道 Cassandra 节点是否 运行ning(我知道该怎么做,我可以检查 java 进程是否 运行ning,这是该服务器上唯一使用 java 的服务器),如果不使用 运行ning,节点在停止之前是否已正确耗尽。

所以问题是:如何确定 nodetool drain 是否针对当前已停止的节点 运行?

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


更新:

根据 Pandey 的回答,我的提交日志文件如下所示:

首先是提交日志在 /etc/cassandra/cassandra.yaml 文件中的位置:

commitlog_directory: /var/lib/cassandra/commitlog

以及该文件夹的内容:

alexis@cass1:~$ ls -l /var/lib/cassandra/commitlog
total 65536
-rw-r--r-- 1 cassandra cassandra 33554432 Feb 22 17:15 CommitLog-6-1550882527529.log
-rw-r--r-- 1 cassandra cassandra 33554432 Feb 22 17:15 CommitLog-6-1550882527530.log

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

"nodetool drain" 只是将所有内存表从节点刷新到磁盘上的 SSTables。 Cassandra 停止监听来自客户端和其他节点的连接。一旦你启动了 drain 命令节点,如果你从 "nodetool status" 中检查,则节点将显示来自其他节点的 DN 状态,八卦也不会发生。您需要在 运行 nodetool 耗尽后重新启动 Cassandra。

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