16. httpインターフェース
• httpインターフェースの課題
– Cassandraの機能追加への対応コスト
– パフォーマンスの低下
• Cassandraが使いやすくなった
– CQL3
– 様々なドライバ
✔
Cassandraに直接接続する選択肢も提供
16
Copyright
(C)
2014
Yahoo
Japan
Corporation.
All
Rights
Reserved.
無断引用・転載禁止
17. 運用している環境 その2
2014年8月~ Cassandra共有環境 提供開始
Cassandra
Thrift, CQL3 etc…
17
Copyright
(C)
2014
Yahoo
Japan
Corporation.
All
Rights
Reserved.
無断引用・転載禁止
18. 運用している環境 その3
大規模サービス向けに専用環境も提供
etc…
Cassandra
なんとか
18
Copyright
(C)
2014
Yahoo
Japan
Corporation.
All
Rights
Reserved.
無断引用・転載禁止
Cassandra
Thrift, CQL3
Thrift, CQL3
19. 運用中の環境
Cassandra version 1.2.15, 2.0.5, 2.0.10
Production clusters 9
Production nodes > 200"
Cluster size 6 ~ 40+"
Total read / write of peak" 75kqps / 30kqps
Data size about 1TB
19
Copyright
(C)
2014
Yahoo
Japan
Corporation.
All
Rights
Reserved.
無断引用・転載禁止
21. Hardware
• CPU
– 8cores ~ 12cores
• Memory
– 24GB or 64GB
• Disk
– SAS 300GB * 4
• RAID 0 or RAID 10
– そろそろSSDも…
21
Copyright
(C)
2014
Yahoo
Japan
Corporation.
All
Rights
Reserved.
無断引用・転載禁止
30. 注意していること
• 新サービスの利用開始時
– コネクション数が異常に増えていないか
– リクエスト数が異常に増えていないか
• 99percentile latencyが悪化してないか
– GC
– Disk Busy
– サービスごとの利用状態
30
Copyright
(C)
2014
Yahoo
Japan
Corporation.
All
Rights
Reserved.
無断引用・転載禁止
31. 学んだこと
31
Copyright
(C)
2014
Yahoo
Japan
Corporation.
All
Rights
Reserved.
無断引用・転載禁止
32. nodetool cleanup is 大事
32
Copyright
(C)
2014
Yahoo
Japan
Corporation.
All
Rights
Reserved.
無断引用・転載禁止
33. nodetool cleanup is 大事
nodetool cleanup …
cleanup
[keyspace][table]
Triggers
the
immediate
cleanup
of
keys
no
longer
belonging
to
this
node.
This
has
roughly
the
same
effect
on
a
node
that
a
major
compaction
does
in
terms
of
a
temporary
increase
in
disk
space
usage
and
an
increase
in
disk
I/O.
Optionally
takes
a
list
of
table
names.
ノードの増減などによりtoken
rangeに変更が
あった時に担当範囲外になったデータを
cleanupによって削除します
33
✔
Copyright
(C)
2014
Yahoo
Japan
Corporation.
All
Rights
Reserved.
無断引用・転載禁止
34. nodetool cleanupをしないとどうなりま
すか?
無駄なデータがノードに残り続けます。
34
nodetool cleanup is 大事
Q
A
Copyright
(C)
2014
Yahoo
Japan
Corporation.
All
Rights
Reserved.
無断引用・転載禁止
35. 無駄なデータがノードに残り続けて
最悪の場合削除したデータが復活します。
35
nodetool cleanup is 大事
A
nodetool cleanupをしないとどうなりま
すか?
無駄なデータがノードに残り続けます。
Q
A
Copyright
(C)
2014
Yahoo
Japan
Corporation.
All
Rights
Reserved.
無断引用・転載禁止
36. 前に削除したデータの一部が復活し
てるけど何かしました?
KVSチーム(ぼく達)
サービス担当者
なにもしてませんが調べてみます
• repairはちゃんと実行していたので当初原因不明
• 後にcleanupをしなかったことが原因だと判明
36
nodetool cleanup is 大事
Copyright
(C)
2014
Yahoo
Japan
Corporation.
All
Rights
Reserved.
無断引用・転載禁止
37. 37
nodetool cleanup is 大事
データ復活の順番 :データ
1. データが保存されている(RF=3)
Copyright
(C)
2014
Yahoo
Japan
Corporation.
All
Rights
Reserved.
無断引用・転載禁止
38. 38
nodetool cleanup is 大事
:データ
2. データを持っているノードをはずす
Copyright
(C)
2014
Yahoo
Japan
Corporation.
All
Rights
Reserved.
無断引用・転載禁止
39. 39
nodetool cleanup is 大事
:データ
3. token range 変更によりデータも移動
Copyright
(C)
2014
Yahoo
Japan
Corporation.
All
Rights
Reserved.
無断引用・転載禁止
40. 40
nodetool cleanup is 大事
:ゴミデータ
:データ
4. はずしたノードを戻すと → になる
本来は を削除するためにcleanupを実施
Copyright
(C)
2014
Yahoo
Japan
Corporation.
All
Rights
Reserved.
無断引用・転載禁止
41. 41
nodetool cleanup is 大事
delete
:ゴミデータ
5. データ に削除リクエスト
担当範囲になっているノードのみに届く
Copyright
(C)
2014
Yahoo
Japan
Corporation.
All
Rights
Reserved.
無断引用・転載禁止
42. 42
nodetool cleanup is 大事
:データJ
:ゴミデータ
6. しばらくするとデータが担当ノードから
実際に削除される
は残ったままだが参照はできない
Copyright
(C)
2014
Yahoo
Japan
Corporation.
All
Rights
Reserved.
無断引用・転載禁止
43. 43
nodetool cleanup is 大事
:データJ
:ゴミデータ
7. データを持っていたノードを再びはずす
Copyright
(C)
2014
Yahoo
Japan
Corporation.
All
Rights
Reserved.
無断引用・転載禁止
44. 44
nodetool cleanup is 大事
:データL
8. token range 変更
→ に昇格しデータを参照可能になる
Copyright
(C)
2014
Yahoo
Japan
Corporation.
All
Rights
Reserved.
無断引用・転載禁止
45. 45
nodetool cleanup is 大事
:データLLL
9. repairにより全ノードにデータ復活
Copyright
(C)
2014
Yahoo
Japan
Corporation.
All
Rights
Reserved.
無断引用・転載禁止