标签 - Flume

? Flume ?    2016-05-24 22:04:31    2222    0    0

Flume Sink Processors

    Sink groups允许用户在一个代理中对多个sink进行分组。Sink processor能够实现分组内的sink负载均衡。以及组内sink容错,实现当组内一个sink失败时,切换至其他的sink。

Property NameDefaultDescription
sinksSpace-separated list of sinks that are participating in the group
processor.typedefaultThe component type name, needs to bedefaultfailover or load_balance

示例:

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

Default Sink Processor

    默认的sink processor仅接受单独一个sink。不必对单个sink使用processor。对单个sink可以使用source-channel-sink的方式。

Failorver Sink Processor

    Failover Sink Processor(容错处理器)拥有一个sink的优先级列表,用来保证只有一个sink可用。

    容错机制将失败的sink放入一个冷却池中,并给他设置一个冷却时间,如果重试中不断失败,冷却时间将不断增加。一旦sink成功的发送event,sink将被重新保存到一个可用sink池中。在这个可用sink池中,每一个sink都有一个关联优先级值,值越大优先级越高。当一个sink发送event失败时,剩下的sink中优先级最高的sink将试着发送event。例如:在选择发送event的sink时,优先级100的sink将优先于优先级80的sink。如果没有设置sink的优先级,那么优先级将按照设置的顺序从左至右,由高到低来决定。

    设置sink组的processor为failover,并且为每个独立的