Pulsar-admin Sink LocalRun认证失败:为何连接6650而非SSL端口6651?
Pulsar Mongo Sink 连接非SSL端口导致认证失败的问题排查与解决
原因分析
- 使用
localrun模式启动Sink时,连接器不会自动继承全局client.conf的全部配置,若未明确指定SSL端口和TLS参数,会默认使用非SSL的6650端口。 - 虽然全局
client.conf配置了双向TLS,但localrun启动的独立进程可能未正确加载该配置文件,导致SSL连接逻辑未启用。
解决方法
1. 在Sink配置文件中添加SSL连接参数
直接在work/config.json里补充Pulsar客户端的TLS配置,强制连接器使用6651端口,示例配置如下:
{ "inputs": ["up-20wt"], "name": "mongo-sink", "parallelism": 1, "configs": { // 保留你的MongoDB相关配置 }, "clientConfig": { "serviceUrl": "pulsar+ssl://<你的broker地址>:6651", "tlsTrustCertsFilePath": "/path/to/ca证书文件路径", "tlsCertFilePath": "/path/to/client证书文件路径", "tlsKeyFilePath": "/path/to/client密钥文件路径", "tlsAllowInsecureConnection": false, "tlsEnableHostnameVerification": true } }
2. 命令行显式指定客户端配置文件
运行命令时,通过--client-config-file参数直接指定全局client.conf的路径,让连接器加载正确的TLS配置:
bin/pulsar-admin sinks localrun -a connectors/pulsar-io-mongo-2.10.2.nar --tenant public --namespace default --inputs up-20wt --name mongo-sink --sink-config-file work/config.json --parallelism 1 --client-config-file /path/to/client.conf
3. 确认client.conf的服务地址配置
检查全局client.conf中的serviceUrl是否正确设置为SSL端口:
serviceUrl=pulsar+ssl://<你的broker地址>:6651
内容的提问来源于stack exchange,提问作者blue
相关产品推荐
相关产品推荐

