zoukankan      html  css  js  c++  java
  • 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
    收住自己的心 一步一个脚印 做好自己的事
  • 相关阅读:
    002 下载文件
    001 okhttp3的POST使用
    000 okhttp3的Get使用
    008 webpack的其他使用方式
    007 webpack基本的用法
    three.js 3d三维网页代码加密的实现方法
    物联网开发技术栈
    9个顶级开发IoT项目的开源物联网平台
    hibernate缓存机制详细分析
    机器学习大牛最常用的5个回归损失函数,你知道几个?
  • 原文地址:https://www.cnblogs.com/GodMode/p/5644072.html
Copyright © 2011-2022 走看看