Navigation

    数据用户治理组

    • Register
    • Login
    • Search
    • Categories
    • Recent
    • Tags
    • Popular
    • Users
    • Groups

    CloudCanal社区版docker版安装(Windows)

    安装部署
    cloudcanal
    5
    9
    5346
    Loading More Posts
    • Oldest to Newest
    • Newest to Oldest
    • Most Votes
    Reply
    • Reply as topic
    Log in to reply
    This topic has been deleted. Only users with topic management privileges can see it.
    • CloudCanal-万少
      CloudCanal-万少 last edited by CloudCanal-万少

      请务必完整阅读本文,尤其是使用教程(必读)章节的内容,避免由于操作不当影响体验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核
      内存:8GB

      docker环境准备

      如果您的机器上没有docker环境,可以参考以下链接安装docker。同时docker desktop不仅包含了docker,也包含了docker-compose。
      https://docs.docker.com/docker-for-windows/
      在安装好docker后,可以参照设置 -> Resouces -> ADVANCED下,建议将内存限制至少调至8GB。
      因为机器启动任务时会有预检策略,如果容器为默认的2GB限制,内存预检可能无法通过
      2723bb43-a8f8-445f-8250-10920ce46136-image.png

      解压安装包

      我们一般会将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
      900cbbb7-87d6-4192-b4b7-e4b2dde223ad-image.png

      使用教程(必读)

      为了方便您一开始快速体验CloudCanal,我们提供的社区版已经自动帮你做好了如下初始化的工作。请务必使用提供的默认账号登入,这样可以省去自己添加机器的步骤,方便您快速体验。
      • 初始化好了默认的账号:
      • 用户名:test@clougence.com
      • 密码:clougence2021
      • 已经默认帮添加好了测试的MySQL数据源,其中cloudcanal_test_a(源端)和cloudcanal_test_b(目标端)这两个库中已经帮准备好了用于测试的表和数据,可以方便您体验整个流程
      • 默认已经帮忙添加了一台运行机器,用于执行具体的数据同步任务,所以直接添加数据源即可开始创建同步任务
      • 遇到需要发送短信的场景,为了测试方便,短信验证码都为777777

      CloudCanal 管控MySQL访问

      账号:clougence
      密码:123456
      端口: 25000
      在宿主机上可以直接以下命令访问docker mysql

      mysql -uclougence -h127.1 -P25000 -p123456
      

      其他参考资料

      • CloudCanal社区: 如果您在使用CloudCanal的过程中遇到问题,可以在我们的社区AskCug的CloudCanal板块提问,或者查看官方文档。如有需要,您也可以直接联系我们咨询,感谢您试用CloudCanal。

      • 参考视频:正常使用CloudCanal完成一个MySQL到MySQL的数据迁移同步任务的过程可以参考这个视频:《5分钟使用CloudCanal完成MySQL->MySQL数据迁移同步》

      • 官方文档:https://doc.clougence.com/docs/en/product_intro

      高可用版本

      社区版1.0.3以后支持集群化高可用部署。具体参考文章《CloudCanal社区版高可用部署教程》

      关于升级cloudcanal

      执行数据库表结构变更

      由于不同版本的cloudcanal,表结构上有差异,如果升级console需要根据自己的cloudcanal版本在cloudcanal_console库上执行变更SQL
      例如当前版本为1.0.3,在ddl_history中我们看到1.0.4版本对应的表结构变更,执行以下表结构变更,避免启动console时报错
      e2e76c27-250f-49db-96e4-1be333854854-image.png

      备份老容器内部数据

      升级会重建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.log

      FAQ

      启动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
      

      联系我们

      交流、提问咨询欢迎加我们小助手微信,拉你进粉丝群
      cb3fedfb-ad15-4732-aa97-f8588b1162ba-image.png

      1 Reply Last reply Reply Quote 0
      • Skywalker
        Skywalker @Skywalker last edited by

        This post is deleted!
        1 Reply Last reply Reply Quote 0
        • Skywalker
          Skywalker last edited by

          This post is deleted!
          Skywalker 1 Reply Last reply Reply Quote 0
          • CloudCanal-万少
            CloudCanal-万少 @landonzeng last edited by

            @landonzeng 有windows的教程的,版块下找下

            1 Reply Last reply Reply Quote 0
            • landonzeng
              landonzeng last edited by

              必须要用docker吗?不能直接安装到windows下?

              CloudCanal-万少 1 Reply Last reply Reply Quote 0
              • CloudCanal-万少
                CloudCanal-万少 @梯田 last edited by

                @梯田 用最新latest的就可以,还有问题麻烦移到问答区哦~

                1 Reply Last reply Reply Quote 0
                • CloudCanal-万少
                  CloudCanal-万少 @沫离 last edited by

                  @沫离 是的,也可以用docker compose管理

                  1 Reply Last reply Reply Quote 0
                  • 梯田
                    梯田 last edited by

                    你好,CloudCanal-1.2.1版本的在哪下载,这个链接的版本是1.2.0.4

                    CloudCanal-万少 1 Reply Last reply Reply Quote -1
                    • 沫离
                      沫离 last edited by

                      window server部署的cloud canel要停止是直接停四个容器吗
                      16ae4eb6-b4de-45de-b39e-d8eb62c4356f-image.png

                      CloudCanal-万少 1 Reply Last reply Reply Quote 0
                      • 1 / 1
                      • First post
                        Last post
                      Copyright © 2020 ClouGence, Inc.备案号:浙ICP备20007605号-2