Hatena::ブログ(Diary)

Taste of Tech Topics このページをアンテナに追加 RSSフィード

Acroquest Technology株式会社の若手エンジニアが書く技術ブログ

2011-11-23

[]Twitter Stormをインストールしてみます!(その1

こんばんは。kimukimuです。

今日は以前紹介した、Twitter Stormインストール手順をまとめてみます。

公開された直後だったためにそれほど大々的な動きはなかったのですが、
最近Cassandraとの接続プロジェクト等も公開されて、
実際に使えるものになりつつあるようです。

最近ネタがころころ変わっていますが、他のネタに窮したからではないんですよ。
決して。ええ。多分。

・・・いえ、Android4.0(Galaxy Nexus)も出ないし、
InfinispanもWin7+WinXPIPv4/IPv6混在してIPマルチキャストできなかったりいろいろありますので、否定はしないのですが。。。。

1.まずはマシンの準備をします


まずはじめにマシンの準備を行います。・・・なんですが、
このために物理マシンを買ってくるわけにもいかないので仮想マシンです。
スペックとしては下記のようなノリです。
一応シリーズとして続く予定ですので、
記事の中で今後性能が足りずに落ちましたという失敗談の時の参考にしてください^^;
尚、この後ゲストマシンは4台くらいまでは増やす予定のため、性能は絞っています。

ホストマシン
ゲストマシン(VirtualBoxの上に構築、1マシン辺りの性能)

とりあえず、下記のように仮想マシンを構築し、
NetInstall用のイメージを設定してインストールを行います。

f:id:acro-engineer:20111123223513j:image:w480

f:id:acro-engineer:20111123223514j:image:w480

インストール時の構成としては、「Basic Server」としてインストールを行っています。
f:id:acro-engineer:20111123223718j:image:w480

インストールが終わったら、ネットワークをブリッジモードにして、
ホストマシンと同じネットワーク上に存在する状態にします。
さすがに、ViratualBoxのコンソールだけでは操作しにくいですからね。
f:id:acro-engineer:20111123223719j:image:w480

2.Stormインストールの前提ソフトウェアインストール


マシンも構築できたので、Stormインストールに必要となる
前提ソフトウェアインストールを行います。

尚、実際に確認を行うときには複数の仮想マシンを使う可能性が高いですが、
変わってくるのはソフトウェアの設定くらいでしょうから、
前提条件をそろえるまでは1マシンで続行し、その後増殖させる方向で行きます。

まず、Stormインストールに必要となるソフトウェアは下記の通りです。

  • Zookeeper
  • ZeroMQ 2.1.7
  • JZMQ
  • Java 6
  • Python 2.6.6
  • unzip

これらをインストールしていきます。

Zookeeper

Zookeeperとは、
設定情報の保守/名前付け/分散同期化の提供、
および各種グループサービスを提供するソフトウェアです。
分散型のシステムを使う場合、各システムの状態を管理する必要がありますので、
それを担う存在になります。

Zookeeperのページから、最新版をダウンロードしてきます。
f:id:acro-engineer:20111123225545j:image:w480

下記のコマンドを実行してファイルを展開し、パスを設定します。

> cd /usr/local
> mkdir download
> cd download
> wget http://ftp.riken.jp/net/apache/zookeeper/zookeeper-3.4.0/zookeeper-3.4.0.tar.gz
> tar xvf zookeeper-3.4.0.tar.gz
> mv zookeeper-3.4.0 ../
> vi /etc/profile → ★末尾に「export PATH=$PATH:/usr/local/zookeeper/bin」を追加★

一度ログアウトして、パス追加を反映させます。
ログインして「env」コマンドを実行し、
PATH変数に「/usr/local/zookeeper/bin」が含まれていればOKです。

次は設定ファイル設定を行います。

> cd /usr/local/zookeeper
> cd conf
> cp -p zoo_sample.cfg zoo.cfg
> vi zoo.cfg

見てみると、とりあえず下記の設定項目はわかりますね。
データ保存ディレクトリと待ちうけポートです。
後で移動しやすいようにデータも含めてzookeeper配下に作成するよう修正します。

# the directory where the snapshot is stored.
# do not use /tmp for storage, /tmp here is just
# example sakes.
dataDir=/usr/local/zookeeper/data ★変更★
# the port at which the clients will connect
clientPort=2181

次はログ出力設定ファイル(log4j.properties)を修正します。
なにせ、初期表示だとコンソールにしかメッセージが出ないからです。

とりあえず下記のように設定しました。

zookeeper.root.logger=INFO, CONSOLE
zookeeper.console.threshold=INFO
zookeeper.log.dir=/usr/local/zookeeper/log/
zookeeper.log.file=zookeeper.log
zookeeper.log.threshold=DEBUG
zookeeper.tracelog.dir=/usr/local/zookeeper/log/
zookeeper.tracelog.file=zookeeper_trace.log

# DEFAULT: console appender only
#log4j.rootLogger=${zookeeper.root.logger}

# Example with rolling log file
log4j.rootLogger=DEBUG, CONSOLE, ROLLINGFILE

設定が終わったら、データ保存先とログ出力先のディレクトリを作っておきましょう。

設定が終わったら起動します。
パスを通しているので、コマンド「zkServer.sh start」で起動します。

> zkServer.sh start
JMX enabled by default
Using config: /usr/local/zookeeper/bin/../conf/zoo.cfg
Starting zookeeper ... STARTED

起動が終わったら、待ちうけポートである2181ポートに対して、
「ruok(Are you OK?)」というメッセージを送って動作確認を行います。
もしここでncコマンドが無い、と言われた場合は
yum install nc」コマンドを実行してインストールしておきましょう。

実行した結果、imokというメッセージが返ってくればOKです。

> echo ruok | nc localhost 2181
imok

・・・一つインストールするだけで結構大変ですね(汗
とりあえず今回はここまで。

次回また続きをインストールします。

szk-takanoriszk-takanori 2011/11/24 22:25 やはりStormのインストーラーがあると便利だよね

acro-engineeracro-engineer 2011/11/28 02:06 そうですね。
後はZeroMQやJZMQはパッケージ依存も多いため、
そのあたりも自動的にインストール出来ないと開発はともかくとして、
実際に使うには難しそうです。

スパム対策のためのダミーです。もし見えても何も入力しないでください
ゲスト


画像認証