canal adapter支持Elasticsearch 5.X版本配置

日常踩坑,现在公司使用的ES还是5.3.3版本,但是canal目前只支持6.X以上版本,canal是这么建议的:

canal adapter 的 Elastic Search 版本支持6.x.x以上, 如需其它版本的es可替换依赖重新编译client-adapter.elasticsearch模块

一般人理解似乎只需要改动依赖版本然后打包就O了,但是启动会报错,后面定位是transportAddress的问题,改动如下:

  1. 先将elasticsearch下的pom文件中依赖的elasticsearch相关组件的版本号降至5.X
<dependency>
        <groupId>org.elasticsearch</groupId>
        <artifactId>elasticsearch</artifactId>
        <version>5.3.3</version>
    </dependency>
    <dependency>
        <groupId>org.elasticsearch.client</groupId>
        <artifactId>transport</artifactId>
        <version>5.3.3</version>
    </dependency>
  1. com.alibaba.otter.canal.client.adapter.es.ESAdapter类中
transportClient.addTransportAddress(new TransportAddress(InetAddress.getByName(host.substring(0, i)),
Integer.parseInt(host.substring(i + 1))));

修改成以下:

transportClient.addTransportAddress(new InetSocketTransportAddress(InetAddress.getByName(host.substring(0, i)),
                       Integer.parseInt(host.substring(i + 1))));

即把TransportAddress替换成InetSocketTransportAddress
不要忘记把InetSocketTransportAddress import进来

  1. 重新编译打包
mvn clean install -Dmaven.test.skip -Denv=release
具体使用过程可以参考另外一篇博客:MySQL实时同步到Elasticsearch实现方案 —— canal(兼容ES5.X)
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 11
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 11
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值