水路の紹介
1:概要
水路Clouderaのは、分散、高信頼性、および高可用性大規模なログ収集、集約、および伝送システムを提供することです。
フリューム出力ファイルは、ソケット・パケット、フォルダおよびデータ・ソースの他の形式を収集することができ、データはHBaseの、ハイブ、カフカと他の外部ストレージシステム、HDFSに収集することができます。
水路の簡単な構成によって、収集一般的な要件を実現することができます。
水路は、特定のシーンもので、水路が最も日常的なデータ収集シナリオで使用することができ、カスタム拡張に優れた能力を持っているため。
2:動作機構
水路は、システムが最も中心的役割剤である分散、フリューム取得システムは、エージェントを接続することにより形成されたものです。
各エージェントは、データ転送部材として作用し、内部は3つのコンポーネントがあります。
A)出典:データを取得するために、データ・ソースとのドッキングのための取得元。
B)シンク:皿送信先、データ収集、次のステージまたは最終配信データ・ストレージ・システムへのエージェントのデータ転送
C)チャンネル:ソースからシンクへデータを送信するための内部angentデータ伝送路。
3:複雑な構造
マルチレベルのエージェントとの間のシリーズ
(1)第2のシリアル剤
(2)第2:データ収集エージェントの複数集約さ
(3)第3:下層の別のシステムに収集されたデータ
水路実際のケース
1:水路インストールの配備
a)は水路のインストールでは、ノード上のすべてのデータ要素をアップロードすることがHadoopの環境のインストールパッケージ、もちろん、ただ解凍することができ、非常に簡単です
b)は、その後のtar -zxvfのapache-水路-1.6.0-bin.tar.gzを抽出
C)変性CONF下flume-enc.shディレクトリにフリュームは、JAVA_HOMEの内部に配置され
データ収集の必要性に応じて、(ファイル名は任意に定義することができる)コンフィギュレーションファイルに記述されている構成取得スキーム
取得方式は、対応するノード内の水路エージェントを起動、プロファイルを指定しました
2:単純なケース
a)は今、confディレクトリの水路に新しいファイルを作成します
私たちのnetcat-logger.conf
# 定义这个agent中各组件的名字
a1.sources = r1
a1.sinks = k1
a1.channels = c1
# 描述和配置source组件:r1
a1.sources.r1.type = netcat
a1.sources.r1.bind = hadoop01
a1.sources.r1.port = 44444
# 描述和配置sink组件:k1
a1.sinks.k1.type = logger
# 描述和配置channel组件,此处使用是内存缓存的方式
a1.channels.c1.type = memory
a1.channels.c1.capacity = 1000
a1.channels.c1.transactionCapacity = 100
# 描述和配置source channel sink之间的连接关系
a1.sources.r1.channels = c1
a1.sinks.k1.channel = c1
2、启动agent去采集数据
bin/flume-ng agent -c conf -f conf/netcat-logger.conf -n a1 -Dflume.root.logger=INFO,console
収集データのb)の活性化剤
bin/flume-ng agent -c conf -f conf/netcat-logger.conf -n a1 -Dflume.root.logger=INFO,console
-c confの水路独自の構成ファイルのディレクトリを指定
我々が説明した-f confに/ netcatを-logger.con指定された収集スキーム
-n A1は、私たちのエージェントの名前を指定します
3:テスト
まず、データ回復可能エージェント、ネットワーク・ノードマシンにエージェント気軽に話があるそうという、モニタポートエージェントの買収にデータを送信します
telnet anget-hostname port (telnet itcast01 44444)
ソース・コンポーネント
ソースタイプ | 説明 |
アブロソース | アブロサポート契約(実際はアブロRPC)、ビルトインサポート。 |
Execのソース | 標準的なUnixのコマンドに基づいて、出力データを生成します |
スプーリングディレクトリソース | 指定されたディレクトリ内のデータの変化を監視します。 |
netcatをソース | モニタポートは、テキストデータの各ラインは、イベントとして入力ポートをストリーミングします。 |
スリフトソース | スリフトプロトコルのサポート、組み込みサポート。 |
JMSソース | ActiveMQのは、テストされて、中にJMSシステム(メッセージ・トピック)からデータを読み出します。 |
シーケンスジェネレータソース | データ系列生成ソース、メーカーのシリアルデータ。 |
Syslogのソース | 読むのsyslogデータ、イベント、TPCとUDPの両方のプロトコルをサポートして生成します。 |
HTTPソース | データソースHTTP POSTまたはGETモードでは、JSONのサポート、BLOB形式に基づきます。 |
レガシーソース | 古い水路OGで互換性のあるソース(0.9.xバージョン)。 |
チャンネルのコンポーネント
チャネルタイプ | 説明 |
メモリーチャンネル | イベントデータはメモリに格納されます。 |
ファイルのチャンネル | イベントデータをディスクファイルに保存されています。 |
JDBCチャンネル | イベントデータを永続ストレージに保存され、現在の水路チャンネルは、組み込みサポートDerbyデータベース。 |
こぼれるメモリーチャンネル | イベントデータはメモリに格納され、メモリキューがいっぱいになると、ディスクには、ディスク・ファイルに永続化されます。 |
疑似トランザクションチャンネル | テストの目的 |
カスタムチャネル | カスタムチャネルの実装。 |
シンクコンポーネント
シンクタイプ | 説明 |
HDFSシンク | データはHDFSに書き込まれます。 |
アブロシンク | データは、アブロイベントに変換された後、構成RPCポートに送られます。 |
スリフトシンク | データは、倹約イベントに変換された後、構成RPCポートに送られます。 |
IRCシンク | IRC上のデータ再生。 |
ファイルのロールシンク | ローカルファイルシステムにデータを格納し。 |
ヌルシンク | すべてのデータを破棄。 |
HBaseのシンク | HBaseのデータはデータベースに書き込まれます。 |
Morphline Solrのシンク | Solr検索サーバーにデータを送信します。 |
ElasticSearchシンク | 弾性検索は、サーバ(クラスタ)にデータを送ります |
カスタムシンク | カスタムシンクを達成します |
水路は、ソース、チャネル、シンクタイプの多数をサポートする詳細なマニュアルは、公式ドキュメントを参照してください http://flume.apache.org/FlumeUserGuide.html