-
Notifications
You must be signed in to change notification settings - Fork 1
Run in Single Process
acromusashi edited this page Sep 4, 2012
·
23 revisions
本ページでは他のプロセスと通信せずにStorm関連プロセスのみで動作する下記の確認用Topologyの利用方法について説明します。
Topology名称 | 機能 |
---|---|
LocalConsolePrintTopology |
StormTopologyの外部には接続せず、共通メッセージをコンソール出力するTopology
|
LocalJdbcStoreTopology |
外部には接続せず、Snmp型共通メッセージをH2データベースに保存するTopology
|
メッセージをコンソール出力するTopologyです。
起動方法/設定方法は下記の通りです。
wget https://github.com/downloads/acromusashi/acromusashi-stream-example/acromusashi-stream-example-1.0.0.zip
unzip acromusashi-stream-example-1.0.0.zip
cd acromusashi-stream-example
chmod +x bin/startLocalConsolePrint.sh
bin/startLocalConsolePrint.sh
下記のようなコンソールログが表示されることを確認します。
Header[messageId=41e31f23-bde5-4836-9bce-d71c14e069f6,timestamp=1346735503541,source=192.168.0.1,type=message,version=1.0,additionalHeader={}],[Counter:, 4]
6. Stormクラスタの各ノードのlibディレクトリ(Stormインストーラを用いている場合は/opt/storm/lib)配下に【storm-X.X.X.jarを除いた】「acromusashi-stream-example/lib」ディレクトリ配下のjarファイルを配置し、Supervisorプロセスを再起動します。
その際、libディレクトリ直下に「acromusashi-stream-example/lib」ディレクトリ配下に存在するjarファイルを全て配置してください。その際、libディレクトリの配下にコピーを行うのはrootユーザで行ってください。(例:acromusashi-stream-example/lib/camel-core-2.10.0.jarもlibディレクトリ直下に配置してください。)
sudo service storm-supervisor restart
vi conf/LocalConsolePrintTopology.yaml
設定内容(__NIMBUS_HOST__を編集してください)
## LocalConsolePrintTopology Sample Config
## NimbusHost
## Set StormCluster's Nimbus Host
nimbus.host : __NIMBUS_HOST__ ## Nimbusホストを設定
## NimbusPort
nimbus.thrift.port : 6627
vi bin/startLocalConsolePrint.sh
設定内容(trueを編集してください)
java \
-Dlog4j.configuration=log4j.properties \
-Dstorm.jar=${STREAM_HOME}/lib/acromusashi-stream-example-1.0.0.jar \ ## ライブラリの投入設定
-cp ${STREAM_CLASSPATH} \
acromusashi.stream.example.topology.LocalConsolePrintTopology \
${STREAM_HOME}/conf/LocalConsolePrint.yaml false ## true > falseに修正
cd acromusashi-stream-example
chmod +x bin/startLocalConsolePrint.sh
bin/startLocalConsolePrint.sh
Stormクラスタの各ノードのログファイル(Stormインストーラを用いている場合は/var/log/storm/worker.log)に下記のようなメッセージが出力されていることを確認します。
Header[messageId=41e31f23-bde5-4836-9bce-d71c14e069f6,timestamp=1346735503541,source=192.168.0.1,type=message,version=1.0,additionalHeader={}],[Counter:, 4]
cd /opt/storm
bin/storm kill LocalConsolePrintTopology
Trapの情報をJDBCを利用してデータベースに格納するTopologyです。
このサンプルでは、データベースとしてH2を利用しています。
サンプルにはH2のライブラリも含んでいるため、データベースをインストールする必要はありません。
起動方法/設定方法は下記の通りです。
wget https://github.com/downloads/acromusashi/acromusashi-stream-example/acromusashi-stream-example-1.0.0.zip
- Topologyを起動するノードにファイルを展開します。(acromusashi-stream-exampleディレクトリが作成され、その配下に展開されます)
unzip acromusashi-stream-example-1.0.0.zip
cd acromusashi-stream-example
vi conf/LocalJdbcStoreTopology.yaml
設定内容(CamelContext.Pathを編集してください)
## TopologyDefine
SnmpGenSpout.Parallelism : 1
JdbcStoreBolt.Parallelism : 1
CamelContext.Path : 'file:/opt/storm/conf/camel-context-example-jdbc.xml' ## 設定ファイルパスを設定
chmod +x bin/startLocalJdbcStore.sh
bin/startLocalJdbcStore.sh
CamelJdbcStoreBoltを起動したノードのdbdataディレクトリ配下に、データベースファイルが生成されます。