Cassandra運維工具

2021-09-19 08:23:40 字數 2979 閱讀 5411

一.nodetool命令  cassandranodetool是乙個檢視集群資訊的命令,可以檢視集群統計資訊,節點資訊,資料環資訊,增刪節點,重新整理memtable資料到sstable,合併sstable等

1.nodetool version 用於顯示cassandra當前版本資訊

2.nodetool status用於顯示當前機器節點資訊,資料中心機架資訊

3.nodetool upgradesstables 當cassandra進行版本公升級時,需要執行這個命令更新sstable到最新的版本  upgradesstables只公升級舊版本的sstable檔案  upgradesstables -a 公升級所有的sstable檔案,包括舊版本的和新版本的sstable檔案,upgradesstables keyspace公升級指定keyspace的sstable檔案 upgradesstables keyspace table 指定keyspace下的表

4.nodetool stopdaemon 停止cassandra服務

5.nodetool snapshot 用於建立cassandra keyspace或table的快照資訊,即資料備份,用於資料恢復 使用-t name 指定快照名字,否則會用時間戳指定快照的名字,如果為多個keyspace建立快照,後面可指定nodetool snapshot k1 k2 k3  也可以為具體某乙個表建立快照 nodetool snapshot  -cf table  keyspace 不同keyspace下表 -kt k1.t1, k2.t2

6.nodetool clearsnapshot  建立了新的快照時,舊的快照不會自動刪除,clearsnapshot 用於刪除所有快照資訊,所以為了避免誤刪,要先將快照移到其他位置,執行這個命令的唯一目的就是節省磁碟空間 使用-t snapshotname指定要刪除的快照的名字,指定--keyspace刪除指定keyspace的快照

7.資料恢復 第一步 把快照檔案複製到指定表的資料目錄下 比如/data/keyspace/table-uuid,第二步 執行nodetool refresh --keyspace table 載入新的sstable檔案到集群中,不需要重啟機器節點

8.nodetool decommision 關閉當前節點,並把資料複製到環中緊鄰的下一節點中

9.nodetool describecluster 用於描述集群資訊

10.nodetool describering  後面跟keyspace名字,顯示圓環的節點資訊

11.nodetool drain  會把memtable中的資料重新整理到sstable,並且終止當前節點與其他節點之間的聯絡。執行完這條命令要重啟這個節點,一般cassandra公升級時才會使用這個命令,如果只是單純的想把memtable中的資料重新整理到sstable中,請使用nodetool flush命令

12.nodetool flush  把memtable中的檔案重新整理到sstable中,不需要重啟節點

13.nodetool getendpoints 檢視key分布在哪台機器上,需要三個引數: keyspace table key 

14.nodetool getsstables  檢視某個key落在那個sstable中 需要引數為keyspace table key

15.nodetool netstats 獲取節點的網路連線資訊 可以指定-h引數檢視具體節點資訊

16.nodetool rebuild  新的資料中心加入集群是,執行這個命令複製資料到新的資料中心

17.nodetool repair 在刪除資料時,cassandra並非真正的刪除了資料,而是重新插入一條資料,記錄刪除記錄的資訊和時間,叫做tombstone,使用nodetool repair可以刪除墓碑資料,頻繁修改的資料節點可以使用這個命令節省空間,提高讀速度。

18.nodetool tpstats 列出cassandra維護的執行緒池的資訊,你可以直接看到每個階段有多少操作,以及他們的狀態是活動中,等待還是完成。

19.nodetool cfstats 檢視表的一些資訊,包括讀的次數,寫的次數,sstable數量,memtable資訊,壓縮資訊,bloomfilter資訊。使用-h 則檔案的資訊會以可讀的方式

20.nodetool cleanup 清理不需要的keyspace,當新增資料節點或減少資料節點的時候,資料會在節點中重新分發,可以執行這個命令,清除不分布在這個節點的keyspace,唯一的目的就是節省磁碟空間。後面不帶引數會清理所有不需要的keyspace,加keyspace會清理對應的keyspace中冗餘的資料

21.nodetool compact  用於合併sstable檔案,省略表的名字會壓縮指定keyspace的所有表的sstable檔案,如果不加keyspace會壓縮所有的keyspace下的sstable檔案

22.nodetool compactionstats 顯示當前壓縮資訊

23.cassandra-stress 用於壓力測試 模擬寫入和讀取   ./tool/bin/cassandra-stress write n=10000 插入一萬條資料  ./tool/bin/cassandra-stress read n=10000 讀取一萬條資料  ./tool/bin/cassandra-stress read duration=3m 持續三分鐘一直讀取

24.sstable-loader  用於載入大量外部資料至一集群 或者將已經存在的sstable載入到另外乙個節點數不同或者複製策略不同的集群或者從快照中恢復資料

25.sstablescrub  清洗指定的表的sstable,試圖刪除損壞的部分,保留完好的部分。因為是在節點關閉的狀況下可以執行,所以他可以修復nodetool scrub不能修復的問題 一般出現問題的時候先使用 nodetool scrub修復 如果沒有解決,那麼使用sstablescrub修復

26.sstablesplit  切割大的sstable為小檔案  執行前必須關閉cassandra服務,執行sstablesplit -s 40 sstable所在的路徑  把大的檔案分割成小的40m的檔案

27.sstable2json  以json方式顯示sstable檔案的內容

**

運維工具體系

發布變更流程管理工具 做為系統介面與其他角色的工作銜接。並提供審批環節控制發布變更的風險。流程管理工具並不負責具體的業務操作的執行,只是作為單據系統跟蹤流程和確保閉環。告警和突發管理工具 體現業務受損的告警自動建單管理。人工確認之後公升級為突發單。通過建單管理告警和突發確保流程的閉環,以及每次故障都...

好用的運維工具

官網 centos yum install epel y yum install python pip python devel y 安裝,需要epel源 yum install y glances 執行glances 通用安裝 要同時安裝依賴項和最新版本只需輸入以下命令列 curl l bin b...

LINUX常用運維工具

作業系統 centos ubuntu,redhat suse,freebsd db中介軟體 mycat,atlas,cobar,amoeba,mysql proxy 相關 lvs,keepalived,haproxy,nginx,apache,heartbeat 此行都是 快取 squid ngin...