Apache-flume-data-flow

提供:Dev Guides
移動先:案内検索

Apache Flume-データフロー

Flumeは、ログデータをHDFSに移動するために使用されるフレームワークです。 通常、イベントとログデータはログサーバーによって生成され、これらのサーバーにはFlumeエージェントが実行されています。 これらのエージェントは、データジェネレータからデータを受け取ります。

これらのエージェントのデータは、*コレクター*として知られる中間ノードによって収集されます。 エージェントと同様に、Flumeには複数のコレクターが存在する場合があります。

最後に、これらのすべてのコレクターからのデータが集約され、HBaseやHDFSなどの中央ストアにプッシュされます。 次の図は、Flumeのデータフローを説明しています。

Flume DataFlow

マルチホップフロー

Flumeでは、複数のエージェントが存在する可能性があり、最終目的地に到達する前に、イベントが複数のエージェントを経由する場合があります。 これは*マルチホップフロー*と呼ばれます。

ファンアウトフロー

1つのソースから複数のチャネルへのデータフローは*ファンアウトフロー*と呼ばれます。 それは2つのタイプです-

  • 複製-データが設定されたすべてのチャネルで複製されるデータフロー。
  • Multiplexing -イベントのヘッダーに記載されている選択されたチャネルにデータが送信されるデータフロー。

ファンインフロー

データが多くのソースから1つのチャネルに転送されるデータフローは、「ファンインフロー」と呼ばれます。

障害処理

Flumeでは、イベントごとに、送信者と受信者の2つのトランザクションが発生します。 送信者はイベントを受信者に送信します。 データを受信するとすぐに、受信者は自身のトランザクションをコミットし、「受信した」信号を送信者に送信します。 シグナルを受信した後、送信者はトランザクションをコミットします。 (送信者は、受信者から信号を受信するまでトランザクションをコミットしません。)