1.需求
体会SinkProcessor,场景就是多个sink同时从一个channel拉取数据!
Agent1: netcatsource----memorychannel-----2AvroSink (hadoop102)
Agent2: ArvoSource----memorychannel-----loggersink (103)
Agent3: ArvoSource----memorychannel-----loggersink (104)
2.所需组件
2.1 Default Sink Processor
agent中只有一个sink,此时就使用Default Sink Processor,不强制用户来配置Sink Processor和sink组!
2.2 Failover Sink Processor
Failover Sink Processor:故障转移的sink处理器! 这个sink处理器会维护一组有优先级的sink!默认挑选优先级最高(数值越大)的sink来处理数据!故障的sink会放入池中冷却一段时间,恢复后,重新加入到存活的池中,此时在live pool(存活的池)中选优先级最高的,接替工作!
配置:
sinks | – | 空格分割的,多个sink组成的集合 |
---|---|---|
processor.type | default |
failover |
**processor.priority.**sinkName | – | 优先级 |
示例:
a1.sinkgroups = g1
a1.sinkgroups.g1.sinks = k1 k2
a1.sinkgroups.g1.processor.type = failover
a1.sinkgroups.g1.processor.priority.k1 = 5
a1.sinkgroups.g1.proces