You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Confluent BigQuerySinkConnector Schema Registry连接拒绝问题求助

排查BigQuery Sink Connector连接Schema Registry被拒绝的问题

从你给出的栈日志来看,核心问题是连接器无法连接到Schema Registry服务(java.net.ConnectException: Connection refused),结合你使用cp-all-in-one Docker环境的场景,我整理了几个最可能的排查方向:

1. 确认连接器配置中的Schema Registry地址是否正确

这是Docker环境下最容易踩的坑!容器内部的localhost指向的是容器自身,而非宿主机。cp-all-in-one集群里的Schema Registry容器在默认Docker网络中的服务名是schema-registry,端口为8081。

你需要检查连接器配置里的schema.registry.url参数:

  • 错误写法:http://localhost:8081(容器内无法通过这个地址访问到同集群的Schema Registry)
  • 正确写法:http://schema-registry:8081(利用Docker服务发现机制,通过服务名访问同网络内的Schema Registry)

2. 验证Schema Registry服务是否正常运行且网络可达

先确认Schema Registry容器本身没有异常:

  • 执行docker ps,检查confluentinc/cp-schema-registry容器是否处于Up状态,没有频繁退出或重启。
  • 在同集群的容器(比如broker容器)里测试连通性:
    docker exec -it broker curl http://schema-registry:8081/subjects
    
    如果能返回Schema Registry中的subject列表,说明服务正常且网络可达;如果仍连接失败,大概率是Docker网络配置出了问题。

3. 确认连接器容器与Schema Registry在同一个Docker网络

cp-all-in-one默认创建的Docker网络是confluent(可通过docker network ls查看)。如果你是手动添加的连接器容器,必须确保它加入了这个网络:

  • 查看连接器容器的网络归属:docker inspect <connector-container-name> | grep Networks
  • 如果不在confluent网络,执行命令将其加入:
    docker network connect confluent <connector-container-name>
    

4. 检查端口映射与防火墙(针对连接器在宿主机运行的情况)

如果你是在宿主机上运行连接器(而非Docker容器内),需要确认:

  • cp-all-in-one的docker-compose.yml中,Schema Registry的8081端口是否已映射到宿主机(默认配置是8081:8081)
  • 宿主机防火墙没有阻挡8081端口的入站请求

额外提示:确认Topic的Schema已正确注册到Schema Registry

虽然你提到手动定义了Avro Schema,但要确保该Schema已经注册到Schema Registry,对应的subject遵循默认命名规则<topic-name>-value。可以用以下命令验证:

curl http://schema-registry:8081/subjects/rest_avro-value/versions/latest

如果返回404,说明Schema未注册,需要先通过Schema Registry API或Kafka Producer完成注册。

内容的提问来源于stack exchange,提问作者Onur Tokat

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.08 21:08:14