Open 1150549059 opened 2 years ago
日志是正常的
a.yml 能同步到ES b.yml 同步不进去,2个日志是一样的
手动同步后看下错误日志呢
手动同步后看下错误日志呢
没有错误日志
手动同步提示什么,手动可以成功吗,同步不进去。是手动自动都不行吗
手动同步提示什么,手动可以成功吗,同步不进去。是手动自动都不行吗
post http://127.0.0.1:8081/etl/es7/xxxx.yml { "succeeded": false, "errorMessage": "Task not found" }
第二个显示这样,全量同步不行
http://127.0.0.1:8081/etl/es7/exampleKey2/xxxx.yml 是我配置那边加了key
- instance: example2 # canal instance Name or mq topic name
groups:
- groupId: g2
outerAdapters:
- name: logger
- name: es7
key: exampleKey2
hosts: http://127.0.0.1:9200 # 127.0.0.1:9200 for rest mode
properties:
mode: rest # or rest
#security.auth: elastic:Hna1rcom # only used for rest mode
cluster.name: elasticsearch
手动同步提示什么,手动可以成功吗,同步不进去。是手动自动都不行吗
上面的 a.yml 是正常的,b.yml全量是可以,增量没同步成
手动同步提示什么,手动可以成功吗,同步不进去。是手动自动都不行吗
post http://127.0.0.1:8081/etl/es7/xxxx.yml { "succeeded": false, "errorMessage": "Task not found" }
第二个显示这样,全量同步不行
这不是同步失败了,这个是哪个yml
配置文件 b.yml
配置文件 b.yml
手动同步提示什么,手动可以成功吗,同步不进去。是手动自动都不行吗
post http://127.0.0.1:8081/etl/es7/xxxx.yml { "succeeded": false, "errorMessage": "Task not found" } 第二个显示这样,全量同步不行
这不是同步失败了,这个是哪个yml
全量可以,增量不行
这就不知道了,不过大概思路就是找binlog看了吧,好像别的issue有这种情况,你可以找找看
还有一个数据同步开关看下是否开启了
还是不行,同步不上ES,日志这边都没有报错,同步开启,也是已开启
已经开启,但是还是不行,2个数据源第一个可以同步 第二个就不行
问题解决了吗
问题解决了吗
没有
解决后,说一下原因吧,我也想知道原因
你更新数据后,log日志里有监听到你对应的groupid的内容吗(b.yml)
解决后,说一下原因吧,我也想知道原因
已经摆烂了,目前没时间研究
你更新数据后,log日志里有监听到你对应的groupid的内容吗(b.yml)
日志是正常的
你更新数据后,log日志里有监听到你对应的groupid的内容吗(b.yml)
没有任何错误信息,就是第二个数据源ES不同步
你更新数据后,log日志里有监听到你对应的groupid的内容吗(b.yml)
binlog 也有接收到
可能要研究源代码了
发下看看呢,确定是你b配置的吗 groupId: g2
发下看看呢,确定是你b配置的吗 groupId: g2
就是上面那个
log日志
我有碰到日志不打印的情况,也是两个数据源,两个实例
2022-10-21 16:15:51.522 [pool-4-thread-1] INFO c.a.o.canal.client.adapter.logger.LoggerAdapterExample - DML: {"data":null,"database":"库名","destination":"example2","es":1666340151000,"groupId":"g2","isDdl":false,"old":null,"pkNames":[],"sql":"INSERT INTO 库名
.表名
(对应字段) VALUES (11, '11111111111', 111, 111111111111, 111111111, '11111111111111', '1111111111111111111', '111111111', '1111111', '11111111', '1111111111', '111111111', '111111111', '1111111', '1111111111', '1111', '1111111', '1111111', '111111', 1, NULL, NULL, NULL, 0, 0, 0, 0, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '1', 0, NULL, NULL, NULL, '2022-10-21 09:58:38', '2022-10-21 09:58:38')","table":"节点名/表名","ts":1666340151521,"type":"INSERT"}
Affected indexes: 节点名
我有碰到日志不打印的情况,也是两个数据源,两个实例
上面那段,节点名和库名一致
我有碰到日志不打印的情况,也是两个数据源,两个实例
是你server那边没有配置吧
server 需要配置什么
server 那边我配置了 example1 和 example2 canal.properties 里面添加 canal.destinations = example1,example2
我试试之后再和你说吧,可别是跟你一样的情况
server 需要配置什么
然后把 example 复制改成 example1 和 example2 然后里面是不同的库地址和密码
应该是会和我一样,因为我搞了好几天
我试试之后再和你说吧,可别是跟你一样的情况
我这个server好像不用再配置了,因为是用的canal的admin管理后台添加的实例和配置
你有弄这个平台吗,你看下你的实例的日志,我的实例日志是提示没有权限,我去弄账号权限了,
有可能你adapter 没有报错监听到了,但是你的实例处理有报错
我知道是什么问题了,是yml里sql的问题,canal会对sql格式有要求,sql有问题全量可以单条更新是不可以
修改之前和之后可以成功的sql
第一个图片是可以监听成功的,第二个是之前的
我知道是什么问题了,是yml里sql的问题,canal会对sql格式有要求,sql有问题全量可以单条更新是不可以 修改之前和之后可以成功的sql
你成功了,2个数据源?
问题:canal-adapter 中 srcDataSources 配置了2个数据源,canalAdapters 也配置了2个实例,但是只有一个ES同步成功,另一个日志打印正常,没有任何错误提示。
canal-adapter 中 application.yml
配置文件 a.yml
配置文件 b.yml