NoSQL_Cassandra_Cassandra 运维工具 (自带的命令工具) 使用
本文根据 **学院的视频整理而成
Cassandra 在 安装目录的 bin 目录 和 tool/bin 目录下提供了几个工具
主要有以下几个:
nodetool 工具包,参数众多 cassandra-stress 用于Cassandra的压力测试 sstableloader 加载 sstable 到集群中 sstablescrub 删除集群中的冗余数据 sstablesplit 将大的sstable 分割成小的文件 sstablekeys 列出sstable中包含的关键字 sstable2json 以Json形式显示sstable中的内容
下面依次介绍上面几个工具的使用:
nodetool : nodetool是一个查看集群信息的命令,在Cassandra安装目录下的bin目录中,
nodetool version
nodetool status 常用
nodetool upgradesstables 当进行Cassandra版本升级时,需要运行这个命令更新SSTable upgradesstables 只升级旧版本的SSTable upgradesstables -a 升级所有SSTable upgradesstables keyspace 升级指定keyspace中所有旧版SSTable upgradesstables keyspace table 升级指定keyspace中指定table的SSTable
nodetool stopdaemon
nodetool removenode (移除DN节点) nodetool <options> removenode -- <status> | <force> | <ID> options are:
Description :
Example:
更详细细节请参考官网: https://docs.datastax.com/en/cassandra/2.1/cassandra/tools/toolsRemoveNode.html
nodetool decommission 关闭当前节点,并把数据复制到环中紧邻的下一个节点。
nodetool snapshot 用于创建keyspace或table的快照信息,即数据备份,可用于数据的恢复
nodetool clearsnapshot 当创建了新的快照后,旧的快照并不会自动删除,clearsnapshot用于 使用 -t snapshotname 指定要删除快照的名字 使用 -- keyspace 指定键空间
数据恢复 把快照文件复制到对应表的目录下(安装目录/data/keyspace/tablename-UUID)
nodetool refresh -- keyspace tablename 加载新的SSTables文件到集群中,不需要重启机器节点。
nodetool describecluster 输出集群信息。
nodetool describering
nodetool drain
nodetool flush 会把memtable中的数据刷新到sstable,不需要重启节点。 查看key分布在哪一个节点上,需要三个参数:keyspace、table、keyname
nodetool getsstables 查看key分布在哪一个SSTable上,需要三个参数:keyspace、table、keyname。
nodetool rebuild
nodetool repair
nodetool tpstats 列出Cassandra维护的线程池的信息,你可以直接看到每个阶段有
nodetool cfstats
nodetool cleanup 清理不需要的keyspace,当新增数据节点或者减少数据节点的时候, 后面不带参数清理所有不需要的keyspace 后面紧跟keyspace的名字,则清理对应的keyspace中的冗余
nodetool compact 合并sstable文件。 省略表,压缩keyspace下面的所有表 省略keyspace,压缩所有keyspace下的所有表 合并前后:
nodetool compactionstats 显示当前正在压缩的任务进度。
===========
工具 cassandra-stress
用于压力测试,可以模拟写入和读取 -node 指定连接的节点,多个节点逗号隔开 -port 指定端口,如果修改过端口,那就必须指定 ./tools/bin/cassandra-stress write n=1000000 # 插入一百万数据 ./tools/bin/cassandra-stress read n=200000 # 读取20万行数据 ./tools/bin/cassandra-stress read duration=3m # 持续三分钟,一直读取
===========
工具sstableloader
用于加载sstable数据 载入大量外部数据至一集群; 将已经存在的SSTable载入到另外一个节点数不同或者复制策略不同的集群; 从快照恢复数据。 直接输入sstableloader会弹出帮助信息
===========
工具sstablescrub
清洗指定的表的SSTable,试图删除损坏的部分,保留完好的部分。 一般出现问题的时候先运行 nodetool scrub 如果第一步没解决问题,使用sstablescrub 关闭节点 运行sstablescrub命令 sstablescrub ks1 student --debug
===========
运维工具 — sstablesplit
运行前必须关闭cassandra服务 sstablesplit -s 40 /var/lib/cassandra/data/Keyspace1/Standard1/* SizeTieredCompactionStrategy写密集型 LeveledCompactionStrategy 读密集型 DateTieredCompactionStrategy按照时间段压缩
===========
运维工具 — sstablekeys
=============== 运维工具 — sstable2json
以JSON的形式显示SSTable文件中的内容
(编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |