前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Druid 加载 Kafka 流数据 KafkaSupervisorIOConfig 配置信息表

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

原创
作者头像
HoneyMoose
修改2021-08-10 10:27:38
6390
修改2021-08-10 10:27:38
举报
文章被收录于专栏:CWIKIUS

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

需要注意的是配置的段的定义为为: 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, truststore,key 可以使用字符串密码,或者使用 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 中的配置进行一些调整来满足特定的项目消息需求。

kafka-ioConfig-01
kafka-ioConfig-01

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

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

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档