摘要:FlumeSinkProcessor可以通过切换组中的接收器来实现负载平衡,或者在一个接收器发生故障时切换到另一个接收器。Sinks–Sink集合处理器的类型名称。typedefault由空格分隔,必须是default、failover或load_Balance2.DefaultSinkProcessorDefaultSinkProcess只接受一个Sink。用户无需为单个接收器创建processor3.FailoverSinkProcessorFailoverSinkProcessor,即可维护接收器的优先级列表。如果接收器无法发送事件,下一个优先级最高的接收器将尝试下一个发送事件。在配置期间,设置组处理器并为每个接收器分配优先级。sinks–以空格分隔的参与组处理器的链接列表。类型默认组件类型名称需要是故障超处理器。优先级。<sinkName>–优先级值。<sinkName>必须是与当前链接组关联的一个实例,其优先级值Sinkgets激活得更高。较大的解决方案值表示优先级较高的处理器。最大值为30000默认链接示例的最大回退周期da1:------a1.sinkgroups=g1a1.sinkgroups.g1.sink=k1k2a1.snkgroups.g1.processor.type=failover1.sinkgroups.g1.processor.priority.k1=5a1.snkGroups.g1.处理器优先事项k2=10a1。下沉群。g1、处理器。maxpenalty=10000------4.LoadbalancingSinkProcessorLoadbalancing Sink处理器提供了在多个接收器之间实现负载平衡的能力。您还可以通过实现AbstractSinkSelector接口来实现用户定义的选择机制。!
1.概述
Sink Group允许用户将多个Sink组合成一个实体。
Flume Sink Processor 可以通过切换组内Sink用来实现负载均衡的效果,或在一个Sink故障时切换到另一个Sink。
sinks – 用空格分隔的Sink集合
processor.type default 类型名称,必须是 default、failover 或 load_balance
2.Default Sink Processor
Default Sink Processor 只接受一个 Sink。
不要求用户为单一Sink创建processor
3.Failover Sink Processor
Failover Sink Processor 维护一个sink们的优先表。确保只要一个是可用的就事件就可以被处理。
失败处理原理是,为失效的sink指定一个冷却时间,在冷却时间到达后再重新使用。
sink们可以被配置一个优先级,数字越大优先级越高。
如果sink发送事件失败,则下一个最高优先级的sink将会尝试接着发送事件。
如果没有指定优先级,则优先级顺序取决于sink们的配置顺序,先配置的默认优先级高于后配置的。
在配置的过程中,设置一个group processor ,并且为每个sink都指定一个优先级。
优先级必须是唯一的。
另外可以设置maxpenalty属性指定限定失败时间。
sinks – Space-separated list of sinks that are participating in the group
processor.type default The component type name, needs to be failover
processor.priority.<sinkName> – Priority value. <sinkName> must be one of the sink instances associated with the current sink group A higher priority value Sink gets activated earlier. A larger absolute value indicates higher priority
processor.maxpenalty 30000 The maximum backoff period for the failed Sink (in millis)
Example for agent named a1:
------
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
------
4.Load balancing Sink Processor
Load balancing Sink processor 提供了在多个sink之间实现负载均衡的能力。
它维护了一个活动sink的索引列表。
它支持轮询 或 随机方式的负载均衡,默认值是轮询方式,可以通过配置指定。
也可以通过实现AbstractSinkSelector接口实现自定义的选择机制。
!processor.sinks – Space-separated list of sinks that are participating in the group
!processor.type default The component type name, needs to be load_balance
processor.backoff false Should failed sinks be backed off exponentially.
processor.selector round_robin Selection mechanism. Must be either round_robin, random or FQCN of custom class that inherits from AbstractSinkSelector
processor.selector.maxTimeOut 30000 Used by backoff selectors to limit exponential backoff (in milliseconds)
------
a1.sinkgroups = g1
a1.sinkgroups.g1.sinks = k1 k2
a1.sinkgroups.g1.processor.type = load_balance
a1.sinkgroups.g1.processor.backoff = true
a1.sinkgroups.g1.processor.selector = random