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

Pulsar客户端连接集群时报getPartitionedTopicMetadata连接超时如何解决?

Pulsar客户端连接超时问题排查方案

异常信息

2021-03-10 14:38:26.107 WARN 7 --- [r-client-io-1-1]
o.a.pulsar.client.impl.ConnectionPool : Failed to open connection
to my-pulsar-server-ms-tls.domain.com:6651 :
io.netty.channel.ConnectTimeoutException: connection timed out:
my-pulsar-server-ms-tls.domain.com/10.80.13.38:6651 2021-03-10
14:38:26.212 WARN 7 --- [al-listener-3-1]
o.a.pulsar.client.impl.PulsarClientImpl : [topic:
persistent://myTenant/myNamespace/myTopic]
Could not get connection while getPartitionedTopicMetadata -- Will try
again in 100 ms

根因分析

已经确认证书、token有效,且其他环境同版本代码可正常连接集群,基本排除客户端代码逻辑、服务端整体故障的可能,问题集中在当前部署环境和Pulsar集群之间的链路层面:

  • 网络访问策略限制:当前环境的出向防火墙、安全组、ACL拦截了到Pulsar集群6651端口的请求,或者Pulsar集群侧的入向规则、负载均衡白名单未放开当前环境的出口IP
  • 路由不可达:当前环境的网络路由配置异常,无法到达Pulsar服务端所在的10.80.13.0/24网段
  • 客户端配置失误:serviceUrl未正确添加pulsar+ssl://前缀,使用普通pulsar协议访问TLS端口导致握手失败超时

排查解决步骤

  • 第一步验证基础连通性:在应用部署节点执行端口连通性命令
    # 任选一种命令执行
    telnet my-pulsar-server-ms-tls.domain.com 6651
    nc -zv my-pulsar-server-ms-tls.domain.com 6651
    
    如果执行结果为连接失败,直接定位为网络链路问题,联系运维同学排查两端的安全策略和路由配置
  • 第二步验证域名解析:执行nslookup my-pulsar-server-ms-tls.domain.com,确认解析结果和异常中给出的10.80.13.38一致,排除域名解析错误的问题
  • 第三步验证客户端配置:确认serviceUrl的完整格式为pulsar+ssl://my-pulsar-server-ms-tls.domain.com:6651,不要遗漏协议前缀
  • 第四步验证TLS握手:如果基础连通性正常,执行openssl命令验证TLS链路:
    openssl s_client -connect my-pulsar-server-ms-tls.domain.com:6651 -CAfile ${serverCertificateFilePath}
    
    如果握手失败,再检查证书文件的权限、路径配置是否正确

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.05 06:54:03