水路のプロフィール
水路は(CDHは、その会社である)リアルタイムログ収集システムの開発は、それが大規模なログ収集、集約および伝送システムの分散、信頼性、および高可用性であるClouderaのです。
そのようなカフカ、HDFS、このようにオーバー収集埋設パンチ1つのアプリのようなローカルファイルのような他の場所へのデータの送信及び受信が受信能力を有するか、または機能の処理中に水路が、異なるデータ型のニーズに応じて受信されるログデータを、送信水路、ログをファイルに保存され、その後、HDFSまたはオフライン解析を解析するだけでなく、(と缶)送信ログをカフカにして、リアルタイムで分析することができ、水路はここコンジット同様の効果、受信データとして働き希望の場所への排水、データそのものが格納されますが、特定のバッファが存在していない、カフカ永続的なデータであることをメッセージキューと区別;
水路三つの重要なソース、チャネル、シンク
ソース
その水路ソースは、収集するデータに設計されて、あなたは(アブロ、倹約、幹部、JMS、スプールディレクトリ、netcatを、発電機は、Syslog、HTTP、レガシー、カスタム含む)様々なフォーマットでログデータの様々な種類を扱うことができます例えばHTTP、クラスは、自動的にデータベース(フリューム-NG-SQLソース)からデータを読み出し、受信したデータが水路にイベントまたはマルチフォーマットに伝達されるように、それ自体を書き換えることができるよう、いくつかの他のデータソース、チャンネルチャンネル、。
チャネル
そのパイプラインは、ソース・データが受信され理解されるように、接続チャネルの中央の前にシンクは、データ自体は、そのソースからわずか一時収納容器、チャネル間の水道管から塔内に格納されていません彼らはシンクに消費されるまで、キャッシュされたイベントデータの形式は、それが総ソースとシンクの間のブリッジの役割を果たしています
シンク
すなわち、最終的なデータの流れは、それが含む指定されたデータ・ストレージ・コンポーネントにチャネルを介して送信されるテキスト、HDFS、データベース、カフカ、HBaseの、ネットワークフロー、等
設定例
a1.sources = r1
a1.sinks = k1
a1.channels = c1
# Describe/configure the source:配置接收的源为avro格式,并且定义了发送的ip和端口,一般log4j,logback在打日志就能发送,已经有集成好的logback的
a1.sources.r1.channels = c1
a1.sources.r1.type = avro
a1.sources.r1.bind = 192.168.1.100
a1.sources.r1.port = 44444
# Describe the sink1 to local file:定义sink的形式和其他配置,file_roll表示写入本地文件中
a1.sinks.k1.channel = c1
a1.sinks.k1.type = file_roll
a1.sinks.k1.sink.directory = /data/log/test
a1.sinks.k1.sink.file.prefix=flume-
a1.sinks.k1.sink.rollInterval=3600
a1.sinks.k1.sink.batchSize=10
a1.sinks.k1.sink.serializer=text
a1.sinks.k1.sink.serializer.appendNewline = true
# Use a channel which buffers events in memory
a1.channels.c1.type = memory
a1.channels.c1.capacity = 10240 #内存中存储 Event 的最大数
a1.channels.c1.transactionCapacity = 10240 #source 或者 sink 每个事务中存取 Event 的操作数量(不能比 capacity 大)
Event是Flume流中的最小单位,比如一行就是一个Event,在代码中可以根据不同的event的进行不同数据处理