从零开始实施推荐系统的落地部署——23.推荐系统案例(十三)部署canal的心得体会

举报
wuyicom 发表于 2021/01/03 19:44:19 2021/01/03
【摘要】     这次部署canal花了很长时间,总会有一些原因造成部署不成功,现在我已经部署成功,总结一下我之前部署不成功的原因和解决办法。    1. 环境配置的原因:启动elasticsearch,查看日志发现分配的ip分配出现错误,正常使用的ip是192.168.56.102,而不是66.66.66.102.在查看/etc/hosts,发现之前配置2个ip,避免出错,把66.66.66.0的网...

1.jpg

    这次部署canal花了很长时间,总会有一些原因造成部署不成功,现在我已经部署成功,总结一下我之前部署不成功的原因和解决办法。

    1. 环境配置的原因:

2.png

3.png

启动elasticsearch,查看日志发现分配的ip分配出现错误,正常使用的ip192.168.56.102,而不是66.66.66.102.在查看/etc/hosts,发现之前配置2ip,避免出错,把66.66.66.0的网段删除。也可以在配置里指定设置好network.host: 192.168.56.102

    2. 启动canel-adapter出现的情况:

4.jpg

出现es failed的原因是根据在elasticsearch的配置elasticsearch.yml设置为node.name: escanal-adapter/conf/application.ymlname: es有关系。Canal-1.1.5搭配elasticsearch-7.6.2设置为node.name: es7name: es7,这样的设置能让配置找到canal-adapter/conf/es7/shop.yml,正常启动。如果是Canal-1.1.5搭配elasticsearch-6设置为node.name: esname: es。但是canal-1.1.4设置不同,原本不能支持elasticsearch-7,经过重新编译后,可以支持elasticsearch-7,但是canal-adapter/conf目录里面没有es7,即使拷贝一个es7也无法使用。只能跟elasticsearch-6一样,设置为node.name: esname: es即可正常使用。

5.png

出现上面的情况,是因为使用编译过的canal-1.1.4,要在shop.yml的配置里添加_type: _doc,不添加是以为在elasticsearch-7里会自动添加。因为在elasticsearch-7创建索引shop时不需要添加_doc,会自动添加。这是elasticsearch-7新的特性。

    3. 在canal-1.1.5启动正常,还能全量同步数据到elasticsearch-7.6.2,但是在修改mysql的数据做增量测试时,出现下面的情况:

6.png

登录https://github.com/alibaba/canal/issues/2873发现有人也出现过这种情况,能全量同步,不能增量同步。也有人在这个帖子下面说:https://abcops.cn/1279.html 我按照这个教程来了 全量和增量都可以了”,但是我打不开这个网址。还有人解释了这个原因:“配置的参数试了遍,怀疑是es7x.etl.ESEtlService 没有调用,因为adapter已经检测到binlog里的insert事件了。java不懂呀,不然直接debug了,应该是1.1.5在某个条件下才调用es7x.etl.ESEtlService”。因为canal-1.1.5是测试版,为了避免麻烦,选择canal-1.1.4。不选择canal-1.1.3是因为canal-1.1.4以上的版本多语言新增【Python客户端】。而我做这个推荐系统想尽可能使用python完成。

    昨晚只通过修改mysql的数据来测试canal-1.1.4能增量同步,只修改3条数据,查询同步3条,以为不能全量同步。电脑没有关闭,去睡觉。今天发现mysql的全量数据同步到elasticsearch-7.6.2里。可以通过KibanaDev Tools里输入GET /shop/_search或在linux系统使用curl http://192.168.56.102:8081/etl/es/shop.yml -X POST查看相关数据信息。如:

7.PNG

8.PNG

Mysql的全量数据是16条,上面说明数据全量导入到ES。可能是因为分配mas2虚拟机的配置是2C4Gmysqlelasticsearch-7.6.2canal-1.1.4的都配置在一起,资源有限导致同步数据的时间变慢吧。虽然部署canal花了很多时间,但个人感觉还是值得,收获满满。

【版权声明】本文为华为云社区用户原创内容,转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息, 否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。