Run in Single Process Japanese - acromusashi/acromusashi-stream-example GitHub Wiki
Run in Single Process Japanese
シングルプロセスでの利用方法
本ページでは他のプロセスと通信せずにStorm関連プロセスのみで動作する確認用Topologyの利用方法について説明します。
LocalConsolePrintTopology
共通メッセージをコンソール出力するTopologyです。
起動方法/設定方法は下記の通りです。
1. GitHubからファイルを取得します。
wget https://github.com/downloads/acromusashi/acromusashi-stream-example/acromusashi-stream-example-1.0.0.zip
2. Linuxマシンに配置し、ファイルを展開します。(acromusashi-stream-exampleディレクトリ生成)
unzip acromusashi-stream-example-1.0.0.zip
ローカルモード起動
3. 起動スクリプト「startLocalConsolePrint.sh」でStormTopologyをローカルモードで起動します。
cd acromusashi-stream-example
chmod +x bin/startLocalConsolePrint.sh
bin/startLocalConsolePrint.sh
クラスタモード起動
3. Stormクラスタのlibディレクトリ(Stormインストーラを用いている場合は/opt/storm/lib)配下に「acromusashi-stream-example/lib」ディレクトリ配下のjarファイルを配置し、Supervisorプロセスを再起動します。
sudo service storm-supervisor restart
4. Topology設定ファイル「LocalConsolePrintTopology.yaml」にNimbusホストを設定します。
vi conf/LocalConsolePrintTopology.yaml
設定内容
## LocalConsolePrintTopology Sample Config
## NimbusHost
## Set StormCluster's Nimbus Host
nimbus.host : __NIMBUS_HOST__ ## Nimbusホストを設定
## NimbusPort
nimbus.thrift.port : 6627
5. 起動スクリプト「startLocalConsolePrint.sh」のローカル起動フラグを解除し、ライブラリの投入設定を行います。
vi bin/startLocalConsolePrint.sh
設定内容
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に修正
6. 起動スクリプト「startLocalConsolePrint.sh」でStormTopologyをクラスタモードで起動します。
cd acromusashi-stream-example
chmod +x bin/startLocalConsolePrint.sh
bin/startLocalConsolePrint.sh
LocalJdbcStoreTopology
SNMP形式の共通メッセージをH2データベースに格納するTopologyです。
起動方法/設定方法は下記の通りです。
1. GitHubからファイルを取得します。
wget https://github.com/downloads/acromusashi/acromusashi-stream-example/acromusashi-stream-example-1.0.0.zip
2. Linuxマシンに配置し、ファイルを展開します。(acromusashi-stream-exampleディレクトリ生成)
unzip acromusashi-stream-example-1.0.0.zip
3. Topology設定ファイル「LocalJdbcStoreTopology.yaml」に設定ファイルパスを設定します。
cd acromusashi-stream-example
vi conf/LocalJdbcStoreTopology.yaml
設定内容
## TopologyDefine
SnmpGenSpout.Parallelism : 1
JdbcStoreBolt.Parallelism : 1
CamelContext.Path : 'file:/opt/storm/conf/camel-context-example-jdbc.xml' ## 設定ファイルパスを設定
4.起動スクリプト「startLocalJdbcStore.sh」でStormTopologyをローカルモードで起動します。
chmod +x bin/startLocalJdbcStore.sh
bin/startLocalJdbcStore.sh
結果、dbdataディレクトリ配下にデータベースファイルが生成され、下記のコマンドで内容概要を見ることが可能です。
cat dbdata/sample.h2.db