Flume采集一个数据源对应多个channel,多个sink

本文介绍了一个使用Flume进行数据采集的具体配置案例,该配置实现了从单一数据源采集数据并分发到三个不同的MySQL数据库表中。通过定义多个Channel和Sink,展示了如何灵活地将数据分流至不同目的地,适用于需要对同一数据源进行多种处理场景。

Flume采集一个数据源对应多个channel,多个mysqlsink(自定义sink)

a1.sources= r1
a1.channels= c1 c2 c3
a1.sinks= s1 s2 s3

# flume 1.6.0
#a1.sources.r1.type = exec
#a1.sources.r2.shell = /bin/bash -c
#a1.sources.r1.command =
 tail -n +$(tail -n1 /var/log/flume/position.log) -F /data/test/test.log | awk 'ARGIND==1{i=$0;next}{i++;if($0~/^tail/){i=0};print $0;print i >> "/var/log/flume/position.log";fflush("")}' /var/log/flume/position.log -   

# flume-ng-1.6.0-cdh5.11.0
a1.sources.r1.type = TAILDIR 
a1.sources.r1.positionFile = /var/log/flume/taildir_position.json 
a1.sources.r1.filegroups = f1
a1.sources.r1.filegroups.f1 = /data/test/test.log

a1.sources.r1.channels = c1 c2 c3

a1.sources.r1.interceptors = i1
a1.sources.r1.interceptors.i1.type =com.yimen.data.flume.sink.Interceptor$Builder

a1.channels.c1.type = memory
a1.channels.c1.capacity = 5000
a1.channels.c1.transactionCapacity = 1000

a1.channels.c2.type = memory
a1.channels.c2.capacity = 5000
a1.channels.c2.transactionCapacity = 1000
             
a1.channels.c3.type = memory
a1.channels.c3.capacity = 5000
a1.channels.c3.transactionCapacity = 1000

a1.sinks.s1.channel = c1
#a1.sinks.s1.type = logger 
a1.sinks.s1.type = com.yimen.data.flume.sink.MysqlSink
a1.sinks.s1.hostname = 192.168.10.190
a1.sinks.s1.port = 3306
a1.sinks.s1.username = root
a1.sinks.s1.password = 123456
a1.sinks.s1.testtype = type1
a1.sinks.s1.databaseName = test
a1.sinks.s1.tableName = table1
a1.sinks.s1.batchSize = 10

a1.sinks.s2.channel = c2
a1.sinks.s2.type = com.yimen.data.flume.sink.MysqlSink
a1.sinks.s2.hostname = 192.168.10.190
a1.sinks.s2.port = 3306
a1.sinks.s2.username = root
a1.sinks.s2.password = 123456
a1.sinks.s2.testtype = type2
a1.sinks.s2.databaseName = test
a1.sinks.s2.tableName = table2
a1.sinks.s2.batchSize = 10

a1.sinks.s3.channel = c3
a1.sinks.s3.type = com.yimen.data.flume.sink.MysqlSink
a1.sinks.s3.hostname = 192.168.10.190
a1.sinks.s3.port = 3306
a1.sinks.s3.username = root
a1.sinks.s3.password = 123456
a1.sinks.s3.testtype = type3
a1.sinks.s3.databaseName = test
a1.sinks.s3.tableName = table3
a1.sinks.s3.batchSize = 10

../bin/flume-ng agent -n a1 -c conf -f ../conf/test_mysql.conf -Dflume.root.logger=DEBUG,console

评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值