当前位置: 首页 > 知识库问答 >
问题:

为什么kafka connect内部主题connect-offsets有50个分区,connect-status有10个分区?

郎华皓
2023-03-14

根据阅读kafka connect文档:

https://docs . confluent . io/5 . 3 . 3/connect/user guide . html #分布式模式

config . storage . topic =连接-配置

bin/kafka-topics --create --zookeeper localhost:2181 --topic connect-configs --replication-factor 3 --partitions 1 --config cleanup.policy=compact

offset.storage.topic=connect-offsets

bin/kafka-主题-创建-动物园管理员localhost:2181-主题连接-偏移-复制因子3-分区50-配置cleanup.policy=紧凑

status.storage.topic=连接状态

bin/kafka topics--create--zookeeper localhost:2181--topic connect status--replication factor 3--partitions 10--config cleanup.policy=compact

我理解为什么连接配置只有一个分区,它必须是唯一的分区,好吧。但是我不明白,也无法获得有关为什么连接偏移量应该有 50 个分区和连接状态 10 的信息

共有1个答案

江德润
2023-03-14

这只是一个猜测,但分区将负载分散在一个主题上。

我不知道这些主题中每个主题的确切功能是什么,但如果我不得不猜测,我会说配置可能不会连续访问,因为看起来它存储了配置状态很可能是定期更新的,但偏移量不是那么频繁。偏移量始终由源连接器更新。

因此,文档可能会根据预期负载创建具有这些分区数的主题,并明确设置它们在创建主题时不依赖默认分区数。

例如,这里说

< code > offset . storage . partitions

Connect创建用于存储连接器偏移的主题时使用的分区数。支持大型Kafka Connect集群需要较大的值(例如,25或50,就像Kafka内置的__consumer_offsets主题)。

status.storage.partitions

Connect创建用于存储连接器和任务状态更新的主题时使用的分区数。

默认值:5

默认为少数

 类似资料:
  • 我们希望使用Kafka connect sink连接器将消息从Kafka复制到Mongo DB。在我们的用例中,我们有多个主题,每个主题都有一个分区(主题的名称可以用正则表达式表示,例如topic.XXX.name)。这些主题的数量在不断增加。我想知道Kafka connect架构是否适合这个用例。如果是这样,如何配置它的增益高可缩放性和并行性?任务是什么。最大值?工人数量?

  • 我试图为我的Kafka Connect Sink指定一个主题分区。特别是,我正在使用DataStax Apache Kafka连接器。 有大量与为 Kafka 使用者指定主题分区相关的文档和资源,例如: https://kafka-tutorials.confluent.io/kafka-console-consumer-read-specific-offsets-partitions/kafka

  • 问题内容: 我的申请中出现了似乎无法再现的故障。我有一个TCP套接字连接失败,该应用程序尝试重新连接它。在第二次尝试重新连接的connect()调用中,我得到了一个错误结果,错误代码为errno == EADDRNOTAVAIL,connect()的手册页说:“指定的地址在本地计算机上不可用。” 查看对connect()的调用,第二个参数似乎是错误所指向的地址,但是据我了解,该参数是远程主机的TC

  • 我们有制作人将以下内容发送给Kafka: 主题=系统日志,每天 ~25,000 个事件 topic=nginx,每天 ~5,000 个事件 topic=zeek.xxx.log,每天~100,000个事件(总计)。在最后一种情况下,有 20 个不同的 zeek 主题,例如 zeek.conn.log 和 zeek.http.log 实例充当消费者,将数据从kafka发送到elasticsearch

  • 我有一个带有2个分区的源主题,我正在用同一个应用程序启动2个kafka streams应用程序。id,但不同的接收器主题。 1) 这两个应用程序实例是否会从不同的分区接收数据? 2)如果其中一个应用程序被杀死,另一个实例会自动从两个实例中消耗吗? 3) 我如何证明上述情况?

  • 我们使用的是Cosmos DB SQL API,下面是一个集合: 大小:无限 吞吐量:50000 RU/s PartitionKey:散列 我们将插入200,000条记录,每个记录的大小为2.1KB,并且分区键列的值相同。据我们所知,具有相同分区键值的所有文档都存储在同一个逻辑分区中,无论我们是在固定大小的集合还是在无限大小的集合中,逻辑分区都不应超过10 GB的限制。 显然,我们的总数据甚至不到