夢とガラクタの集積場

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

Storm

Twitterの新ストリーム処理基盤、Heronのアーキテクチャは?(詳細

こんにちは。前回論文の前半部、Stormの問題点を読みましたが、 今回は中盤部、Twitter Heronのアーキテクチャについてです。 あと、後半部のStormとHeronの性能比較については下記のページでまとめているのの 事例が増えただけでしたので、とりあえず省略す…

Twitter Heronの論文でのStormの問題点は?(詳細

こんにちは。前回あーいう形でサマリ記事を読んだので、次は実際に論文を読んでみるしかないだろう・・ ということで、Twitter Heronの論文を読んでみました。 今回は前半の、Stormの問題点を記述した個所と、設計検討結果についてです。Twitter Heronただ、…

Twitter Heronの論文でのStormの問題とHeronの利点は?(サマリ

こんにちは。前回TwitterBlogのHeronの記事を読み込んでみたので、 次は論文を読むか、とはりきってみた所、有料だったので撃沈した今日この頃です。 この後開発が進んでいくことを考えると今買って読んでしまうか悩みますね・・と思っていた所、下記のPaper…

Twitter HeronはStormに比べてどう進化しているのか?

こんにちは。今月頭、TwitterがHeronという新しいリアルタイム解析基盤について発表していました。 読んでみると、StormとAPIの互換性を保ったまま新しいHeronというリアルタイム解析基盤を開発したそうな。Flying faster with Twitter Heron | Twitter Blog…

StormのコマンドはClojureを使用しているので起動が遅い?

こんにちは。では、引き続きStormのコマンドが遅い理由について確認してみます。 1.Topology起動と、他のコマンドの違いは何なのか? 前回は、単にJVMの起動が遅いのではないか、レベルでとどまってしまいましたが、それではわからない点が1つあります。 「…

Stormのコマンドが遅い理由とは?

こんにちは。とりあえず気になることができたので、しばらくStormネタです。 1.Stormを使っていて気になる所 皆さんはStormを実際に使ってみたことがあるでしょうか?私は使って最初のうちは気にならなかったのですが、最近気になってきたことがあります。 …

Storm-0.9.4のバージョンアップ内容

こんにちは。 少し間が空いてしまったのですが、 Stormが0.9.4にバージョンアップしたので、バージョンアップ内容をざっとまとめてみます。 STORM-559: ZkHosts in README should use 2181 as port. storm-kafkaにおいて、READMEにあるZooKeeperの接続設定例…

kinesis-storm-spoutのソースコードを読んでみる(その4

こんにちは。前回初期化処理周りの確認が終わったので、今回はメッセージの取得→送信や、 Ack/Fail機構周りを見ていきます。 尚、実際に見てみるとわかりますが、かなり煩雑な記述です(汗ですので、とりあえず概要を知りたい方は 下記のポイントを理解でき…

kinesis-storm-spoutのソースコードを読んでみる(その3

こんにちは。とりあえず前回で大体の構造がわかったので、 今後はStormで基本となる下記の処理単位ごとに実際に行われる処理を見てみます。 今回は初期化/有効化/停止周りまで。 コンストラクタ Stormではコンストラクタと、Topologyを生成するクラスの中…

kinesis-storm-spoutのソースコードを読んでみる(その2

こんにちは、前回に引き続き、 kinesis-storm-spoutのソースコードを読んでいきます。kinesis-storm-spoutのコードを確認した所、 コンポーネント構成は大体下記のようになっていました。 #単なるエンティティ等は省いています。 尚、下記のクラスについて…

kinesis-storm-spoutのソースコードを読んでみる(その1

こんにちは。今更感はありますが、Amazon Kinesisが最近個人的に熱くなり、改めて使い方を見ています。 aws lambdaでKinesisのイベントを取得することも出来ますし、色々組み合わせて使えそうなんですよね。ただ、当然Kinesisは単体では使用できないため、 …

Stormクラスタのコンテナ化に向けて通信周りを整理してみる

こんにちは。最近Dockerをはじめとしたコンテナを用いたアプリケーションの運用が広まっている・・・ ということで、Stormクラスタをコンテナのオーケストレーションツールで 構築できないか、と考えています。出来るようになれば、よりStormがお手軽に使え…

Storm-0.9.0系の各プロセスの基本JVMオプションまとめ

こんにちは。現在遅ればせながらStorm-0.9.0系を動作させて試しているのですが、 まずこの後色々やってみるためのベースとして、各プロセスのJVMオプションを確認しておきます。何故こんなことを行うかというと、StormではWorkerプロセスを管理するのは Stor…

Genn.aiでTopologyを定義してみる

こんにちは。前回は使い方がわからなかったGenn.aiですが、ドキュメントも公開されて使い方がわかったため、 とりあえず再度試してみることにします。http://pages.genn.ai/まず、gungnirのCLIを起動する前のヘルプを確認してみます。 > ./gungnir -h Unreco…

リアルタイム解析プラットフォームGenn.aiのクライアントを動かしてみる

こんにちは。昨晩面白そうなページを見つけたので早速試してみました。リクルートテクノロジー製のリアルタイムプラットフォームで、StormとKafkaを用いて構築されたGenn.ai(源内)です。■紹介ページ http://genn.ai/ ■登録ページ(動作ホスト兼?) http:/…

StormのMLで流れていた情報まとめ(2013/07〜2013/08)

こんにちは。情報が確定では無かったり、内部の話になってすぐどうという話ではない情報をちょくちょくMLから拾ってきていますが、 このまま死蔵するのも何なので、記事として残しておきます。 ・・・さすがに、最近は新規の情報は減ってきたのでペースは以…

StormのMasterSourceをビルドしてみる

こんにちは。最近外を移動する際に日陰を移動できるルートを確認しながら移動する癖がつきつつある今日この頃です。 別に日光に当たったからと言って黄色い汁になって溶けてしまったりはしないんですが、まぁ一応w さて、前回Storm0.8.2系のビルド手順を確…

Storm0.8.2をビルドしてみる

こんにちは。ここ数日暑過ぎて半分溶けている感覚がする今日この頃です。溶ける・・・とは全く関係ないのですが、 最近Stormのコア側に一部修正を入れて試してみたいことがあったので、ビルドをした時の手順をまとめてみます。 対象バージョンはまずは現状の…

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

こんにちは。 なんか1年以上忘れ去っていましたが、 最近StormのClojureコードを読むことが増えてきましたので、とりあえずゆるゆると再開してみます。 1.まず重要なのはClojureのコードです これはStormを扱う上でいうまでもない内容になりますね。 ・・・…

TwitterでつぶやいたStormの雑多な情報まとめ(その9

こんにちは。#stormjp のタグでStormの雑多な情報まとめその9です。 とりあえず、2013/02までの内容はこの回で収まりそうなペースです。91.DisruptorQueueから情報を取得するのはシングルスレッドとなる。 そのため、Worker数を増やすことでボトルネックが…

TwitterでつぶやいたStormの雑多な情報まとめ(その8

こんにちは。#stormjp のタグでStormの雑多な情報まとめその7です。 段々、終わりが見えてきたような感はありますw○81.Stormクラスタ自体のアップデートは起動しっぱなしでは無理。 安全確実を期すなら下記のフロー。 1.Topology全部落とす 2.Storm-Ni…

TwitterでつぶやいたStormの雑多な情報まとめ(その7

こんにちは。#stormjp のタグでStormの雑多な情報まとめその7です。 お、思ったより手ごわいw 71.単一のBoltからイベントの内容を見て違うBoltに分岐させたい場合、 違うStreamに書きこめば分岐が可能。Stormの開発者もその方式を推奨している。 尚、受信…

TwitterでつぶやいたStormの雑多な情報まとめ(その6

こんにちは。#stormjp のタグでStormの雑多な情報まとめその6です。 とりあえず、二桁いかない程度で終わらせる方向で。55.Storm-UIでのNimbusの表示情報の大部分はZookeeperから取得している。 (残りはNimbusのローカルファイル) そのため、Zookeeperが…

TwitterでつぶやいたStormの雑多な情報まとめ(その5

こんにちは。#stormjp のタグでStormの雑多な情報まとめその5です。 いや、思ったより呟いていた量多かったんですねw○36.StreamGroupingのうち、FieldGroupingはキーのハッシュ値で配分先が決まるContext Hashing方式。 ShuffleGroupingはラウンドロビン方…

TwitterでつぶやいたStormの雑多な情報まとめ(その4

こんにちは。#stormjp のタグでStormの雑多な情報まとめその4です。 とりあえず最後までやりきる方針で。○28.StormのNimbus、UI、Supervisorにはデフォルトでは終了コマンドはない。 Storm-Installer等一段階ラッピングするか、killで落とすしかない。▽29.T…

TwitterでつぶやいたStormの雑多な情報まとめ(その3

こんにちは。#stormjp のタグでStormの雑多な情報まとめその3です。 段々前置きとかが思いつかなくなってきましたが、とりあえず入ります^^;○19.StormとKestrelを組み合わせることで『Kestrelから取得したメッセージをStormで処理完了したことを保証する…

TwitterでつぶやいたStormの雑多な情報まとめ(その2

こんにちは。#stormjp のタグでStormの雑多な情報まとめその2です。 ちなみに呟きの過去から情報は追っていっていますが、呟いた後に判明した情報も 芋づる式に記述しています。 そのため、単に過去わかった情報だけではない・・・という構成になっています…

TwitterでつぶやいたStormの雑多な情報まとめ(その1

こんにちは。最近 Twitter上で #stormjp のタグでStormの雑多な情報を呟いているのですが、 ひたすら流れていくばかりだったため、この後ちょこちょこまとめていきます。・・・ええ、私自身さっぱり覚えていられなくなりましたので(汗とりあえずは古い方か…

YamlとJavaのエンティティをマッピング出来る?

こんにちは。前回のUbuntuパッケージは・・・とりあえず、dh_makeとdebuildの方式だと さっぱりうまくいかなかったので方針を見直し中です。上手くいったら経緯も含めてまた投稿しますね。そんなわけで、今回はStormで使用されている「Yaml」というファイル…

Ubuntu用Stormインストールパッケージを作成しよう!(その1

こんにちは。徐々に暖かくなってきていますが未だに部屋でマフラーまでしている今日この頃です。 いつまでこの寒さは続きますかねぇ・・・ 1.StormをUbuntuに導入してみたい! というのが今回の発端です。 ご存じの方もいらっしゃるかもしれませんが、 storm…