Storm-0.9.0系の各プロセスの基本JVMオプションまとめ
こんにちは。
現在遅ればせながらStorm-0.9.0系を動作させて試しているのですが、
まずこの後色々やってみるためのベースとして、各プロセスのJVMオプションを確認しておきます。
何故こんなことを行うかというと、StormではWorkerプロセスを管理するのは
Storm自体となるため、Workerに基本どういう情報を渡しているかを見ておくと、
後付けでJVMオプションを渡す場合の参考になるからなんですね。
尚、後付けでJVMオプションを追加する場合、TopologyをSubmitする際のConfigオブジェクトの
以下のキーに値を設定しておけばOKです。
- worker.childopts
- topology.worker.childopts
worker.childoptsとtopology.worker.childoptsに指定した値がスペースで連結され、JVMオプションに追加されます。
あと、上記の2設定値の中に「%ID%」という文字列が含まれていた場合はWorkerプロセスのポートに置換されてJVMオプションとして追加されます。
というわけで、各プロセスのJVMオプションを見てみます・・・
尚、前提としてStormを/opt/storm 配下にインストールした場合です。
あとStorm-Installerを使っているので、ZeroMQ/JZMQは/usr/lib64配下にインストールされ、library.pathにもそのパスが追加されています。
WorkerプロセスのオプションはStorm-StarterのExclamationTopologyを起動して確認しています。
1.Storm-Nimbus
Stormクラスタの管理APIを提供するプロセスです。
■Storm-Nimbus(backtype.storm.daemon.nimbus)
-Dstorm.options= -Dstorm.home=/opt/storm -Djava.library.path=/usr/local/lib:/opt/local/lib:/usr/lib:/usr/lib64 -Dstorm.conf.file= -Xmx1024m -Dlogfile.name=nimbus.log -Dlogback.configurationFile=/opt/storm/logback/cluster.xml
2.Storm-UI
NimbusにアクセスしてStormのクラスタの状態を表示するプロセスです。
■Storm-UI(backtype.storm.ui.core)
-Dstorm.options= -Dstorm.home=/opt/storm -Djava.library.path=/usr/local/lib:/opt/local/lib:/usr/lib:/usr/lib64 -Dstorm.conf.file= -Xmx768m -Dlogfile.name=ui.log -Dlogback.configurationFile=/opt/storm/logback/cluster.xml
3.Storm-Supervisor
NimbusからTopologyの割り当てを受けてWorkerプロセスを起動させるプロセスです。
■Storm-Supervisor(backtype.storm.daemon.supervisor)
-Dstorm.options= -Dstorm.home=/opt/storm -Djava.library.path=/usr/local/lib:/opt/local/lib:/usr/lib:/usr/lib64 -Dstorm.conf.file= -Xmx256m -Dlogfile.name=supervisor.log -Dlogback.configurationFile=/opt/storm/logback/cluster.xml
4.Storm-DRPCServer
外部からのRPCを受け付けてキューイングするプロセスです。Topologyの処理を外部から起動させたい場合等に使えます。
■Storm-DRPCServer(backtype.storm.daemon.drpc)
-Dstorm.options= -Dstorm.home=/opt/storm -Djava.library.path=/usr/local/lib:/opt/local/lib:/usr/lib:/usr/lib64 -Dstorm.conf.file= -Xmx768m -Dlogfile.name=drpc.log -Dlogback.configurationFile=/opt/storm/logback/cluster.xml
5.Storm-LogViewer
Storm0.9.0系から追加された、Stormのログの内容をWebから確認することが可能なプロセスです。
ただ、Storm-Installerを使ってから0.9.0系に更新すると諸事情あって動作しません(汗
その対応はまた別途。
■Storm-LogViewer(backtype.storm.daemon.logviewer)
-Dstorm.options= -Dstorm.home=/opt/storm -Djava.library.path=/usr/local/lib:/opt/local/lib:/usr/lib:/usr/lib64 -Dstorm.conf.file= -Xmx128m -Dlogfile.name=logviewer.log -Dlogback.configurationFile=/opt/storm/logback/cluster.xml
6.Storm-Worker
StormでTopologyを動作させるプロセスです。
ExclamationTopologyだと3プロセス起動されるため、3プロセス分。
■Storm-Worker(backtype.storm.daemon.worker)
-Xmx768m -Djava.library.path=/usr/local/lib:/opt/local/lib:/usr/lib:/usr/lib64 -Dlogfile.name=worker-6701.log -Dstorm.home=/opt/storm -Dlogback.configurationFile=/opt/storm/logback/cluster.xml -Dstorm.id=ExclamationTopology-1-1383168472 -Dworker.id=b0a80c0a-d02f-4286-a57b-bbd16a661d7a -Dworker.port=6701
-Xmx768m -Djava.library.path=/usr/local/lib:/opt/local/lib:/usr/lib:/usr/lib64 -Dlogfile.name=worker-6702.log -Dstorm.home=/opt/storm -Dlogback.configurationFile=/opt/storm/logback/cluster.xml -Dstorm.id=ExclamationTopology-1-1383168472 -Dworker.id=2783ef0d-9ac4-4666-8174-3193307108de -Dworker.port=6702
-Xmx768m -Djava.library.path=/usr/local/lib:/opt/local/lib:/usr/lib:/usr/lib64 -Dlogfile.name=worker-6703.log -Dstorm.home=/opt/storm -Dlogback.configurationFile=/opt/storm/logback/cluster.xml -Dstorm.id=ExclamationTopology-1-1383168472 -Dworker.id=2f8ba269-96dd-4eb3-bcdb-5e1f2a69db27 -Dworker.port=6703
オプションは前と何が変わった?
LogViewerはそもそも前は無かったのでそれはおいておくとして、
WorkerにTopologyの情報やWorkerの情報といったJVMオプションが色々と追加されています。
それがどう使えるか・・・ということについてはまた別の場所で。