es映射配置: dataSourceKey: defaultDS destination: instanceB groupId: esMapping: _index: testorder _type: default _id: _id pk: id sql: "select a.id as _id, a.id ,a.title from project a" etlCondition: "" commitBatch: 3000
当更新这个表的数据,日志打印如下,但是不会更新ES。 2019-04-25 15:57:11.974 [pool-2-thread-1] DEBUG c.a.otter.canal.client.adapter.es.service.ESSyncService - DML: {"data":[{"title":"水杯123456","updated_at":1556179029000}],"database":"dev","destination":"instanceB","es":1556179029000,"groupId":null,"isDdl":false,"old":null,"pkNames":[],"sql":"","table":"project","ts":1556179031841,"type":"UPDATE"} Affected indexes: testorder
原提问者GitHub用户hecyxy
如果你使用canal的es adapter进行单表映射,当修改表数据时,ES是会同步更新的。根据你提供的信息,可能是以下几个原因导致ES没有同步更新:
1.检查一下ES集群是否正常运行,是否存在索引testorder,是否存在异常。
2.检查一下canal adapter的配置文件是否正确,特别是destination、groupId、etlCondition等配置项是否正确。
3.检查一下canal adapter的日志,看是否有异常信息或报错信息。
4.检查一下同步的数据是否符合映射规则,例如主键是否匹配,字段类型是否匹配等。
如果排除以上原因仍未解决问题,可以尝试重新启动canal和ES,或者升级canal和ES的版本。
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。