問題タブ [apache-storm]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
real-time - Storm UI: 実行レイテンシとプロセス レイテンシの違い
現在のプロジェクトのすべての Storm メトリックの意味を文書化しようとしています。
このプロセス中に、このグループの回答と github からデータを収集しました。
いくつかの指標は一目瞭然ですが、いくつかのボルト指標については本当に混乱しています。
たとえば、Process Latency と Execute Latency の違いは何ですか?
この Google グループの投稿から、次の情報を収集しました。
リスト項目の処理レイテンシ = ack が呼び出されたときのタイムスタンプ - execute が渡されたときのタイムスタンプのタプル
リスト アイテムの実行レイテンシ = 実行関数が終了したときのタイムスタンプ - 実行がタプルに渡されたときのタイムスタンプ (ソース: http://goo.gl/3KRAl )
と
- リスト アイテム プロセス レイテンシはタプルが ack されるまでの時間、実行レイテンシはタプルの実行に費やされた時間です (出典: http://goo.gl/m0fTC )
ストーム UI に表示されている内容に基づくと、ほとんどの場合、実行レイテンシーはプロセス レイテンシーよりも大きくなっています。それはどうしてですか?両方のレイテンシの正確な定義を手伝ってくれる人はいますか?
前もって感謝します!
hadoop - 数値データ - 大量 + 高速 + 高速検索
私のデータは、フレームごとに 1000 万の数値 (実数 + バイナリ) のように見え (配列、つまり配列の行に 1000 万の要素があると考えてください)、約 100 フレーム/秒です。時系列の一種。
私にとっての課題は次のとおりです。
(1) ストレージ - データ量
(2) データの処理速度
(3) リアルタイム分析
カサンドラはこれに適していますか?上記のシナリオで(非常に高いレベルの観点から)うまくいくアプリケーションアーキテクチャ(hadoop、cassandra、kafka、stormなどを考えてください)について、誰かが私を少し案内してもらえますか。
私は何か大きなことを尋ねたことを知っています。実験する前に方向性が必要です。
unit-testing - ストーム ボルトとスパウトのテスト
これは、Java で記述された Storm トポロジーでのボルトとスパウトの単体テストに関する一般的な質問です。
単体テスト (JUnit?)ボルトとスパウトの推奨プラクティスとガイドラインは何ですか?
たとえば、 a の JUnit テストを作成することはできますがBolt
、フレームワーク ( a のライフサイクルなど) とシリアライゼーションの影響を完全に理解していないBolt
と、シリアライズできないメンバー変数をコンストラクター ベースで作成するという間違いを犯しがちです。JUnit ではこのテストに合格しますが、トポロジでは機能しません。考慮する必要があるテスト ポイントがたくさんあることは十分に想像できます (シリアル化とライフサイクルを使用したこの例など)。
したがって、JUnit ベースの単体テストを使用する場合は、小さなモック トポロジ ( ?) を実行し、そのトポロジの下で(または)LocalMode
の暗黙のコントラクトをテストすることをお勧めしますか? それとも、JUnit を使用しても問題ありませんが、Bolt のライフサイクル (作成、呼び出し、モック化など) を慎重にシミュレートする必要があることを意味しますか? この場合、テスト対象のクラス (Bolt/Spout) で考慮すべき一般的なテスト ポイントは何ですか?Bolt
Spout
prepare()
Config
適切な単体テストの作成に関して、他の開発者は何をしましたか?
トポロジ テスト API があることに気付きました (参照: https://github.com/xumingming/storm-lib/blob/master/src/jvm/storm/TestingApiDemo.java )。Bolt
その API の一部を使用して、個々の&ごとに「テスト トポロジ」を立ち上げた方がよいでしょうかSpout
(そして、Bolt が提供しなければならない暗黙のコントラクトを検証します。たとえば、宣言された出力です)。
ありがとう
hadoop - Storm にリアルタイム入力を与える方法
ストームを実行しようとしていますが、実際にはデータがいくつかのポートから放出されています。私がリッスンしているストーム スパウト プログラムを使用しています。(つまり) SerialPortEventListener を実装しています。エラーが発生しています。
java - Storm での遅延キュー/メッセージ処理
私のStormトポロジでは、ストリームを処理している間、いくつかのメッセージの処理を将来のある時点まで遅らせたいと考えています。これを行うための合理的なオプションは何ですか?
これまでのところ、次のことを考えてきました。
- Java の
Thread.sleep
. (ただし、いくつかの議論に基づいて、これは Storm のリソースを効率的に利用するための推奨される方法ではありません。) - 遅延キューを使用...
- 特に、java.util.concurrent.DelayQueueを試してください。
- 試す価値のある他の実装はありますか?
- Storm には、私が見落としたメッセージを遅らせるための API がありますか?
- ZeroMQ は、Storm (変更された場合) が利用できる遅延メッセージング API を提供しますか?
apache-storm - ローカル モードで実行されている Twitter ストームの例では、ファイルを削除できません
ストーム スターター プロジェクト ( https://github.com/nathanmarz/storm-starter ) を実行していますが、しばらく実行すると次のエラーがスローされます。
「AppData」ディレクトリのアクセス許可を変更しようとしましたが、影響はないようです。このエラーは、Eclipse内だけでなくコマンドラインでも実行すると発生します。