• flume sink processor


    sink groups使多个不同的sink组成一个整体,而sink processor提供了组内负载均衡和故障转移的功能。

    有三种sink processor :default sink processor,failover sink processor,Load balancing Sink Processor。

    default sink processor

    一般的单独的sink

    failover sink processor

    维护了一个sinks的优先级列表,保证只要有一个sink事件就可以被处理(即故障转移)。

    sink优先级高的会被优先激活,若没有设置优先级则按照snk被声明的顺序来决定优先级。

    设置如下:

    inks 多个sink用空格分开。
    processor.type default 组件的名称,必须是:failover
    processor.priority.<sinkName> 优先级值。<sinkName> 必须是sinks中有定义的。优先级值高Sink会更早被激活。值越大,优先级越高。
    :多个sinks的话,优先级的值不要相同,如果优先级相同的话,只会有一个生效。且failover时,同优先级的不会Failover,就算是同优先级的还存在也会报All sinks failed to process。
    processor.maxpenalty 30000 失败的Sink最大的退避时间(单位:毫秒)(退避算法(退避算法为我们在解决重试某项任务的时候,提供了一个比较好的等待思想。),参考:http://qiuqiang1985.iteye.com/blog/1513049)

     示例:

    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

     提供了多个sinks负载均衡的能力。它维护了一个active sinks的索引列表,列表中fenb的sinks的负载必须是分布式的。

    通过round_robin (轮询)或 random(随机)选择机制实现了分布式负载。选择机制默认为round_robin ,也可通过设置重载。自定义选举类须继承AbstractSinkSelector。

    当被调用时,选择器根据配置文件的选择机制挑选下一个sink,并且调用该sink。如果所选的Sink传递Event失败,则通过选择机制挑选下一个可用的Sink,以此类推。失效的sink不会被加入到黑名单里,选择器会继续尝试所有可用的sink。所有的被调用的sink都失败后,选择器才会把失败发送给sink runner。

    要是backoff属性可用,sink processor会把失败的sink拉黑,并移除在给定的超时时间内把它们从选择中移除。

    设置如下:

    processor.sinks 多个sink用空格分开。
    processor.type default 组件的名称,必须是:load_balance
    processor.backoff false 是否以指数的形式退避失败的Sinks。
    processor.selector round_robin 选择机制。必须是round_robin,random或者自定义的类,该类继承了AbstractSinkSelector
    processor.selector.maxTimeOut 30000

    默认是30000毫秒,屏蔽故障sink的时间

    示例:

    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
    收住自己的心 一步一个脚印 做好自己的事
  • 相关阅读:
    第六章 类(Class) 和对象(Object)
    如何在windows Server 2008虚拟机上安装SQLServer2008数据库
    小票打印机乱码问题
    SQLSERVER 的联接查询写法
    VMware下安装CentOS6.5
    疯狂java讲义--笔记
    学习Java第一篇——Java 安装及环境搭配
    informix数据迁移工具使用介绍
    informix 存储过程结构
    输入身份证号码自动读取生日与性别(delphi)
  • 原文地址:https://www.cnblogs.com/GodMode/p/5644072.html
Copyright © 2020-2023  润新知