canal Not found the mapping info of index 明明已经存在

zzlelutf  于 2021-11-27  发布在  Java
关注(0)|答案(17)|浏览(437)

2019-05-27 11:23:37.496 [pool-2-thread-1] ERROR c.a.o.canal.adapter.launcher.loader.CanalAdapterWorker - java.lang.IllegalArgumentException: Not found the mapping info of index: lezf_house
java.lang.RuntimeException: java.lang.IllegalArgumentException: Not found the mapping info of index: lezf_house
at com.alibaba.otter.canal.client.adapter.es.service.ESSyncService.sync(ESSyncService.java:113)
at com.alibaba.otter.canal.client.adapter.es.service.ESSyncService.sync(ESSyncService.java:61)
at com.alibaba.otter.canal.client.adapter.es.ESAdapter.sync(ESAdapter.java:176)
at com.alibaba.otter.canal.client.adapter.es.ESAdapter.sync(ESAdapter.java:155)
at com.alibaba.otter.canal.adapter.launcher.loader.AbstractCanalAdapterWorker.batchSync(AbstractCanalAdapterWorker.java:198)
at com.alibaba.otter.canal.adapter.launcher.loader.AbstractCanalAdapterWorker.lambda$null$1(AbstractCanalAdapterWorker.java:62)
at java.util.ArrayList.forEach(ArrayList.java:1257)
at com.alibaba.otter.canal.adapter.launcher.loader.AbstractCanalAdapterWorker.lambda$null$2(AbstractCanalAdapterWorker.java:58)
at java.util.concurrent.FutureTask.run(FutureTask.java:266)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
at java.lang.Thread.run(Thread.java:748)
Caused by: java.lang.IllegalArgumentException: Not found the mapping info of index: lezf_house
at com.alibaba.otter.canal.client.adapter.es.support.ESTemplate.getEsType(ESTemplate.java:504)
at com.alibaba.otter.canal.client.adapter.es.support.ESTemplate.getValFromData(ESTemplate.java:340)
at com.alibaba.otter.canal.client.adapter.es.service.ESSyncService.wholeSqlOperation(ESSyncService.java:684)
at com.alibaba.otter.canal.client.adapter.es.service.ESSyncService.update(ESSyncService.java:309)
at com.alibaba.otter.canal.client.adapter.es.service.ESSyncService.sync(ESSyncService.java:98)
... 11 common frames omitted

通过名称查看本机es index列表:
lezf@lezf:~/tools/canal-adapter$ curl 'localhost:9200/_cat/indices?v'
health status index uuid pri rep docs.count docs.deleted store.size pri.store.size
yellow open lezf_house iQUkRXjXRLSLprYdk6gXEA 5 1 2999 20 1.7mb 1.7mb
yellow open lezf_cd_user Ixmsm_3FSPiTiqUVFCORqw 5 1 1091 6 198.4kb 198.4kb
yellow open lezf_cd_common Iq_3XFHIQvSOS4NDumGmnQ 5 1 15612 0 17.9mb 17.9mb

2skhul33

2skhul331#

其实比较快,你可以用logstash可以自动帮你创建索引,或者直接用logstash进行数据同步

gpfsuwkq

gpfsuwkq2#

我也遇到同样的问题,已经解决,原因是初次使用es,使用默认配置在win启动,只能本地host访问,canal及adapter放置在异机linux,导致根本访问不了es。这里报错应该更友好一点,直接提示连接失败

ego6inou

ego6inou3#

先测试一下我之前发那个文章的表和索引,按照那个步骤测试一下,有没有问题吧,我之前遇到的是因为没有创建type,或者用logstash生成索引,再用canal同步

dl5txlt9

dl5txlt94#

这个问题有解决方法了吗, 我是canal-1.1.4 es6.8, 索引已经提前建好了,not found the mapping info of index

tvz2xvvm

tvz2xvvm5#

请问解决了吗 麻烦告知下

pbwdgjma

pbwdgjma6#

手动创建的索引,canal就是不认 Not found the mapping info of index 怎么办

fae0ux8s

fae0ux8s7#

配置里不能使用索引别名么?

xmq68pz9

xmq68pz98#

@taixingyiji 您好,canal-adapter的application.yml可以配置多个库么,
url: jdbc:mysql://127.0.0.1:3306/db_0?useUnicode=true
我想再加一个库,比如db_1

z3yyvxxp

z3yyvxxp9#

哦哦 好的,谢谢您,我试试

luaexgnf

luaexgnf10#

因为你没有创建里面的type还有字段,可以参考一下这个文章,创建好type及字段以后就可以了增量同步mysql 数据到elasticsearch canal adapter方式(binlog)实现(从零到一超级详细全面)

kfgdxczn

kfgdxczn11#

这个看你的业务需求,一般是将需要的查询结果放进去,如果你的查询结果是连表就放连表,我记得新版本支持关联查询的

jm2pwxwz

jm2pwxwz12#

@taixingyiji 您好,那是不是每一张表都需要创建索引呢?😂

5jdjgkvh

5jdjgkvh13#

对的,我记得当时是手动创建的

jdgnovmf

jdgnovmf14#

@taixingyiji 您好,es的索引是必须要手动创建么?

j8ag8udp

j8ag8udp15#

创建好索引的type类型和字段Map,可以看下我上面的回答

相关问题