Apache-flume-netcat-source
Apache Flume-NetCatソース
この章では、イベントを生成し、その後コンソールにログインする方法を説明する例を取り上げます。 このために、 NetCat ソースと logger シンクを使用しています。
前提条件
この章で提供される例を実行するには、 Flume をインストールする必要があります。
Flumeの構成
*conf* フォルダー内の構成ファイルを使用して、ソース、チャネル、およびシンクを構成する必要があります。 この章の例では、* NetCat Source、Memoryチャネル*、および *logger sink* を使用しています。
NetCatソース
NetCatソースの設定中に、ソースの設定中にポートを指定する必要があります。 これで、ソース(NetCatソース)は指定されたポートをリッスンし、そのポートに入力された各行を個別のイベントとして受信し、指定されたチャネルを介してシンクに転送します。
このソースを設定している間、次のプロパティに値を提供する必要があります-
- チャンネル
- ソースタイプ-netcat
- bind -バインドするホスト名またはIPアドレス。
- port -ソースがリッスンするポート番号。
チャネル
*memory* チャネルを使用しています。 メモリチャネルを設定するには、チャネルのタイプに値を提供する必要があります。 以下は、メモリチャネルの設定中に指定する必要があるプロパティのリストです-
- type -チャネルのタイプを保持します。 この例では、タイプは MemChannel です。
- 容量-チャネルに保存されるイベントの最大数です。 デフォルト値は100です。 (オプション)
- TransactionCapacity -チャネルが受け入れるまたは送信するイベントの最大数です。 デフォルト値は100です。 (オプション)。
ロガーシンク
このシンクは、渡されたすべてのイベントを記録します。 通常、テストまたはデバッグの目的で使用されます。 このシンクを構成するには、次の詳細を指定する必要があります。
- チャネル
- type -ロガー
設定ファイルの例
以下に、構成ファイルの例を示します。 このコンテンツをコピーし、Flumeのconfフォルダーに netcat.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ソースに渡すには、構成ファイルで指定されたポートを開く必要があります。 別のターミナルを開き、 curl コマンドを使用してソース(56565)に接続します。 接続が成功すると、次のように「 connected 」というメッセージが表示されます。
$ curl telnet://localhost:56565
connected
これで、行ごとにデータを入力できます(各行の後にEnterキーを押す必要があります)。 NetCatソースは各行を個別のイベントとして受信し、受信したメッセージ「 OK 」を取得します。
データの受け渡しが完了したら、( Ctrl+ C )を押してコンソールを終了できます。 以下に示すのは、 curl コマンドを使用してソースに接続したコンソールのスナップショットです。
上記のコンソールに入力された各行は、ソースによって個別のイベントとして受信されます。 Logger シンクを使用したため、これらのイベントは指定されたチャネル(この場合はメモリチャネル)を介してコンソール(ソースコンソール)にログオンされます。
次のスナップショットは、イベントが記録されるNetCatコンソールを示しています。