nodetool

nodetoolのしかも使いそうなものだけ.
というか他にもコマンドがありすぎて,手に負えない.

状態確認

ring

ノード間で形成されているringを確認.

nodetool ring -h localhost

Address       Status     Load          Range                                      Ring
                                      152969239942589118687714590887829286072    
192.168.0.b  Up         2.34 KB       69534630512645496569860700257523630715     |<--|
192.168.0.a  Up         4.56 KB       152969239942589118687714590887829286072    |-->|
info

ノード自体の状態を表示.

nodetool info -h localhost

152969239942589118687714590887829286072
Load             : 4.56 KB
Generation No    : 1275571173
Uptime (seconds) : 684
Heap Memory (MB) : 47.54 / 1023.94

メンテナンス

flush

SSTableに全てのデータを書き込む.

# 正常時はコマンドが完了するだけだが...
nodetool flush MyKeyspace -h localhost
compact

Compactionをしてデータファイルの無駄な箇所を消してくれる.

# 始めはLoadが3.7KB
nodetool info -h localhost
36564839465922487324992449299751062249
Load             : 3.7 KB
Generation No    : 1276321407
Uptime (seconds) : 13983
Heap Memory (MB) : 110.25 / 1023.94

# Compactionをすると
nodetool compact -h localhost

# 2.88KBまで減った
nodetool info -h localhost
36564839465922487324992449299751062249
Load             : 2.88 KB
Generation No    : 1276321407
Uptime (seconds) : 13992
Heap Memory (MB) : 100.93 / 1023.94
snapshot

SSTableのスナップショットを作る.

nodetool snapshot -h localhost

# snapshots配下にファイルが生成される.
ls -lr /var/lib/cassandra/data/MyKeyspace/snapshots/*
/var/lib/cassandra/data/MyKeyspace/snapshots/1276335534302:
total 12
-rw-r--r-- 2 root root 106 Jun 12 18:36 Scores-2-Index.db
-rw-r--r-- 2 root root 565 Jun 12 18:36 Scores-2-Filter.db
-rw-r--r-- 2 root root 595 Jun 12 18:36 Scores-2-Data.db

統計情報

cfstats

カラムファミリごとの統計情報.R/Wレイテンシやキャッシュヒット率が出てますね.

nodetool cfstats -h localhost

# 他のキースペース分も表示されるが,多すぎなので省略.
----------------
Keyspace: MyKeyspace
	Read Count: 6
	Read Latency: 1.6068333333333333 ms.
	Write Count: 0
	Write Latency: NaN ms.
	Pending Tasks: 0
		Column Family: Scores
		SSTable count: 1
		Space used (live): 786
		Space used (total): 786
		Memtable Columns Count: 0
		Memtable Data Size: 0
		Memtable Switch Count: 0
		Read Count: 6
		Read Latency: 1.607 ms.
		Write Count: 0
		Write Latency: NaN ms.
		Pending Tasks: 0
		Key cache capacity: 200000
		Key cache size: 1
		Key cache hit rate: 0.8333333333333334
		Row cache: disabled
		Compacted row minimum size: 0
		Compacted row maximum size: 0
		Compacted row mean size: 0
tpstats

正直何だか分からない...こんなのもあるよということで.

nodetool tpstats -h localhost

Pool Name                    Active   Pending      Completed
STREAM-STAGE                      0         0              0
RESPONSE-STAGE                    0         0              2
ROW-READ-STAGE                    0         0              6
LB-OPERATIONS                     0         0              0
MESSAGE-DESERIALIZER-POOL         0         0           4109
GMFD                              0         0           4102
LB-TARGET                         0         0              0
CONSISTENCY-MANAGER               0         0              1
ROW-MUTATION-STAGE                0         0              3
MESSAGE-STREAMING-POOL            0         0              0
LOAD-BALANCER-STAGE               0         0              0
FLUSH-SORTER-POOL                 0         0              0
MEMTABLE-POST-FLUSHER             0         0              1
FLUSH-WRITER-POOL                 0         0              1
AE-SERVICE-STAGE                  0         0              0
HINTED-HANDOFF-POOL               0         0              2