nodetool 是cassandra中非常常用的命令,其中包含很多条子命令,本来想一条一条的翻译出来,但是工作量显然很大,所以就只写出简要的而且常用的。
其实,nodetool大部分都是 nodetool -h host -u username -pw password [option] 的格式。
nodetool -h 192.168.30.231 -u ershixiong -pw 111111 repair读修复 nodetool -h 192.168.30.231 -u ershixiong -pw 111111 status查看状态 nodetool -h 192.168.30.231 -u ershixiong -pw 111111 info查看节点信息 nodetool -h 192.168.30.231 -u ershixiong -pw 111111 removenodeHostID 移除一个节点 nodetool -h 192.168.30.231 -u ershixiong -pw 111111 stopdaemon 关闭Cassandra服务 nodetool decommission //关闭当前节点,并把数据复制到环中紧邻的下一个节点。 nodetool snapshot //用于创建keyspace或table的快照信息,即数据备份,可用于数据的恢复 nodetool clearsnapshot [-t snapshotname -- keyspacename]//删除快照 nodetool refresh -- keyspacename tablename //把快照文件复制到对应表的目录下(data/keyspace/tablename-UUID) 运行该命令加载新的SSTables 不需要重启机器节点。 nodetool describecluster //输出集群信息。 nodetool describering //后面需要跟keyspace的名字,显示圆环的节点信息。 nodetool drain //会把memtable中的数据刷新到sstable,并且当前节点会终止与其他节点的联系。执行完这条命令需要重启这个节点。一般在Cassandra版本升级的时候才使用这个命令。 nodetool flush //会把memtable中的数据刷新到sstable,不需要重启节点。 nodetool getendpoints keyspacename tablename fieldname//查看key分布在哪一个节点上 nodetool getsstables keyspacename tablename fieldname//查看key分布在哪一个SSTable上 nodetool netstats //获取节点的网络连接信息 nodetool rebuild //当有新的数据中心加入,运行这个命令复制数据到数据中心 nodetool tpstats //列出Cassandra维护的线程池的信息,你可以直接看到每个阶段有多少操作,以及他们的状态是活动中、等待还是完成。 nodetool cfstats //查看表的一些信息,包括读的次数,写的次数,sstable的数量,memtable信息,压缩信息,bloomfilter信息。 nodetool compact [keyspacename [tablename]] //合并sstable文件。省略表,压缩keyspace下面的所有表 省略keyspace,压缩所有keyspace下的所有表 nodetool compactionstats //显示当前正在压缩的任务进度。 nodetool scrub //清洗指定的表的SSTable, 试图删除损坏的部分,保留完好的部分。 nodetool removenode HostID//删除一个节点 例:./nodetool removenode ec1411fc-4ac9-473d-8374-f2fc293e6472 nodetool removenode status //查看删除状态 nodetool removenode force //如果用status发现总在等待一个节点, 行一次force停掉 将已经存在的SSTable载入到另外一个节点数不同或者复制策略不同的集群: sstableloader -d saprk129 /data/cassandra/data/test/user-6ef84b30a0cb11e685d08b1ab488d15d/ sstablescrub 一般出现问题的时候先运行 nodetool scrub 如果第一步没解决问题,使用sstablescrub