夢とガラクタの集積場

落ちこぼれ三流エンジニアである管理人の夢想=『夢』と、潰えた夢=『ガラクタ』の集積場です。

Storm

Storm0.8.1→0.8.2でStorm媒体の変更点

相当間が空いてしまっていますが、こんにちは。1月にStorm0.8.2がリリースされた・・・ということで、 まずは媒体がどういう風に変わったのか確認してみます。・・・ええ、バージョン更新する際にきちんとまとめておかないとやらかしそうなもので(汗 1.媒体…

StormからStormクラスタの情報を取得する方法(その2

こんにちは。とりあえず、次のものに移るためにも下記の2点くらいは まとめてしめましょうか^^; どんな情報が取得できるか 取得できない情報は何か? まずは情報が1かたまりとして大量に出ており、 結果なにがなにやらわからなかったため、1段階整形し…

NimbusからStormクラスタの情報を取得する方法(その1

こんにちは。前回マシンの性能を計測していたような気もしますが、 とりあえずサーバマシン選定中でいまだ手に入っていないので今回もStormネタのようです。少し前にStormがZookeeperに保存している情報を確認したのですが、 それを何か楽に取る方法はないか…

Stormが使うZookeeperの中ってどうなっているの?(まとめ

こんにちは。とりあえず、2回とりあえずコマンドラインでうって来たもののまとめです。StormのZookeeperに保存している情報は下記のような構成になっていました。 storm/ StormのZookeeperルートディレクトリ ├―workerbeats/ Workerプロセスの設定情報/Hea…

Stormが使うZookeeperの中ってどうなっているの?(その2

こんにちは。前回に引き続き、Zookeeperの中を(とりあえずわかる範囲で)見て行きます。 前回はStormのクラスタを起動した状態での確認だったので、 今回はTopologyをSubmitした状態での確認ですね。 1.TopologySubmit前の下準備 Stormの機能をフルに実行し…

Stormが使うZookeeperの中ってどうなっているの?

こんにちは。最近テーマ・・・というのも無くなりつつあるので、 とりあえずその日その日で思いついた雑多ネタを投稿していくようなノリになりそうです。ハイ。とまぁ、そういうぼやきはさておき。 1.StormはZookeeperを何に使用しているのか? StormはZooke…

Stormの内部実装を解説する資料確認してます(その6

こんにちは。引き続きメッセージ処理のページを読み進めます。今回はTaskがメッセージを受信したときの動作について。 Message処理実装 ====== ■Taskがメッセージ受信時に行う動作はローカルモードか、分散モードかで異なる1.ローカルモードにおいては…

Stormの内部実装を解説する資料確認してます(その5

こんにちは。では、StormのTuple処理の肝であるMessage Passingについて読んでいきます。 Message処理実装 ====== 本ページでは、Emit/TransferされたTupleがどう動作するかを記述する。■Workerがメッセージの転送について統括する。 1.Workerにおいて…

Stormの内部実装を解説する資料確認してます(その4

前回に引き続き、Topologyのライフサイクルの章について読み進めます。 Topologyのライフサイクル Topologyモニタリング ===== ■Nimbusは起動している間ずっとTopologyのモニタリングを行う。 1.Timerスレッドにて定期的にTopologyモニタリングタスクが…

Stormの内部実装を解説する資料確認してます(その3

少し間が空いてしまいましたが、続きになります。今回からはLifecycle of a topologyの章を確認していきます。 ・・・とりあえず書いてみましたが、ひたすらべた書きになっているため、 一通り読み終わったらわかりやすくまとめる必要がありそうですね(汗 T…

Storm0.7.2→0.8.0で使用しているライブラリの差分

こんにちは。日本時間昨日未明にStormの0.8.0がリリースされました! 性能の大きな向上、リソース配分の動的調整など、 追加機能が多いリリースですが、ライブラリもかなり更新されています。そのため、まずはライブラリを比較して差分を出してみることにし…

Stormの内部実装を解説する資料確認してます(その2

こんにちは。前回に引き続き、Stormの内部実装説明資料の確認を進めます。 1.Structure of the codebase(続き Java interfaces ======= StormのAPIインタフェースはJavaで定義されている。 主に、下記の3つのインタフェースが存在する。 IRichBolt …

Stormの内部実装を解説する資料確認してます(その1

こんにちは。最近StormのGitHubにおいて、『Stormの内部構造の解説ページ』が開設されています。 そのため、ソースコードリーディング・・・とは違いますが、 解説ページを読んで、その内容をまとめていこうと思います。 1.Structure of the codebase ===…

1人、Stormソースコードを読んでみよう(No.2

というわけで始まってしまった(?)この記録。まずは、ディレクトリの中身概要を確認してみます。 確認の結果下記のようになっていました。 Storm ├─bin 起動/環境構築スクリプト ├─conf Stormの設定ファイル ├─log4j Stormのログ出力設定ファイル ├─src │…

1人、Stormソースコードを読んでみよう(No.1

こんにちは。とりあえず、某所でStormの環境構築やクラスタ化については 書き進めるつもりですので、 こちらでは余り需要がなさそうなコンテンツを進めようと思います。そんなわけで、Stormソースコード読み記録を開始します!Stormの中身を理解する上で、も…

Twitter Stormの機能まとめメモ(Topology構築編)

こんにちは。とりあえず、Topologyについて書いて軟着陸させよう・・・ ということで、Topologyについて書きます。Topologyとは、『SpoutとBoltを組み合わせて処理ネットワークを構築する機構』です。 #または、構造自体をTopologyと呼びます。実際にどうい…

Twitter Stormの機能まとめメモ(Boltによるデータ処理、中身)

Boltのまとめその2です。とりあえず、おそらく最も単純であろうBolt、 PrinterBolt(storm-startar プロジェクト)を用いて確認します。 とりあえず、メソッドの現状わかっている用途についてはJavaDocを参照ください。 public class PrinterBolt implement…

Twitter Stormの機能まとめメモ(Boltによるデータ処理、概要)

最近うだうだ呟いているののまとめその2です。今度はデータを取得する側ではなく、処理する側を。 Boltによるデータ処理 Stormではデータを処理する際には、Boltというコンポーネントを使用する。 Boltは一つではなく、複数の階層に分けて定義することがで…

Twitter Stormの機能まとめメモ(Spoutによるデータ取得)

最近Twitter Stormについてうだうだ呟いていますので、一端まとめを。 放置しているとそのまま流れちゃうんですよねぇ。。。TwitterでTwitter Stormについて呟く辺りが微妙な所ではありますが^^; Spoutによるデータの取り込み StormではStormクラスタに対…

Twitter Stormの特徴は?

こんばんは。1か月書かずに過ごしてしまいましたが、 Twitter Stormをとりあえず確認して、動かしてみる企画再開です。まず、Twitter Storm Wikiから、 Twitter Stormの性質について確認します。まず、Twitter StormはCEP(Complex Event Processing)という…

Twitter Stormって何なんだろ?

こんばんは。とりあえず最近気になっていた Twitter Stormについての概要情報がある場所へのリンクをまとめます。・・ええ。どんどんとりとめなくなってきています。 1.Twitter Stormとは? Complex Event Processing(複合イベント処理)と、 MapReduceのよ…