我想知道Cassandra节点是否正在运行(我知道该怎么做,我可以检查java
进程是否正在运行,这是唯一使用{{1 }}在该服务器上),并且在不运行时,该节点在停止之前是否已正确排空。
问题是:如何确定java
是否针对当前停止的节点运行?
这可能与应该为空的提交日志有关,但是我不太确定如何检查它。我正在控制台中寻找一种方法。
更新:
按照Pandey的回答,这是我的提交日志文件的样子:
首先在nodetool drain
文件中提交日志的位置:
/etc/cassandra/cassandra.yaml
以及该文件夹的内容:
commitlog_directory: /var/lib/cassandra/commitlog
(1024×1024×32 = 33554432 —恰好是32Mb)
答案 0 :(得分:0)
“ nodetoolrain”仅将所有内存表从节点刷新到磁盘上的SSTables。 Cassandra停止侦听来自客户端和其他节点的连接。如果您从“ nodetool status”中进行检查,则一旦触发了排水命令,节点将显示其他节点的DN状态,也不会发生八卦。您需要在运行nodetool流失后重新启动Cassandra。
对于Commitlog,您需要先在cassandra.yaml中检查提交日志路径,然后才能进行检查。