水路のパラメータ:
#のあるexample.conf:単一ノード構成水路 このプロキシに#名前のコンポーネント a1.sources = R1の a1.sinks = K1の a1.channels = C1の #説明 / 設定ソース a1.sources.r1.type = netcatを a1.sources.r1 .bind = localhostを a1.sources.r1.port = 44444 #レシーバが記載 a1.sinks.k1.type = ロガー チャネルの場合に、バッファメモリの#使用を a1.channels.c1.type = メモリ a1.channels.c1.capacity 1000年= a1.channels.c1.transactionCapacity = 100 #は、受信機とソースチャネルに結合され a1.sources.r1.channels = C1 a1.sinks.k1.channel = C1
この構成は、名前の個々のエージェントa1を定義します。A1ソースデータポート44444、バッファメモリ内のチャネルイベントデータ、およびコンソールの受信機に記録イベントデータのリスナーの1つ。
scourceによれば、チャネル、分割シンク
。1、ソース
水路は、一般的にソースnetcatを、アブロ、エグゼクティブ、スプールディレクトリを使用しているまた以下に詳細カスタムビジネスシナリオソース、する必要があるかもしれませんが。
1)ソースのnetcat
netcatをUDPおよびTCPは、データを送信するために指定されたIPおよびポートを聞くことによって、実質的に同じ方法を使用して、ソース2つのプロトコル方式を使用することができ、それがチャネルに書き込まれたイベントへのデータの各行にリッスンします。(@パラメータが同様の下で、マークする必要があります)
説明名前デフォルトのプロパティ - @チャンネル のnetcat:タイプは次のように指定されている-型@の -マシン名またはIPアドレスバインディングバインド@を ポート@を-ポート番号の 最大 -line-長さ512 行の最大バイト数 ACK -every-イベントを trueに 成功しましたイベント戻り、OK受信 selector.typeセレクタ多重型の複製または複製 セレクタ。 * セレクタパラメータ インターセプタ-インターセプタリストによって分離複数の空間 。インターセプタ・インターセプタ・パラメータ
2)アブロソース
データソースを送信するために使用することができ、ネットワークを介して別のホスト上のエージェントは、アブロクライアント・データは、一般的に受け入れられ又は一方と対にエージェントアブロシンク上にあるされています。
説明名前デフォルトのプロパティ - @チャンネル タイプは次のように指定されている-型@の:アブロ -ホスト名またはIPアドレスリスニングバインド@ のポート番号-ポート@ スレッド-伝送に使用できるスレッドの最大数 selector.typeの 。セレクタを * インターセプタ-インターセプタリスト インターセプタ。 * 圧縮いずれも設定されていないことができる型の「なし」または「収縮」。AvroSource圧縮型マッチングニーズおよび
3)Execのソース
-
与えられたのUnixを行うことでExecのソースデータ伝送の結果は、猫、尾の-Fなど、高いリアルタイム、として、コマンドが、エージェントのプロセスの問題と、データが失われることがあります。
プロパティ名説明デフォルト @チャンネル- 型@の-タイプは次のように指定されます。exec @コマンド-コマンドを実行する必要がある シェル-シェルスクリプトファイルをコマンドを実行するためには、 restartThrottle 10000 タイムアウトを再起動しようとする試みを 再起動して 、偽 のコマンドが失敗した場合は再起動するかどうか、 logStdErr 偽の 場合エラーを記録 BATCHSIZE 20が 最大チャンネル数が多くをログに書き込まれ batchTimeout 3000 一括書き込みデータの最大待機時間(ミリ秒) 複製selector.typeは、種類や多重複製選択 セレクタを。 * セレクタ他のパラメータの インターセプタ-インターセプタのリストを、より多くのスペースの インターセプタ。 *
4)スプーリングディレクトリソース
2つの点を注意することはスプーリングディレクトリソースを使用して、データの損失なしに特徴データイベントを転送するファイルを監視することにより、新しいファイルフォルダのコンテンツ変換、、、
1)は、ファイルを監視されているフォルダに新しいファイルを変更することはできません
2)一意である必要があり、監視フォルダのファイル名に追加。新しいのファイル全体の監視であるため、リアルタイムスプーリングディレクトリソースは比較的低いですが、リアルタイムに近い高届くのファイルサイズを分割することができます。
説明名前デフォルトプロパティ チャンネル@ - 型@の-タイプを指定:. Spooldir spooldir @ -監視対象フォルダディレクトリ fileSuffix .COMPLETEDデータ転送ファイルの拡張子をマーク完成 deletePolicyは、ファイルを削除することはありませんが、データ転送時間を完了した:即時またはロードすることはありません FileHeader 偽を フルパス情報のヘッダにファイルを追加するかどうか の完全なパス情報ファイルが名前にヘッダを追加する場合fileHeaderKeyファイルのキーである basenameHeader 偽の ベース名情報のヘッダにファイルを追加するかどうかを ベース名情報ファイルをキーにヘッダを追加する場合はbasenameHeaderKeyのベース名名前 includePattern ^。*通常のファイルを使用して、ファイル$は、送信する新しいデータと一致している必要が ignorePattern ^ $新しいファイルを無視するために定期的に使用 trackerDir .flumespool店舗メタデータ情報ディレクトリ consumeOrder最も古いファイルコンシューマ順序を:.最古、最年少とランダム maxBackoff 4000 もしチャンネル容量不足、まだ書き込むことができない場合は、ChannelExceptionスロータイムアウトを書き込もう BATCHSIZE 100 バッチサイズ inputCharset UTFを -8 入力シンボルは、表形式の 治療をデコードすることはできません後decodeErrorPolicy FAILが文字に遭遇した:FAIL、REPLACE 、IGNORE selector.type選択型複製:複製または多重化 。セレクタを * セレクタ他のパラメータ インターセプタ-インターセプタリスト、スペースで区切られた 。インターセプタ *
5)Taildirソース
リアルタイム監視が失われた場合でも、指定されたJSONファイルに格納されたデータのオフセットまたはデータエージェントを持っていない殺すハングによる方法に、コンテンツを追加するために、1つの以上のファイルを指定することができ、ソースをWindows上で使用することができないことに留意すべきです。
説明Nameプロパティのデフォルト @チャンネル- 型@ -タイプを指定:. TAILDIR ファイルグループ@ -ファイルの名前のグループ、複数の空間を分離 ファイルグループ。 <FileGroupName> @は、 -監視絶対ファイルパスである positionFile 〜/ .flume / taildir_position.jsonストレージパスのオフセットデータ 。ヘッダを。<FileGroupName> <headerKey> -ヘッダーキーの名前 byteOffsetHeader falseに バイトオフセットをキーに追加された場合は、「byteoffset」の値である skipToEnd falseに ジャンプがファイルに書き込まれていないときのシフト量ならばファイルの末尾に idleTimeoutの 120000 閉じるファイルタイムアウトない新しいコンテンツ(MS) writePosInterval 3000 positionfileたび間隔lastpositionにファイルを書き込む BATCHSIZE 100 バッチ行 FileHeader falseに ヘッダ・ストア・ファイルの絶対パスを追加するかどうかを 使用して、有効fileHeaderKeyはfileHeaderファイル場合キー
2、チャンネル
チャンネルの公式ウェブサイトは、から選択する多くの種類があります提供し、ファイル・チャネル・メモリーチャンネルは、ここで紹介しました。
1)メモリーチャンネル
メモリーチャンネルは、メモリ使用量はすぐにそのデータ転送速度を意味し、イベントを格納するためのメモリを使用することですが、エージェントがハングアップするとき、チャンネルに格納されたデータは失われます。
説明名前既定のプロパティ メモリー: -タイプ@の種類は次のように指定された 容量 100 内のチャネルで最大ストレージ容量 transactionCapacity 100 内のイベントの最大数は、各トランザクション、シンクソースやから キープ -alive 3 追加または削除します秒のタイムアウトイベント byteCapacityBufferPercentage 20 カスタムキャッシュ比率 説明を参照してくださいbyteCapacityチャンネルは最大バイト数を格納するための許可しました
2)ファイルチャネル
イベント、メモリチャネルに遅い速度の相対を保存するために、ディスクを使用してチャネルファイルが、データが失われることはありません。
説明名前既定のプロパティ タイプ@の-タイプを指定:.ファイル checkpointDir 〜/ .flume /ファイルチャネル/ チェックポイントのチェックポイントディレクトリ useDualCheckpoints 偽の バックアップのチェックポイント、真、backupCheckpointDirがに設定されなければならない backupCheckpointDir -バックアップのチェックポイント・ディレクトリー dataDirs 〜/ .flume /ファイルチャネル/ 提供されるディレクトリデータの格納場所データ transactionCapacity 10000 イベント最大記憶 CheckpointInterval 30000 チェックポイント間隔 maxFileSizeの 2146435071 バイトの最大設定数、単一のログ minimumRequiredSpace 524288000 (バイト)最小要求空き領域 の容量 1000000 チャネルの最大容量は、 キープ -alive 3。 保存操作(複数可)のレイテンシ値を 使用し -log-リプレイ-V1を falseに 専門家:古い論理返信使っ 使用 -fast-リプレイを falseに 専門家:返信がキューイングする必要はありません checkpointOnCloseを trueに
3、シンク
水路は、一般的にシンクログシンク、HDFSシンク、アブロシンク、カフカシンクは、もちろん、シンクをカスタマイズすることができました。
1)ロガーシンク
ロガーシンクINFOレベルのログは、このアプローチは、一般的にテストに使用され、ログにログインします。
説明デフォルト名プロパティ
チャンネル@ -
ロガー: -タイプ@は、型指定
maxBytesToLog 16は、バイトイベント本体の最大数を記録することができますが
2)HDFSシンク
-
HDFSにデータをシンク、現在のテキスト・シーケンス・ファイルと2つのファイル形式は、圧縮のためのサポートをサポートし、データを分割することができ、バレルストレージを分割します。
説明デフォルト名 チャンネル@ - HDFS: -タイプ@の型を指定 HDFSパス、EG HDFS - hdfs.path @を:// 名前ノード/水路/ WEBDATA / プレフィックスhdfs.filePrefix FlumeData保存データファイル hdfs.fileSuffix -ストアデータファイル延長 - hdfs.inUsePrefix一時ファイル名の接頭辞書かれて 書かれたhdfs.inUseSuffixの.tmp一時ファイルの拡張子 hdfs.rollInterval 30 秒、:どのくらい巻紙、ユニットの究極の目標への一時ファイルの間隔 を0に設定した場合、 、それは彼らが時間に基づいてファイルをスクロールするようになっていないと述べた hdfs.rollSize 1024 一時ファイルは数に達した場合には:(バイト単位)を、先のファイルまでスクロール 0に設定されている場合、それは一時的なファイルのサイズに応じてファイルをスクロールしないことを意味し hdfs.rollCount 10 データはスクロールゴールにイベントの一時ファイルの数に達した場合ファイルは、 0に設定されている場合、それは、イベントデータに基づいてファイルがスクロールされていないことを示し hdfs.idleTimeout 0 時間(秒)で指定した一時ファイル現在開いているパラメータは、 何もデータが書き込まれていない、一時ファイルが閉じられていますオブジェクトファイルと名前を変更 hdfs.batchSize 100を HDFSにリフレッシュするイベントの各ロット番号について hdfs.codeC -圧縮ファイルであって、GZIP、BZIP2、LZO、lzopの、スナッピー hdfs.fileType SequenceFileファイル形式であっSequenceFileを、でDataStream、CompressedStre、 ファイルは圧縮されていないとき、データストリームを使用する場合は、必要がhdfs.codeCを設定しないように、 CompressedStream時間は、あなたが正しいhdfs.codeC値を設定しなければならないとき、 hdfs.maxOpenFiles 5000 、開くことが許可さHDFSファイルの最大数をするとき開いているファイルの数この値に達すると、 最も古い、開いているファイルは閉じられます hdfs.minBlockReplicasを-コピーのHDFS番号、コピーHDFS書き込みファイルブロックの最小数。 パラメータは、ローリングプロファイル、1に設定され、一般的なパラメータに影響を与え、正しい設定ファイルのスクロール従うことができます 書かれたフォーマットシーケンスがhdfs.writeFormat書き込み可能ファイル。前記テキスト、書き込み可能(デフォルト) hdfs.callTimeout 10000の 動作を行うHDFSタイムアウト(単位:秒) hdfs.threadsPoolSize 10 HDFSは、HDFSはの行動開始沈むスレッド hdfs.rollTimerPoolSizeを 1。 HDFSは回数スレッドに係る転動ファイルを開始したシンク HDFS安全な認証kerberosの設定- hdfs.kerberosPrincipal hdfs.kerberosKeytab - HDFS安全な認証、Kerberos構成 hdfs.proxyUserプロキシユーザーが hdfs.round 偽の 時間有効にするかどうかを「あきらめ」 hdfs.roundValue 1 時間値の「あきらめ」 hdfs.roundUnit二時間単位の「あきらめ」が含まれる:SECOND ,,分、時間の hdfs.timeZone現地時間のタイムゾーンを。 hdfs.useLocalTimeStamp 偽 現地時間使用するかどうかを hdfs.closeTriesを 0 ナンバーHDFSはファイルを閉じようとするシンク。 1に設定すると、HDFSはシンクファイルを閉じるには失敗は、再度ファイルをクローズしようとしないとき、 これはファイルを閉じていない、常にそこに残り、オンになっている。 セット故障後に閉じ、HDFSが成功するまで、閉鎖しようとし続けるシンク0、 hdfs.retryInterval 180 HDFSは、時間間隔のファイルを閉じようとシンク hdfs.closeTries配置物に、0に設定されている場合試みを示していないが、 。1つの TEXT型のシリアライザシーケンス シリアライザ。 *
3)アブロシンク
説明デフォルト名プロパティ チャンネル@ - 型@は-タイプ:.アブロ指定し たホスト名またはIP -ホスト名@ ポート@ -ポート番号 BATCH 100 -size バッチイベント番号 の接続が 20000 -TIMEOUT タイムアウト間隔の 要求 -timeout 20000 要求時間を 圧縮 - 。型圧縮タイプ、「なし」または「DEFLATE」のいずれ 圧縮 -Level 6圧縮レベルは、0は圧縮がないことを示し、19より高い数、圧縮率の高い SSL falseに 用いる暗号化SSL
4)カフカシンク
-
カフカへの転送データを、その水路のバージョンと互換性のあるバージョンカフカの点に注意してください。
説明名前既定のプロパティ -タイプの型指定:org.apache.flume.sink.kafka.KafkaSink kafka.bootstrap.serversを-カフカは、サービスアドレス住んでいた kafka.topicの デフォルト -flume- トピックカフカのトピック住んでいた flumeBatchSizeを 100の バッチはカフカのイベント番号の書き込み カフカを。 producer.acks 1 だけ成功したメッセージの配信確認、0後に決定することができますどのように多くのコピー確認応答を示していない 唯一のプライマリコピーが確認された1つの番組を、 -1はすべての確認を待っていることを意味します。
スタートアップパラメータ:
コマンド
zkhost -z binに/水路-ngのエージェント-conf CONF:2181、zkhost1:2181 -p /水路-name A1 -Dflume.root.logger = INFO、コンソール
1、水路-ngのエージェントは、水路のエージェントを実行します
この設定ファイルで定義された-confパラメータはグローバルディレクトリ内のオプションでなければならないの下で2、-confは、コンフィギュレーション・ファイルを指定します。
3、-z飼育係の接続文字列。ホスト名のカンマ区切りのリスト:ポート
図4に示すように、プロキシ設定を格納するための飼育係-pベースパス
5、A1 -name A1エージェントの名前
6、-Dflume.root.logger = INFO、このパラメータをコンソールコンソールログ水路への出力は、ログファイル(デフォルトに出力することになります$ FLUME_HOME /ログで)、代わりにコンソールのLOGFILEを形成することができます
特定の構成は、$ FLUME_HOME / confに/ log4j.propertiesを変更することができます
-Dflume.log.file =。/ターゲット出力ログファイルにパラメータを直接WchatAgent.logs
具体的に:
https://blog.csdn.net/realoyou/article/details/81514128
参照:
https://www.jianshu.com/p/4252fbcdce79