alibaba / canal

阿里巴巴 MySQL binlog 增量订阅&消费组件
Apache License 2.0
28.49k stars 7.62k forks source link

canal同步数据到kudu #2402

Open lyd5726892 opened 4 years ago

lyd5726892 commented 4 years ago

canal主要功能是实时同步mysql数据,实时同步的目的往往是为了后续更方面的分析数据,hbase虽然支持随机读写,但是在线分析能力不足,当前在线分析比较主流的场景是Impala+kudu的方式,希望canal-adapter下一个版本可以支持数据同步到kudu,谢谢

user-GitHub-user commented 4 years ago

canal主要功能是实时同步mysql数据,实时同步的目的往往是为了后续更方面的分析数据,hbase虽然支持随机读写,但是在线分析能力不足,当前在线分析比较主流的场景是Impala+kudu的方式,希望canal-adapter下一个版本可以支持数据同步到kudu,谢谢

你好,我合并了你提交的kudu插件到1.1.5,运行kudu adapter的时候报如下错误: 2020-02-14 17:34:07.301 [main] ERROR c.a.o.canal.adapter.launcher.loader.CanalAdapterLoader - Load canal adapter: kudu failed java.lang.IllegalStateException: Extension instance(name: kudu, class: interface com.alibaba.otter.canal.client.adapter.OuterAdapter) could not be instantiated: class could not be found at com.alibaba.otter.canal.client.adapter.support.ExtensionLoader.createExtension(ExtensionLoader.java:186) ~[client-adapter.common-1.1.5-SNAPSHOT.jar:na] at com.alibaba.otter.canal.client.adapter.support.ExtensionLoader.getExtension(ExtensionLoader.java:142) ~[client-adapter.common-1.1.5-SNAPSHOT.jar:na] at com.alibaba.otter.canal.adapter.launcher.loader.CanalAdapterLoader.loadAdapter(CanalAdapterLoader.java:175) [client-adapter.launcher-1.1.5-SNAPSHOT.jar:na] at com.alibaba.otter.canal.adapter.launcher.loader.CanalAdapterLoader.init(CanalAdapterLoader.java:72) [client-adapter.launcher-1.1.5-SNAPSHOT.jar:na] at com.alibaba.otter.canal.adapter.launcher.loader.CanalAdapterService.init(CanalAdapterService.java:60) [client-adapter.launcher-1.1.5-SNAPSHOT.jar:na] 查看 kudu jar包已经在plugin文件夹里,不知道有遇到过吗?

lyd5726892 commented 4 years ago

你好,你是直接将插件大的jar包吗?这个插件包是基于canal-1.1.4版本开发的,1.1.5版本你要将adapter工程一起编译打包才可以,否则不能直接识别

user-GitHub-user commented 4 years ago

你好,你是直接将插件大的jar包吗?这个插件包是基于canal-1.1.4版本开发的,1.1.5版本你要将adapter工程一起编译打包才可以,否则不能直接识别

你好,我是用1.1.5整个编译的,已经找到问题,src/main/resources/META-INF.canal/com.alibaba.otter.canal.client.adapter.OuterAdapter 这个文件 META-INF.canal应该是META-INFO/canal吧,我参考的hbase。另外我在launcher项目的pom里加了kudu,不加的话打包完,plugin里面就没有kudu.

另外想问一下,你那边用的kudu版本是多少呢?我现在有出现api兼容的问题,我用的是kudu1.2.0: 2020-02-14 19:16:03.767 [New I/O worker #1] ERROR org.apache.kudu.client.Connection - [peer master-192.168.11.101:7051] server sent error unsupported feature flags 2020-02-14 19:16:03.767 [New I/O worker #3] ERROR org.apache.kudu.client.Connection - [peer master-192.168.11.103:7051] server sent error unsupported feature flags 2020-02-14 19:16:03.767 [New I/O worker #2] ERROR org.apache.kudu.client.Connection - [peer master-192.168.11.102:7051] server sent error unsupported feature flags

user-GitHub-user commented 4 years ago

你好,你是直接将插件大的jar包吗?这个插件包是基于canal-1.1.4版本开发的,1.1.5版本你要将adapter工程一起编译打包才可以,否则不能直接识别

你好,我是用1.1.5整个编译的,已经找到问题,src/main/resources/META-INF.canal/com.alibaba.otter.canal.client.adapter.OuterAdapter 这个文件 META-INF.canal应该是META-INFO/canal吧,我参考的hbase。另外我在launcher项目的pom里加了kudu,不加的话打包完,plugin里面就没有kudu.

另外想问一下,你那边用的kudu版本是多少呢?我现在有出现api兼容的问题,我用的是kudu1.2.0: 2020-02-14 19:16:03.767 [New I/O worker #1] ERROR org.apache.kudu.client.Connection - [peer master-192.168.11.101:7051] server sent error unsupported feature flags 2020-02-14 19:16:03.767 [New I/O worker #3] ERROR org.apache.kudu.client.Connection - [peer master-192.168.11.103:7051] server sent error unsupported feature flags 2020-02-14 19:16:03.767 [New I/O worker #2] ERROR org.apache.kudu.client.Connection - [peer master-192.168.11.102:7051] server sent error unsupported feature flags

更换了kudu-client版本后可以正常录入数据了

lyd5726892 commented 4 years ago

你还在用kudu1.2.0?你那个版本还是比较老的了,不过要小心,kudu1.8.0以下好像有个session最多7天的问题,我也在验证这个问题,你多留心

user-GitHub-user commented 4 years ago

canal主要功能是实时同步mysql数据,实时同步的目的往往是为了后续更方面的分析数据,hbase虽然支持随机读写,但是在线分析能力不足,当前在线分析比较主流的场景是Impala+kudu的方式,希望canal-adapter下一个版本可以支持数据同步到kudu,谢谢

你好,kudu-adapter用了一段时间,有个问题想请教一下,这边常发生当一个机器宕机后,分区切换leader,并且开始恢复副本,分区处于under-replicated tablet状态,这时kudu clinet写该分区会报错,请问有遇到过吗,按我的理解,只要分区3个副本里面的leader是正常的RUNNING状态就能写入,不然副本不就失去本来的作用了吗?

lyd5726892 commented 4 years ago

你好,感谢反馈,我这边也遇到过这个问题,感觉这个是kudu存在问题,请问您kudu版本多少?我当前版本是1.7.0,我这遇到在kudu的tablet如果是异常状况宕机的话会导致写失败,如果是人为重启的话写就可以,这边我也在查找这个问题,如果您有定位到可以一起探讨下

user-GitHub-user commented 4 years ago

你好,感谢反馈,我这边也遇到过这个问题,感觉这个是kudu存在问题,请问您kudu版本多少?我当前版本是1.7.0,我这遇到在kudu的tablet如果是异常状况宕机的话会导致写失败,如果是人为重启的话写就可以,这边我也在查找这个问题,如果您有定位到可以一起探讨下

我是1.2.0的版本,也没有定位到问题

xuning97 commented 4 years ago

我们这边也在试用kudu adpater, 遇到了类似的问题,META-INF.canal路径好改, 但

另外我在launcher项目的pom里加了kudu,不加的话打包完,plugin里面就没有kudu. 这句话不知道什么意思,能否详述一下

xuning97 commented 4 years ago

ok, 我理解了,不知道为什么这两个改动不提交?

jinguangyu commented 3 years ago

@lyd5726892 确认一个问题,主键值的更改,是不会删除旧值那条记录,而会插入一条新的对吗

peak-xu commented 3 years ago

你好,同步到kudu功能已经可以用了吗