本文共 2695 字,大约阅读时间需要 8 分钟。
转自 https://blog.csdn.net/a632189007/article/details/74643000
多sink可以直接按常规配置,这样的话每个sink会启动一个sinkrunner,相当于每个线程一个sink,互不干扰,负载均衡是通过channel实现的,效率会提高为n倍,如果在此基础上加入sinkgroup,则sinkgroup会启动一个sinkrunner,就是单线程,sinkgroup从channel中读取数据,然后分发到下面挂载的sink中,效率和单sink一样,没有提高,但是可以实现两个sink的负载均衡或者热备模式。
#flume配置文件agent1.sources=s1agent1.sinks= k1 k2agent1.channels=c1groups非常影响性能,此处不使用,仅列出来看下配置#sink groups #agent1.sinkgroups=avroGroup#agent1.sinkgroups.avroGroup.sinks = k1 k2#sink调度模式 load_balance failover#agent1.sinkgroups.avroGroup.processor.type=load_balance#负载均衡模式 轮询 random round_robin#agent1.sinkgroups.avroGroup.processor.selector=round_robin#失效降级#agent1.sinkgroups.avroGroup.processor.backoff=true#降级时间30秒#agent1.sinkgroups.avroGroup.processor.maxTimeOut=30000#配置s1#si channelagent1.sources.s1.channels=c1#souorce 类型agent1.sources.s1.type=exec#监控正在写入的日志文件agent1.sources.s1.command=tail -F /home/flume/log/test.log#如果命令死掉是否重新启动agent1.sources.s1.restart=true#重新启动命令的间隔时间agent1.sources.s1.restartThrottle=2000#记录命令的错误日志agent1.sources.s1.logStdErr=true#批量提交的大小agent1.sources.s1.batchSize=1000#批量提交的超时 单位毫秒agent1.sources.s1.batchTimeout=1000#配置channel c1#channel类型 file memoryagent1.channels.c1.type=memory#agent1.channels.c1.checkpointDir=/home/flume/channel/log/ckpdir#agent1.channels.c1.dataDirs=/home/flume/channel/log/data#单个文件大小 100M#agent1.channels.c1.maxFileSize=204800000#channel的event个数agent1.channels.c1.capacity=20000000#事务event个数agent1.channels.c1.transactionCapacity=10000#内存channel占用内存大小 默认是jvm内存的0.8agent1.channels.c1.byteCapacity=1024000000#配置k1#sink的channelagent1.sinks.k1.channel=c1#sink类型 avro thrift agent1.sinks.k1.type=avro#ip地址agent1.sinks.k1.hostname=10.8.6.161#端口agent1.sinks.k1.port=1463#批量提交的个数agent1.sinks.k1.batch-size=1000#连接超时 毫秒agent1.sinks.k1.connect-timeout=3000#请求超时 毫秒agent1.sinks.k1.request-timeout=20000#重新连接source的时间 单位秒 用于后端负载均衡的轮询agent1.sinks.k1.reset-connection-interval=300#最大连接数 默认5agent1.sinks.k1.maxConnections=5#配置k2#sink的channelagent1.sinks.k2.channel=c1#sink类型 avro thrift agent1.sinks.k2.type=avro#ip地址agent1.sinks.k2.hostname=10.8.6.160#端口agent1.sinks.k2.port=1463#批量提交的个数agent1.sinks.k2.batch-size=1000#连接超时 毫秒agent1.sinks.k2.connect-timeout=3000#请求超时 毫秒agent1.sinks.k2.request-timeout=20000#重新连接source的时间 单位秒 用于后端负载均衡的轮询agent1.sinks.k2.reset-connection-interval=300#最大连接数 默认5agent1.sinks.k2.maxConnections=5