Flume个人心得笔记之Process安装
目录
四.Load Balancing Sink Processor
一.概述
- Sink Group允许用户将多个Sink组合成一个实体
- Flume Sink Processor 可以通过切换组内Sink用来实现负载均衡的效果,或在一个Sink故障时切换到另一个Sink
二.Default Sink Processor
一、概述
- 只接受一个 Sink
- 这是默认的策略。即如果不配置Processor,用的是这个策略
二、可配置选项说明
配置项 | 说明 |
sinks | 用空格分隔的Sink集合 |
processor.type | default |
三.Failover Sink Processor
一、概述
- 维护一个sink们的优先表。确保只要一个是可用的就事件就可以被处理
- 失败处理原理是,为失效的sink指定一个冷却时间,在冷却时间到达后再重新使用
- sink们可以被配置一个优先级,数字越大优先级越高
- 如果sink发送事件失败,则下一个最高优先级的sink将会尝试接着发送事件
- 如果没有指定优先级,则优先级顺序取决于sink们的配置顺序,先配置的默认优先级高于后配置的
- 在配置的过程中,设置一个group processor ,并且为每个sink都指定一个优先级
- 优先级必须是唯一的
- 另外可以设置maxpenalty属性指定限定失败时间
二、可配置项说明
配置项 | 说明 |
sinks | 绑定的sink |
processor.type | failover |
processor.priority | 设置优先级,注意,每个sink的优先级必须是唯一的 |
processor.maxpenalty | 30000 The maximum backoff period for the failed Sink (in millis) |
三、示例
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.processor.priority.k2 = 10
a1.sinkgroups.g1.processor.maxpenalty = 10000
四.Load Balancing Sink Processor
一、概述
- 提供了在多个sink之间实现负载均衡的能力
- 它维护了一个活动sink的索引列表
- 它支持轮询或随机方式的负载均衡,默认值是轮询方式,可以通过配置指定
- 也可以通过实现AbstractSinkSelector接口实现自定义的选择机制
二、可配置项说明
配置项 | 说明 |
processor.sinks | 绑定的sink |
processor.type | load_balance |
processor.selector | round_robin(轮叫调度)random(随机) hash (哈希取模)--不常用 |
三、示例
01的配置示例:
#配置Agent a1 的组件
a1.sources=r1
a1.sinks=s1 s2
a1.channels=c1
a1.sinkgroups=g1
#描述/配置a1的source1
a1.sources.r1.type=http
a1.sources.r1.port=8888
a1.sinkgroups.g1.sinks=s1 s2
a1.sinkgroups.g1.processor.type=load_balance
a1.sinkgroups.g1.processor.selector=round_robin
轮叫调度算法(轮询发送)
#描述sink
a1.sinks.s1.type=avro
a1.sinks.s1.hostname=192.168.234.212
a1.sinks.s1.port=9999
a1.sinks.s2.type=avro
a1.sinks.s2.hostname=192.168.234.213
a1.sinks.s2.port=9999
#描述内存channel
a1.channels.c1.type=memory
a1.channels.c1.capacity=1000
a1.channels.c1.transactionCapacity=100
#为channel 绑定 source和sink
a1.sources.r1.channels=c1
a1.sinks.s1.channel=c1
a1.sinks.s2.channel=c1
02,03的配置示例:
#配置Agent a1 的组件
a1.sources=r1
a1.sinks=s1
a1.channels=c1
#描述/配置a1的source1
a1.sources.r1.type=avro
a1.sources.r1.bind=0.0.0.0
a1.sources.r1.port=9999
#描述sink
a1.sinks.s1.type=logger
#描述内存channel
a1.channels.c1.type=memory
a1.channels.c1.capacity=1000
a1.channels.c1.transactionCapacity=100
#为channel 绑定 source和sink
a1.sources.r1.channels=c1
a1.sinks.s1.channel=c1