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)
とりあえず、これで大体どんな情報があるかの概要はわかりましたね。
とはいえ、実際に中身を見なければどうしようもないため、
いつか中身をデシリアライズしてツリー表示出来る何かを作りましょうかねぇ・・・