seiang
(Seiang)
1
为提高效率,请提供以下信息,问题描述清晰能够更快得到解决:
【 TiDB 使用环境】
生产环境 V5.0.3
【概述】 场景 + 问题概述
场景:通过ticdc同步tidb数据到kafka,存在一下几个问题
1、 kafka
的Sink URI 配置 看不支持多个IP,kafka集群存在多个节点,目前只支持配置一个节点IP,那如果这个节点宕了,那cdc任务就有问题了?
2、目前kafka
的Sink URI 配置也不支持用户名和密码认证,这种如果kafka集群需要用户名和密码认证该如何解决?
看CDC的底层使用的是sarama访问KAFKA,这个应该是支持多个IP地址以及用户名密码认证的,目前cdc不支持的原因是什么?
参考文档链接:
https://docs.pingcap.com/zh/tidb/stable/manage-ticdc#sink-uri-配置-kafka
【附件】
- 相关日志、配置文件、Grafana 监控(https://metricstool.pingcap.com/)
- TiUP Cluster Display 信息
- TiUP CLuster Edit config 信息
- TiDB-Overview 监控
- 对应模块的 Grafana 监控(如有 BR、TiDB-binlog、TiCDC 等)
- 对应模块日志(包含问题前后 1 小时日志)
若提问为性能优化、故障排查类问题,请下载脚本运行。终端输出的打印结果,请务必全选并复制粘贴上传。
1 个赞
seiang
(Seiang)
4
1、kafka上层在使用一层代理,使用上就非常不友好了
2、kafka用户名密码认证,类似于MySQL的用户名和密码,不是ca认证
kafka://127.0.0.1:9092,127.0.0.1:9092,127.0.0.1:9092/cdc-test? 这样直接加是可以的
你是哪种认证方式 TLS还是SASL/PLAIN认证?
可以直接在连接字符串加 username和password 选择 sasl 尝试一下
–sink-uri=“kafka://127.0.0.1:9092,127.0.0.2:9092,127.0.0.3:9092/cdc-test?kafka-version=2.4.0&partition-num=6&max-message-bytes=67108864&replication-factor=1&saslEnable=true&username=xx&password=xx”
推测 具体需验证一下。
seiang
(Seiang)
11
好的,非常感谢,我这边稍后测试一下,还有个问题咨询一下:
我这边如果协议类型选择protocol = default的话,default 为 TiCDC Open Protocol,同步到kafka的数据key和value会出现乱码,这是什么原因呢?
如下所示:
如果协议选择maxwell,同样key会出现乱码,但是value的数据是正常的
seiang
(Seiang)
15
如果协议选择maxwell,同样key会出现乱码,但是value的数据是正常的
通过程序读取出来的key格式如下,value数据正常;
请问下,你那边吧数据同步到开SASL/PLAIN认证方式安全的kafka 是怎么配置的?我按照讨论中的&saslEnable=true&username=xx&password=xx” 不行,5.4.1 版本
neilshen
(Neil Shen)
19
参数 |
解析 |
sasl-user |
连接下游 Kafka 实例所需的 SASL/SCRAM 验证的用户名(authcid)(可选) |
sasl-password |
连接下游 Kafka 实例所需的 SASL/SCRAM 验证的密码(可选) |
sasl-mechanism |
连接下游 Kafka 实例所需的 SASL/SCRAM 验证的名称(可选) |
更多 kafka 配置见 TiCDC 运维操作及任务管理 | PingCAP Docs
能列个具体的连接示例吗?谢谢,我这边尝试了将这个三个参数拼接在uri 里面,没有效果