ApacheFlume-NetCatソース

この章では、イベントを生成してコンソールにログインする方法を説明する例を取り上げます。このために、私たちはを使用していますNetCat ソースと logger シンク。

前提条件

この章で提供されている例を実行するには、インストールする必要があります Flume

Flumeの構成

の構成ファイルを使用して、ソース、チャネル、およびシンクを構成する必要があります。 confフォルダ。この章の例では、NetCat Source, Memory channel、および logger sink

NetCatソース

NetCatソースを構成するときに、ソースを構成するときにポートを指定する必要があります。これで、ソース(NetCatソース)は指定されたポートをリッスンし、そのポートに入力した各行を個別のイベントとして受信し、指定されたチャネルを介してシンクに転送します。

このソースを構成するときに、次のプロパティに値を指定する必要があります-

  • channels

  • Source type − netcat

  • bind −バインドするホスト名またはIPアドレス。

  • port −ソースがリッスンするポート番号。

チャネル

私たちは使用しています memoryチャネル。メモリチャネルを設定するには、チャネルのタイプに値を指定する必要があります。以下に示すのは、メモリチャネルの構成中に提供する必要のあるプロパティのリストです。

  • type−チャネルのタイプを保持します。この例では、タイプはMemChannel

  • Capacity−チャネルに保存されているイベントの最大数です。デフォルト値は100です。(オプション)

  • TransactionCapacity−チャネルが受け入れるまたは送信するイベントの最大数です。デフォルト値は100です。(オプション)。

ロガーシンク

このシンクは、渡されたすべてのイベントをログに記録します。通常、テストまたはデバッグの目的で使用されます。このシンクを構成するには、次の詳細を指定する必要があります。

  • Channel

  • type −ロガー

構成ファイルの例

以下に、構成ファイルの例を示します。このコンテンツをコピーして名前を付けて保存netcat.conf Flumeのconfフォルダーにあります。

# Naming the components on the current agent
NetcatAgent.sources = Netcat   
NetcatAgent.channels = MemChannel 
NetcatAgent.sinks = LoggerSink  

# Describing/Configuring the source 
NetcatAgent.sources.Netcat.type = netcat 
NetcatAgent.sources.Netcat.bind = localhost
NetcatAgent.sources.Netcat.port = 56565  

# Describing/Configuring the sink 
NetcatAgent.sinks.LoggerSink.type = logger  

# Describing/Configuring the channel 
NetcatAgent.channels.MemChannel.type = memory 
NetcatAgent.channels.MemChannel.capacity = 1000 
NetcatAgent.channels.MemChannel.transactionCapacity = 100 
 
# Bind the source and sink to the channel 
NetcatAgent.sources.Netcat.channels = MemChannel
NetcatAgent.sinks.LoggerSink.channel = MemChannel

実行

Flumeホームディレクトリを参照し、以下に示すようにアプリケーションを実行します。

$ cd $FLUME_HOME
$ ./bin/flume-ng agent --conf $FLUME_CONF --conf-file $FLUME_CONF/netcat.conf 
   --name NetcatAgent -Dflume.root.logger=INFO,console

すべてがうまくいくと、ソースは指定されたポートのリッスンを開始します。この場合、56565。以下に示すのは、ポート56565を開始してリッスンしているNetCatソースのコマンドプロンプトウィンドウのスナップショットです。

ソースへのデータの受け渡し

NetCatソースにデータを渡すには、構成ファイルで指定されたポートを開く必要があります。別の端末を開き、を使用してソース(56565)に接続します。curlコマンド。接続が成功すると、「」というメッセージが表示されます。connected以下に示すように」。

$ curl telnet://localhost:56565 
connected

これで、データを1行ずつ入力できます(各行の後で、Enterキーを押す必要があります)。NetCatソースは、各行を個別のイベントとして受信し、「受信メッセージ」を受け取ります。OK」。

データの受け渡しが終了したら、(()を押してコンソールを終了できます。Ctrl+C)。以下に示すのは、を使用してソースに接続したコンソールのスナップショットです。curl コマンド。

上記のコンソールに入力された各行は、ソースによって個別のイベントとして受信されます。使用しているのでLogger シンクの場合、これらのイベントは、指定されたチャネル(この場合はメモリチャネル)を介してコンソール(ソースコンソール)にログオンします。

次のスナップショットは、イベントがログに記録されるNetCatコンソールを示しています。