【Flume】flume複数出力ブランチの構成、マルチsink、マルチchannel

2153 ワード

何気なく巨牛の人工知能のチュートリアルを見つけて、思わず共有してあげました.教程は基礎がゼロで、分かりやすくて、しかもとても面白くてユーモアがあって、小説を読むようです!すごいと思って、みんなに分かち合いました.ここをクリックするとチュートリアルにジャンプできます.
ここは簡単に配置を貼りましょう、問題があれば伝言を残して検討することを歓迎します
sinkの構成
 
##############################define [sink] begin##############################
#define the sink k1
a1.sinks.k1.type=hdfs
a1.sinks.k1.channel=c1
a1.sinks.k1.hdfs.useLocalTimeStamp=true
a1.sinks.k1.hdfs.path=hdfs://192.168.11.177:9000/flume/events/%Y/%m/%d
a1.sinks.k1.hdfs.filePrefix=cmcc-%H
a1.sinks.k1.hdfs.fileType=DataStream
a1.sinks.k1.hdfs.minBlockReplicas=1
a1.sinks.k1.hdfs.rollInterval=3600
a1.sinks.k1.hdfs.rollSize=0
a1.sinks.k1.hdfs.rollCount=0
a1.sinks.k1.hdfs.idleTimeout=0
#define the sink k2
a1.sinks.k2.channel=c2
a1.sinks.k2.type=com.cmcc.chiwei.kafka.CmccKafkaSink
a1.sinks.k2.metadata.broker.list=192.168.11.174:9092,192.168.11.175:9092,192.168.11.196:9092
a1.sinks.k2.partition.key=0
a1.sinks.k2.partitioner.class=com.cmcc.chiwei.kafka.CmccPartition
a1.sinks.k2.serializer.class=kafka.serializer.StringEncoder
a1.sinks.k2.request.required.acks=0
a1.sinks.k2.cmcc.encoding=UTF-8
a1.sinks.k2.cmcc.topic.name=cmcc
a1.sinks.k2.producer.type=async
a1.sinks.k2.batchSize=100
##############################define [sink] end##############################

ここでは同じデータを複数の出力に差sinkしないので、チャネルはコピーモードです.
 
 
a1.sources.r1.selector.type=replicating

一つはkafkaで、性能を高めるために、メモリチャネルで、一つはhdfsまで、オフライン分析で、ファイルチャネルで
 
 
##############################define [channel] begin##############################
#define the channel c1
a1.channels.c1.type=file
a1.channels.c1.checkpointDir=/home/flume/flumeCheckpoint
a1.channels.c1.dataDirs=/home/flume/flumeData,/home/flume/flumeDataExt
a1.channels.c1.capacity=2000000
a1.channels.c1.transactionCapacity=100
#define the channel c2
a1.channels.c2.type=memory
a1.channels.c2.capacity=2000000
a1.channels.c2.transactionCapacity=100
##############################define [channel] end##############################

以上、差分データ出力のない複数のsinkの構成ですが、異なるsinkに異なるデータを出力したい場合は、チャネルの多重化モードを使用する必要があります.【チャネルの多重化】を参照してください.