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
17条答案
按热度按时间2skhul331#
其实比较快,你可以用logstash可以自动帮你创建索引,或者直接用logstash进行数据同步
gpfsuwkq2#
我也遇到同样的问题,已经解决,原因是初次使用es,使用默认配置在win启动,只能本地host访问,canal及adapter放置在异机linux,导致根本访问不了es。这里报错应该更友好一点,直接提示连接失败
ego6inou3#
先测试一下我之前发那个文章的表和索引,按照那个步骤测试一下,有没有问题吧,我之前遇到的是因为没有创建type,或者用logstash生成索引,再用canal同步
dl5txlt94#
这个问题有解决方法了吗, 我是canal-1.1.4 es6.8, 索引已经提前建好了,not found the mapping info of index
tvz2xvvm5#
请问解决了吗 麻烦告知下
pbwdgjma6#
手动创建的索引,canal就是不认 Not found the mapping info of index 怎么办
fae0ux8s7#
配置里不能使用索引别名么?
xmq68pz98#
@taixingyiji 您好,canal-adapter的application.yml可以配置多个库么,
url: jdbc:mysql://127.0.0.1:3306/db_0?useUnicode=true
我想再加一个库,比如db_1
z3yyvxxp9#
哦哦 好的,谢谢您,我试试
luaexgnf10#
因为你没有创建里面的type还有字段,可以参考一下这个文章,创建好type及字段以后就可以了增量同步mysql 数据到elasticsearch canal adapter方式(binlog)实现(从零到一超级详细全面)
kfgdxczn11#
这个看你的业务需求,一般是将需要的查询结果放进去,如果你的查询结果是连表就放连表,我记得新版本支持关联查询的
jm2pwxwz12#
@taixingyiji 您好,那是不是每一张表都需要创建索引呢?😂
5jdjgkvh13#
对的,我记得当时是手动创建的
jdgnovmf14#
@taixingyiji 您好,es的索引是必须要手动创建么?
j8ag8udp15#
创建好索引的type类型和字段Map,可以看下我上面的回答