Storm 1.0.0がリリースされましたので、早速使ってみようと思います。
改修点は300以上
いわゆる大型メジャーバージョンアップというやつです。そのため、tar.gz媒体のサイズが0.10.0と1.0.0で約倍も差が出ています。
0.10.0 | 1.0.0 |
---|---|
73.9 MB | 146 MB |
今回はその中でも、まずStorm UIを使ってみようと思います。
準備
Zookeeperを用意します。
とりあえずZookeeperの最新版(このとき3.4.8)をDLして、設定ファイルを編集します。
$ cp conf/zoo_sample.cfg conf/zoo.cfg
あとはそのまま起動するだけ。
$ bin/zkServer.sh start
ZooKeeper JMX enabled by default
Using config: XXXXX/zookeeper-3.4.8/bin/../conf/zoo.cfg
Starting zookeeper ... STARTED
動きましたね。
このzookeeper上でStormを動かします。
/opt/stormにstormの中身を配置した上で、以下の設定変更をconf/storm.yamlに記述します。
storm.zookeeper.servers:
- "0.0.0.0"
storm.local.dir: "/opt/storm"
nimbus.host: "0.0.0.0"
実行してみます。まずはnimbusから。
$ bin/storm nimbus
logsにnimbus.logが出力されました。動作したようです。
[INFO] Using statistics reporter plugin:org.apache.storm.daemon.metrics.reporters.JmxPreparableReporter
o.a.s.d.m.r.JmxPreparableReporter [INFO] Preparing...
o.a.s.d.common [INFO] Started statistics report plugin...
o.a.s.d.nimbus [INFO] Starting nimbus server for storm version '1.0.0'
次にStorm UIの起動。
$ bin/storm ui
こちらも起動したようです。
o.a.s.s.o.e.j.s.h.ContextHandler [INFO] started o.a.s.s.o.e.j.s.ServletContextHandler{/,null}
o.a.s.s.o.e.j.s.AbstractConnector [INFO] Started SelectChannelConnector@0.0.0.0:8080
Supervisorも起動します。
$ bin/storm supervisor
起動したようですね。
o.a.s.s.o.a.c.f.s.ConnectionStateManager [INFO] State change: CONNECTED
o.a.s.d.supervisor [INFO] Starting supervisor with id 3db82a97-2a95-4dea-8981-5f19a5084f1c at host 192.168.10.104
o.a.s.d.m.MetricsUtils [INFO] Using statistics reporter plugin:org.apache.storm.daemon.metrics.reporters.JmxPreparableReporter
o.a.s.d.m.r.JmxPreparableReporter [INFO] Preparing...
o.a.s.d.common [INFO] Started statistics report plugin...
Storm UIにアクセスしてみる
うまく起動できたら、Storm UIに早速アクセスしてみましょう。
Topologyのサンプルを動かしてみる
以下のコマンドでTopologyのサンプルを動かしてみます。
$ bin/storm jar examples/storm-starter/storm-starter-topologies-1.0.0.jar org.apache.storm.starter.ExclamationTopology ExclamationTopology
うまく起動すればTopology Summaryに表示されます。地味にSearchができるようになっていますね。
ログレベルがUIから変更可能に
Topologyの詳細ページに遷移すると、Topology Actionsに"Change Log Level"が増えています。UIからログレベルが変更可能になったんですね。これは地味に便利かも。
Supervisorログの確認がStorm UIから可能に
今まではサーバ上でsupervisor.logを見る必要がありましたが、1.0.0からStormUIからのsupervisor.log確認ができるようになりましたね。
ただし、ログを確認するためにはlogviewerの動作が必要です。
$ bin/storm logviewer
Supervisor SummaryのHostのIPアドレスをクリックすればlogviewerの画面に遷移し、ログの確認ができます。
logviewer画面の操作性が増している
表示しているログ内部の操作が可能に
これは嬉しい。。。キーワードを入力することで該当するログのみを表示してくれます。
表示したsupervisor.logを"thread"というキーワードで絞り込んでみます。
ログフォルダのファイル一覧が出せる
ログフォルダ配下にあるログの一覧がドロップダウンで出力されるようです。これ、つまり実質ログを見るためにサーバにアクセスする必要がなくなった、ということですね。
ちなみにlogsフォルダの構成も仕様変更があったようで、workerのログはworkers-artifactsというフォルダの中で、TopologyID毎、ポート番号毎でログの配置先が変わっているようです。
->Topologyのログを確認する場合は、上記のフォルダ配下の一覧が出力されるようです。
さて、Storm UIを起動してざっと見てきましたが、今までサーバにアクセスして確認していたものを、なるべくViewで済ませられるように使い勝手、機能性の向上がされているように見えました。まだまだ調べがいがありますね。