夢とガラクタの集積場

落ちこぼれ三流エンジニアである管理人の夢想=『夢』と、潰えた夢=『ガラクタ』の集積場です。

Stormが使うZookeeperの中ってどうなっているの?(まとめ

こんにちは。

とりあえず、2回とりあえずコマンドラインでうって来たもののまとめです。

StormのZookeeperに保存している情報は下記のような構成になっていました。

storm/  StormのZookeeperルートディレクトリ
├―workerbeats/ Workerプロセスの設定情報/HeartBeat情報/Worker中の各タスクの統計情報(メッセージ単位の情報はもたない)
| └─【TopologyID1】/
|     【SupervisorID1】-【Port番号1】(clojure.lang.PersistentArrayMap)
|     【SupervisorID1】-【Port番号2】(clojure.lang.PersistentArrayMap)
|     【SupervisorID2】-【Port番号1】(clojure.lang.PersistentArrayMap)
|     【SupervisorID2】-【Port番号2】(clojure.lang.PersistentArrayMap)
|
├―storms/ Stormクラスタ上のTopology情報/Topology定義/Spout&Bolt定義/ストリーム定義他
|   【TopologyID1】(backtype.storm.daemon.common.StormBase)
|
├―errors/ Stormクラスタ上で発生したエラー情報
| └─【TopologyID1】/
|     __acker
|     【Task名称1】
|     【Task名称2】
|     【Task名称3】
|
├―supervisors/ Stormクラスタ上のSupervisorホスト定義
|   【SupervisorID1】(backtype.storm.daemon.common.SupervisorInfo)
|   【SupervisorID2】(backtype.storm.daemon.common.SupervisorInfo)
|
└―assignments Supervisor-Worker-Taskマッピング/Supervisorノード上のファイル保存パス他
  └─【TopologyID1】(backtype.storm.daemon.common.Assignment)

とりあえず、これで大体どんな情報があるかの概要はわかりましたね。

とはいえ、実際に中身を見なければどうしようもないため、
いつか中身をデシリアライズしてツリー表示出来る何かを作りましょうかねぇ・・・