开发者社区> 问答> 正文

canal-adapter-es配置文件问题

canal 版本1.1.3 想要同步rds到es里 logger已经ok了 仔细读完了https://github.com/alibaba/canal/wiki/Sync-ES 发现两个问题:

1 如果es配置了用户名和密码 该如何配置呢?username&password? 示例里面没有;

2 加载的时候报找不到 defaultDS,但是配置文件里明明有 而且logger启动的时候可以成功获取

2019-04-10 18:24:18.791 [main] ERROR c.a.o.canal.adapter.launcher.loader.CanalAdapterLoader - Load canal adapter: es failed java.lang.RuntimeException: java.lang.RuntimeException: Not found the schema of jdbc-url: defaultDS

原提问者GitHub用户purevirtual

展开
收起
古拉古拉 2023-05-08 12:38:39 188 0
2 条回答
写回答
取消 提交回答
  • 我用这个调通了 这个工具支持es的加密认证 先基于mysqldump获取存量 然后实时同步delta的增量 就是transform和字段mapping弱了一点 我现在这方面需求还不强烈 就先用这个工具了

    https://github.com/siddontang/go-mysql-elasticsearch

    原回答者GitHub用户purevirtual

    2023-05-09 17:38:27
    赞同 展开评论 打赏
  • 值得去的地方都没有捷径

    针对你所提出的两个问题,可以参考以下建议:

    如果ES配置了用户名和密码,可以在同步 ES 的参数中加入账号密码信息,示例如下: canal.instance.filter.regex=.\.. canal.instance.filter.black.regex= canal.instance.es.url=http://localhost:9200 canal.instance.es.user=userName canal.instance.es.password=userPassword 可以在canal.instance.es.user和canal.instance.es.password中分别填入用户名和密码。需要注意的是,为了安全起见,一般不会在配置文件里直接明文填写密码,而是使用加密后的字符串,这样能增加密码被泄露的概率。

    报错信息Not found the schema of jdbc-url: defaultDS可以考虑以下几种情况:

    检查一下在canal.instance.dbAddresses中的mysql地址是否正确 检查一下配置文件中的canal.instance.dbUsername和canal.instance.dbPassword是否设置正确 确认一下已经在canal的关联表(即meta表)中定义了这个defaultDS数据源信息 如果以上尝试都不能解决,可以重新检查一下canal和rds的连接是否正常,并确保正确添加了配置元信息表( canal_admin.canal_instance_config).

    2023-05-08 12:45:26
    赞同 展开评论 打赏
问答排行榜
最热
最新

相关电子书

更多
低代码开发师(初级)实战教程 立即下载
冬季实战营第三期:MySQL数据库进阶实战 立即下载
阿里巴巴DevOps 最佳实践手册 立即下载