【发布时间】:2021-04-25 10:32:45
【问题描述】:
在 Kubernetes 中,您明确指定容器的资源限制。在启动 Kafka 连接器时,您请求最大任务,但连接工作集群如何知道如何分配负载?它认为任务是平等的吗?它是否使用内部指标?
Apache Kafka 文档和 confluent 文档没有明确说明,除非 Confluent 建议以下内容,这表明连接工作人员没有资源管理:
资源限制在很大程度上取决于工作器运行的连接器类型,但在大多数情况下,当在单台机器上同时运行工作器时,用户应该注意 CPU 和内存限制。
https://docs.confluent.io/3.1.2/connect/userguide.html#connect-standalone-v-distributed
此外,集群部署似乎需要外部资源管理器来处理工作人员的故障转移。
Kafka Connect 工作人员可以通过多种方式部署,每种方式都有自己的优势。 Worker 很适合在 YARN、Mesos 或 Docker Swarm 等托管环境中的容器中运行,因为所有状态都存储在 Kafka 中,从而使本地进程本身无状态。我们提供 Docker 镜像和开始使用这些镜像的文档在这里。按照设计,Kafka Connect 不会自动处理重启或扩展工作线程,这意味着您现有的集群解决方案可以继续透明地使用。
【问题讨论】:
标签: apache-kafka apache-kafka-connect