• Druid 加载 Kafka 流数据 KafkaSupervisorIOConfig 配置信息表


    可用的字段和配置信息,请参考表格。

    需要注意的是配置的段的定义为为: ioConfig

    字段(Field)类型(Type)描述(Description)是否必须(Required)
    topic String 从 Kafka 中读取数据的 主题(topic)名。你必须要指定一个明确的 topic。例如 topic patterns 还不能被支持。 Y
    inputFormat Object inputFormat 被指定如何来解析处理数据。请参考 the below section 来了解更多如何指定 input format 的内容。 Y
    consumerProperties Map<String, Object> 传递给 Kafka 消费者的一组属性 map。这个必须包含有一个 bootstrap.servers 属性。这个属性的值为: <BROKER_1>:<PORT_1>,<BROKER_2>:<PORT_2>,... 这样的服务器列表。针对使用 SSL 的链接: keystore, truststorekey 可以使用字符串密码,或者使用 Password Provider 来进行提供。 Y
    pollTimeout Long Kafka 消费者拉取数据等待的时间。单位为:毫秒(milliseconds)The length of time to wait for the Kafka consumer to poll records, in N(默认=100))
    replicas Integer 副本的数量, 1 意味着一个单一任务(无副本)。副本任务将始终分配给不同的 workers,以提供针对流程故障的恢复能力。 否(no)(默认值:1)
    taskCount Integer 在一个 replica set 集中最大 reading 的数量。这意味着读取任务的最大的数量将是 taskCount * replicas, 任务总数(reading + publishing)是大于这个数值的。请参考 Capacity Planning 中的内容。如果 taskCount > {numKafkaPartitions} 的话,总的 reading 任务数量将会小于 taskCount 。 N(默认=1))
    taskDuration ISO8601 Period 任务停止读取数据并且将已经读取的数据发布为新段的时间周期 N(默认=PT1H)
    startDelay ISO8601 Period supervisor 开始管理任务之前的等待时间周期。 N(默认=PT1S)
    period ISO8601 Period supervisor 将要执行管理逻辑的时间周期间隔。请注意,supervisor 将会在一些特定的事件发生时进行执行(例如:任务成功终止,任务失败,任务达到了他们的 taskDuration)。因此这个值指定了在在 2 个事件之间进行执行的最大时间间隔周期。 N(默认=PT30S)
    useEarliestOffset Boolean 如果 supervisor 是第一次对数据源进行管理,supervisor 将会从 Kafka 中获得一系列的数据偏移量。这个标记位用于在 Kafka 中确定最早(earliest)或者最晚(latest)的偏移量。在通常使用的情况下,后续的任务将会从前一个段结束的标记位开始继续执行,因此这个参数只在 supervisor 第一次启动的时候需要。 否(no)(默认值: false)
    completionTimeout ISO8601 Period 声明发布任务为失败并终止它 之前等待的时间长度。如果设置得太低,则任务可能永远不会发布。任务的发布时刻大约在 taskDuration (任务持续)时间过后开始。 N(默认=PT30M)
    lateMessageRejectionStartDateTime ISO8601 DateTime 用来配置一个时间,当消息时间戳早于此日期时间的时候,消息被拒绝。例如我们将这个时间戳设置为 2016-01-01T11:00Z 然后 supervisor 在 2016-01-01T12:00Z 创建了一个任务,那么早于 2016-01-01T11:00Z 的消息将会被丢弃。这个设置有助于帮助避免并发(concurrency)问题。例如,如果你的数据流有延迟消息,并且你有多个需要在同一段上操作的管道(例如实时和夜间批处理摄取管道)。 N(默认=none)
    lateMessageRejectionPeriod ISO8601 Period 配置一个时间周期,当消息时间戳早于此周期的时候,消息被拒绝。例如,如果这个参数被设置为 PT1H 同时 supervisor 在 2016-01-01T12:00Z 创建了一个任务,那么所有早于 2016-01-01T11:00Z 的消息将会被丢弃。 个设置有助于帮助避免并发(concurrency)问题。例如,如果你的数据流有延迟消息,并且你有多个需要在同一段上操作的管道(例如实时和夜间批处理摄取管道)。请注意 lateMessageRejectionPeriod 或者 lateMessageRejectionStartDateTime 2 个参数只能指定一个,不能同时赋值。 N(默认=none)
    earlyMessageRejectionPeriod ISO8601 Period 用来配置一个时间周期,当消息时间戳晚于此周期的时候,消息被拒绝。例如,如果这个参数被设置为 PT1H,taskDuration 也被设置为 PT1H,然后 supervisor 在 2016-01-01T12:00Z 创建了一个任务,那么所有晚于 2016-01-01T14:00Z 的消息丢会被丢弃,这是因为任务的执行时间为 1 个小时,earlyMessageRejectionPeriod 参数的设置为 1 个小时,因此总计需要等候 2 个小时。 注意: 任务有时候的执行时间可能会超过任务 taskDuration 参数设定的值,例如,supervisor 被挂起的情况。如果设置 earlyMessageRejectionPeriod 参数过低的话,在任务的执行时间超过预期的话,将会有可能导致消息被意外丢弃。 N(默认=none)

    如上面表格的配置信息,我们可以对 Kafka 中的配置进行一些调整来满足特定的项目消息需求。

    如果你对需要调整的默认值不是非常了解和清楚的话,可以使用默认值,通常默认值不是最优的,但是可能是能够保障能正确工作的最低配置。

    https://www.ossez.com/t/druid-kafka-kafkasupervisorioconfig/13665

  • 相关阅读:
    vue学习(十四) 条件搜索框动态查询表中数据 数组的新方法
    vue学习(十三) 删除对象数组中的某个元素
    数据库管理
    PHP基础
    PHP基础之常量与变量
    Cobalt Strike简单使用
    phpstudy后门利用复现
    DNS劫持
    远程控制(远控Bin)
    php基础
  • 原文地址:https://www.cnblogs.com/huyuchengus/p/15121869.html
Copyright © 2020-2023  润新知