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コンソールを示しています。