Kafka Connect Sink连接器启动报错及ADB配置疑问求助
Kafka Connect Sink 连接器问题排查与配置解答
一、启动报错(Node -1 disconnected)修复
启动时出现Node -1 disconnected错误,说明Kafka Connect Worker无法连接到配置的Oracle托管Kafka集群,同时连接器配置格式存在问题,修复步骤如下:
- 补充Worker的SSL连接配置
Oracle托管的Kafka服务默认要求SSL连接,你的worker配置中缺少相关参数,需在connect-distributed.properties中添加:
security.protocol=SSL ssl.truststore.location=/path/to/your/truststore.jks ssl.truststore.password=your-truststore-password
注:信任库文件可从Oracle Cloud控制台下载,或使用JDK默认的cacerts文件(路径通常为$JAVA_HOME/jre/lib/security/cacerts,默认密码changeit)。
- 修正连接器配置文件格式
你提供的sink.json格式错误,JSON配置需为完整的键值对结构,正确示例如下:
{ "name": "sink-test", "connector.class": "io.confluent.connect.jdbc.JdbcSinkConnector", "tasks.max": "3", "topics": "teststream", "connection.url": "jdbc:oracle:thin:@pxxxhigh?TNS_ADMIN=/opt/jdbc/wallet", "connection.user": "abc", "connection.password": "Randompassword", "auto.create": "true", "table.name.format": "TARGET_ADB_TABLE" }
- 调整启动方式
分布式模式下,需先启动Worker,再通过REST API提交连接器配置,而非直接将连接器配置作为启动参数:
- 启动Worker:
./bin/connect-distributed.sh ./config/connect-distributed.properties - 待Worker启动完成(默认监听8083端口),提交连接器配置:
curl -X POST -H "Content-Type: application/json" --data @sink.json http://localhost:8083/connectors
二、ADB连接信息与表名的配置说明
ADB的连接信息、表名等配置确实需要放在Sink连接器配置文件中,但要确保格式正确,关键配置项说明:
connection.url:ADB的JDBC连接串,需保证TNS_ADMIN指向的钱包目录包含完整的ADB钱包文件,且Worker进程有访问权限connection.user/connection.password:ADB的合法用户名与密码table.name.format:指定要写入的ADB目标表名,支持变量(例如${topic}表示用Kafka主题名作为表名)auto.create:设为true可自动在ADB中创建对应表(需ADB用户具备建表权限)auto.evolve:设为true可自动适配Kafka消息结构变更,更新ADB表结构
内容的提问来源于stack exchange,提问作者Charandeep Singh
相关产品推荐
相关产品推荐

