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