Kafka Connect运行时仅观测到1个worker实例的相关问题咨询
现象是否符合预期的判定
该现象是否正常取决于你部署的Kafka Connect集群预期规模:
- 如果你仅部署了1个worker节点,现象完全符合预期。分布式模式下单节点运行时,所有连接器实例和任务都会被调度到这唯一的节点上执行,返回结果中connector和task的
worker_id一致属于正常情况。 - 如果你预期部署的是多worker集群,但实际仅观测到1个活跃worker,属于异常情况,需按以下步骤排查配置问题。
多worker集群异常排查步骤
1. 核对所有worker节点的共性配置
检查各节点的connect-distributed.properties配置文件,确认以下配置完全一致:
bootstrap.servers:所有worker必须连接到同一个Kafka集群,才能加入同一个Connect集群group.id:Connect集群通过相同的group.id识别集群成员,配置不同的节点会被划分为独立集群config.storage.topic、offset.storage.topic、status.storage.topic:三个集群内置管理topic的配置必须完全一致,且所有worker都具备这三个topic的读写权限
2. 排查网络连通性
- 确认所有worker节点之间的REST服务端口(默认8083)可以互相访问,worker之间需要通过REST接口同步集群状态
- 确认所有worker节点都可以正常访问
bootstrap.servers配置的Kafka集群地址,不存在防火墙、安全组或网络策略限制
3. 检查worker运行状态与日志
- 执行命令
ps aux | grep ConnectDistributed确认所有预期的worker进程都处于运行状态,没有异常退出 - 查看worker进程的启动日志,排查是否存在配置校验失败、topic访问无权限、Kafka集群连接失败等报错,通常配置类问题会在启动阶段抛出明确的错误信息
4. 连接器配置校验
如果确认多worker集群已经正常组建(不同节点执行curl localhost:8083/connectors返回的连接器列表完全一致即代表集群正常),但任务都调度到同一节点,可检查:
- 连接器配置的
tasks.max参数是否大于1,参数设置为1时只会启动1个task - 你使用的连接器类型是否支持多任务并行,部分数据源/下沉目标受限于自身特性(比如单文件读写、单分区消费),最多只能启动1个task运行
内容的提问来源于stack exchange,提问作者Austin Jackson
相关产品推荐
相关产品推荐

