CloudCanal社区版docker版安装(Windows)
-
请务必完整阅读本文,尤其是使用教程(必读)章节的内容,避免由于操作不当影响体验cloudcanal
如果是Mac OS X或者Linux请参考另一篇安装手册
安装步骤
下载安装包
cloudcanal社区办安装包已经正式开放下载!!!
阿里云 OSS 最新版本:
https://cloudcanal-community.oss-cn-hangzhou.aliyuncs.com/latest/cloudcanal.7z环境准备
部署cloudcanal会使用8111、9090、55000、25000、55005、7007这几个端口,请保证其他应用不要占用这些端口。控制台访问请使用chrome浏览器,其他浏览器没有经过验证。
规格建议
操作系统: Windiws
硬件架构: x86体系,不支持mac的M1,不支持虚拟机(例如vmware、virtualbox)和windows的linux子系统
CPU: 4核
内存:8GBdocker环境准备
如果您的机器上没有docker环境,可以参考以下链接安装docker。同时docker desktop不仅包含了docker,也包含了docker-compose。
https://docs.docker.com/docker-for-windows/
在安装好docker后,可以参照设置 -> Resouces -> ADVANCED下,建议将内存限制至少调至8GB。
因为机器启动任务时会有预检策略,如果容器为默认的2GB限制,内存预检可能无法通过
解压安装包
我们一般会将CloudCanal压缩成7z包,如果您的电脑上没有7z压缩软件,可以去以下链接下载
https://www.7-zip.org/download.html
解压目录如下
[root@localhost tar]# ll -rw-------. 1 root root 862506496 Mar 25 11:47 console.tar -rw-r--r--. 1 root root 1392 Mar 25 12:07 docker-compose.yml -rw-------. 1 root root 454221312 Mar 25 11:47 mysql.tar -rw-------. 1 root root 174073344 Mar 25 11:49 prometheus.tar drwxr-xr-x. 2 root root 124 Mar 25 12:05 scripts -rwxr-xr-x. 1 root root 63 Mar 25 12:05 shutdown.sh -rw-------. 1 root root 1231059968 Mar 25 11:48 sidecar.tar -rwxr-xr-x. 1 root root 2669 Mar 25 12:05 startup.sh -rwxr-xr-x. 1 root root 2031 Mar 25 12:05 upgrade.sh
主要分为三大块:
• 镜像:包含四个tar压缩文件
• 脚本:启动、更新和停止,以及scripts运维脚本目录
• 日志与配置文件:日志为docker-compose启动日志,配置文件为docker-compose配置文件启动CloudCanal
在解压后的目录下,在Windows的CMD窗口中打开(确保处于解压后的目录下),分别输入以下命令
# 创建mysql的volume docker volume create clougence_mysql_volume # 先将镜像文件load至本地 docker load < console.tar && docker load < mysql.tar && docker load < sidecar.tar && docker load < prometheus.tar # 用docker创建cloudcanal使用的网络 docker network create --subnet 172.31.238.0/24 --gateway 172.31.238.1 cloudcanal-network # 用docker-compose命令启动 docker-compose up
确认启动成功
启动大概会耗时1分钟左右,启动成功后可以看到如下内容,则可以访问控制台http://{您部署机器的ip}:8111
使用教程(必读)
为了方便您一开始快速体验CloudCanal,我们提供的社区版已经自动帮你做好了如下初始化的工作。请务必使用提供的默认账号登入,这样可以省去自己添加机器的步骤,方便您快速体验。
• 初始化好了默认的账号:
• 用户名:test@clougence.com
• 密码:clougence2021
• 已经默认帮添加好了测试的MySQL数据源,其中cloudcanal_test_a(源端)和cloudcanal_test_b(目标端)这两个库中已经帮准备好了用于测试的表和数据,可以方便您体验整个流程
• 默认已经帮忙添加了一台运行机器,用于执行具体的数据同步任务,所以直接添加数据源即可开始创建同步任务
• 遇到需要发送短信的场景,为了测试方便,短信验证码都为777777CloudCanal 管控MySQL访问
账号:clougence
密码:123456
端口: 25000
在宿主机上可以直接以下命令访问docker mysqlmysql -uclougence -h127.1 -P25000 -p123456
其他参考资料
-
CloudCanal社区: 如果您在使用CloudCanal的过程中遇到问题,可以在我们的社区AskCug的CloudCanal板块提问,或者查看官方文档。如有需要,您也可以直接联系我们咨询,感谢您试用CloudCanal。
-
参考视频:正常使用CloudCanal完成一个MySQL到MySQL的数据迁移同步任务的过程可以参考这个视频:《5分钟使用CloudCanal完成MySQL->MySQL数据迁移同步》
高可用版本
社区版1.0.3以后支持集群化高可用部署。具体参考文章《CloudCanal社区版高可用部署教程》
关于升级cloudcanal
执行数据库表结构变更
由于不同版本的cloudcanal,表结构上有差异,如果升级console需要根据自己的cloudcanal版本在cloudcanal_console库上执行变更SQL
例如当前版本为1.0.3,在ddl_history中我们看到1.0.4版本对应的表结构变更,执行以下表结构变更,避免启动console时报错
备份老容器内部数据
升级会重建console和sidecar的volume,容器内部的配置和日志会丢失。Windows请手动备份console和sidecar的配置和日志
### console容器内配置和日志路径 /home/clougence/cloudcanal/console/conf /home/clougence/logs ### sidecar容器内配置和日志路径 /home/clougence/cloudcanal/sidecar/conf /home/clougence/logs
docker变更
### 停止老的容器 docker stop $(docker ps -a | grep cloudcanal |awk '{print $1}') ### 删除老的容器 docker rm -f $(docker ps -a | grep cloudcanal |awk '{print $1}') ### 删除老的镜像 docker rmi -f $(docker images | grep "cloudcanal" | awk '{print $3}') #### 删除网络和卷并重新创建 docker volume rm -f $(docker volume ls | grep cloudcanal | awk '{print $2}') docker network rm $(docker network ls | grep "cloudcanal-network" | awk '{print $1}') docker network create --subnet 172.31.238.0/24 --gateway 172.31.238.1 cloudcanal-network docker volume create cloudcanal_console docker volume create cloudcanal_sidecar ### 在新解压的目录执行 docker load < console.tar && docker load < mysql.tar && docker load < sidecar.tar && docker load < prometheus.tar docker-compose up
查看日志
cloudcanal docker版的日志路径在压缩包解压路径下。
• console日志: ${安装包解压路径}/console_data/logs/cloudcanal/console.log
• sidecar: ${安装包解压路径}/console_data/logs/cloudcanal/sidecar/sidecar.log
• tasks: ${安装包解压路径}/console_data/logs/cloudcanal/tasks/xxx.logFAQ
启动mysql容器报错 cannot start a stopped process: unknown
docker-compose logs 查看mysql服务的日志可以看到报错,找不到符号
undefined symbol: seccomp_api_get
这个是因为Linux操作系统有个lib版本低于2.4导致,升级下版本
yum update libseccomp
mount through procfd: possibly malicious path detected
如果采用virtual box这样的虚拟机,使用docker时会遇到这样的问题。当前不支持在虚拟机上执行
manifest for clougence not found manifest unknow
这种一般是没有正常安装镜像或者历史老版本残留数据影响导致,请先通过scripts中的delete_all脚本清理镜像、容器、卷然后再执行startup.sh脚本
数据源地址是172.17开头的网络的问题
原因
由于docker自身的容器默认网络docker0,它的默认网段是172.17.0.0/16,如果您的数据源刚好与它重合了,会导致连接不上数据源的情况,虽然这种情况很少见。由于我们CloudCanal容器版使用用docker创建的cloudcanal-network它的网段是172.33.238.0/24,docker为了隔离docker的各个bridge网络,彼此是ping不通的,即cloudcanal-network网络与docker0网络无法通信。请求连接数据源的地址如果刚好是172.17开头的,请求的数据包(由处于cloudcanal-network网络的sidecar发出),会被docker误以为是访问docker0网络的,也会被docker拦截下来。
解决方案
关闭正在运行的CloudCanal容器,然后修改docker0网段,修改方式如下:
vim /etc/docker/daemon.json
{
“bip”: “172.22.0.1/16”
}如何更换docker mysql
- 宿主机上执行以下命令,导出cloudcanal_console库内容
mysqldump -uroot -proot --databases cloudcanal_console > ./cloudcanal_console.sql
- sql导入新的数据库
登入MySQL控制台 mysql> source ${YOUR_PATH}/cloudcanal_console.sql;
- 修改console容器中springboot配置文件中访问的MySQL
## 修改文件 vi /home/clougence/cloudcanal/console/conf/business-output.properties 修改如下3项 spring.datasource.url spring.datasource.username spring.datasource.password
联系我们
交流、提问咨询欢迎加我们小助手微信,拉你进粉丝群
-
-
This post is deleted! -
This post is deleted! -
@landonzeng 有windows的教程的,版块下找下
-
必须要用docker吗?不能直接安装到windows下?
-
@梯田 用最新latest的就可以,还有问题麻烦移到问答区哦~
-
@沫离 是的,也可以用docker compose管理
-
你好,CloudCanal-1.2.1版本的在哪下载,这个链接的版本是1.2.0.4
-
window server部署的cloud canel要停止是直接停四个容器吗