2016-11-04 3 views
0

私のプロジェクトはオブジェクトデータをストームでグラフィックスアプリケーションにストリーミングします。これらのオブジェクトの外観は、ストームトポロジのボルトによって割り当てられた変数に依存します。Apache Stormの実行時にボルトプロセスを編集します。

私の質問は、オブジェクトデータにアタッチする変数を変更するメッセージを送信することで、ボルトプロセスを更新できるかどうかです。たとえば、パラメータxが特定の数値を超えるオブジェクトを青ではなく赤として表示することを宣言するメッセージを送信した後。 ボルトプロセスは、赤色のrgb変数を青色ではなくオブジェクトデータに追加します。

これは、ボルトが外観を適用するために使用するdisplayConfigクラスと、特定のヘッダーを持つメッセージで誰のコンテンツを編集できるかによって可能になると考えていました。

これは可能ですか?

答えて

1

開始する前に手動で行い、トポロジを準備する必要があります。

これを行うには2つの方法があります。

  1. は、あなたが(多分NFS経由)ワーカーマシンに入れたボルト用のローカル設定ファイルを使用します。ボルトは定期的に更新ファイルをチェックし、ファイルを変更した場合は更新された構成を読み取ります。

  2. 構成ストリームを生成するスパウトをもう1つ使用します。実行時にコンフィグレーションを送信するすべてのボルトは、このコンフィグレーションから消費する必要があります。入力タプルを処理する際には、そのデータタプルまたはタプルのいずれかがチェックされているかどうかをチェックします。

+0

ありがとうございました。最後に私はzookeeper znodeを使って設定情報を保存しました。各ボルトはzノード上にリスナーを設定できるため、zノードが変更されるたびに構成を更新できます。私は興味がある人のためにcuratorWatcher PathChildrenCacheレシピを使用しました。 –

関連する問題