开发者社区> 问答> 正文

canal adapt 连有密码的elasticsearch问题

在elasticsearch 没有设密码的时候,canal adapt是可以正常抽数据。 后来elasticsearch设置了密码,改了canal adapt配置文件

name: es

hosts: 192.168.9.85:9200,192.168.9.86:9200,192.168.9.87:9200 # 127.0.0.1:9200 for rest mode properties: mode: rest security.auth: elastic:123456 cluster.name: my-es64

这里配置了密码,首先在es中创建了索引mytest,但是一直报Not found the mapping info of index: mytest。 如果YML配置文件中的index 改为ES没有设置密码前的索引mytest_user,就没问题。

YML文件如下: cat mytest_user2.yml dataSourceKey: defaultDS destination: example groupId: g1 esMapping: _index: mytest _type: _doc _id: _id upsert: true

pk: id sql: "select a.id as _id, a.id, a.name, a.role_id, a.c_time from user2 a"

版为 canal.adapter-1.1.4

原提问者GitHub用户hjpsss333

展开
收起
Java工程师 2023-05-03 10:44:39 110 0
1 条回答
写回答
取消 提交回答
  • 原因找到了,要有keyword的字段放在建es mapping中的第一个,要不就会报Not found the mapping info of index。 我是全量用logstash, logstash建的索引,es mapping中第一个字段不一定是keyword这种类型,这算是一个坑啊 "name": { "type": "text", "fields": { "keyword": { "type": "keyword" } } }

    原回答者GitHub用户hjpsss333

    2023-05-04 14:45:36
    赞同 展开评论 打赏
问答排行榜
最热
最新

相关电子书

更多
阿里云Elasticsearch体系架构与特性解析 立即下载
开源与云:Elasticsearch应用剖析 立即下载
《Elasticsearch全观测解决方案》 立即下载