阿里Canal docker版本部署(一)

安装环境linux,系统版本ubutun1.6,安装过程遇到些问题,但都顺利通过,参考官方文档:https://github.com/alibaba/canal/wiki/Docker-QuickStart,以下是安装过程:

1、获取最新版本docker镜像,直接获取最新版

docker pull canal/canal-server:latest

 2、本地获取canal源代码和编译

git clone github.com/alibaba/canal.git
cd canal/docker && sh build.sh

 这时系统会异常Could not read from remote repository.系统默认使用http进行获取

加上https后获取代码正常

git clone https://github.com/alibaba/canal.git
cd canal/docker && sh build.sh

但是出现了新的异常,指令出现了换行,原意是Docker中的run命令,docker引擎无法识别换行符“/”

 直接vi canal/Dockerfile 将里面的内容拷贝出来修改,将run命令的“/”去掉,并且不换行

修改前

修改后

再次执行cd canal/docker && sh build.sh,出现新的异常mvn命令未找到,在build镜像的时候,需要使用maven进行打包

要在linux安装,安装过程https://www.cnblogs.com/jimmy-muyuan/p/7895933.html,安装完后在执行cd canal/docker && sh build.sh,一切正常

3、 启动Docker容器,这时直接执行run.sh文件

sh run.sh -e canal.auto.scan=false \
		  -e canal.destinations=test \
		  -e canal.instance.master.address=127.0.0.1:3306  \
		  -e canal.instance.dbUsername=canal  \
		  -e canal.instance.dbPassword=canal  \
		  -e canal.instance.connectionCharset=UTF-8 \
		  -e canal.instance.tsdb.enable=true \
		  -e canal.instance.gtidon=false  \

执行同样异常,这次也是换行符的错,把换行符去掉,再次执行

sh run.sh -e canal.instance.master.address=127.0.0.1:3306 -e canal.instance.dbUsername=canal -e canal.instance.dbPassword=canal -e canal.instance.connectionCharset=UTF-8 -e canal.instance.tsdb.enable=true -e canal.instance.gtidon=false -e canal.instance.filter.regex=.*\\..*

如果这个时候报错, ,一般在Centos系统可以顺利执行,但在ubutun则报错,是因为sh与bash有些地方不兼容,可以通过以下方法解决

1.执行bash xx.sh

2.执行chmod +x xx.sh对shell脚本赋予执行权限,之后执行./xx.sh

这里使用第一种方法

bash run.sh -e canal.instance.master.address=127.0.0.1:3306 -e canal.instance.dbUsername=canal -e canal.instance.dbPassword=canal -e canal.instance.connectionCharset=UTF-8 -e canal.instance.tsdb.enable=true -e canal.instance.gtidon=false -e canal.instance.filter.regex=.*\\..*

执行顺利,但是-e参数并没有全部生效,只有canal.destinations=test实例名称有效,于是只能docker exec -it canal-server /bin/bash里面进行配置,配置完后终于成功了,可以连客户端进行使用,下一节讲下Canal-Admin的配置。

 

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值