Navigation

    数据用户治理组

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

    CloudCanal社区版docker版安装(Linux/MacOS)

    安装部署
    cloudcanal
    8
    14
    27312
    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--文强

      简述

      本文档主要介绍如何在 Linux/MacOS 系统下,全新安装 CloudCanal。非 Linux/Unix 系列系统,高可用部署,版本升级请参考文章结尾 关联文章 章节。

      请务必完整阅读本文,尤其是使用教程(必读)章节的内容,避免由于操作不当影响体验 CloudCanal。

      安装步骤

      1. 机器准备

      • 操作系统: Ubuntu/CentOS/MacOS
      • 硬件架构: x86 或 arm64,不支持 windows 的 linux 子系统
      • CPU: 4核
      • 内存: 8GB(推荐更大容量内存)

      2. 环境准备

      • CloudCanal 是一个分布式系统,故会占用 8111、9090、55000、25000、55005、7007 端口,部署前请确保这些端口未被其他应用占用
      • 控制台请使用 chrome 浏览器访问,其他浏览器可能出现体验不畅等问题

      3. 系统准备

      clougence用户ulimit上限调整为102400

      vi  /etc/security/limits.d/20-nproc.conf
      ## 调节clougence用户的资源限制
      

      4. docker 准备

      • 如您的机器没有安装 docker ,请先安装(版本 17 以上,请勿使用过低版本的 docker )。

        • 参考文档: https://docs.docker.com/engine/install/
      • 如您的机器没有安装 docker-compose 环境,请先安装。

        • 官方文档指导安装: https://docs.docker.com/compose/install/#alternative-install-options
        • 国内镜像站安装
         curl -L https://get.daocloud.io/docker/compose/releases/download/1.28.5/docker-compose-`uname -s`-`uname -m` > 
         /usr/local/bin/docker-compose
         chmod +x /usr/local/bin/docker-compose
         ln -s /usr/local/bin/docker-compose /usr/bin/docker-compose
        
      • 如您的操作系统为 MacOS,请提前为 docker 分配内存
        f0f8aece-be13-44f6-be2b-d5fecd9a7b67-image.png

      3.下载安装包

      • 登录官方网站下载最新版本
        69e56b3e-1b1a-41c5-b575-8d68b1749c33-downloadtgz.png

      4. 解压安装包

      • 安装包为 cloudcanal.7z,包含了镜像和管理脚本

      • 安装 7z 解压工具(如果已经安装,此步略过)

         # 安装7z命令(centos系)
         yum -y install epel-release
         sudo yum install p7zip p7zip-plugins
         # 安装7z命令(ubuntu系)
         sudo apt-get install p7zip-full p7zip-rar
         # 安装7z命令(macOS)
         brew install 7z
        
      • 进入安装包所在目录,解压缩

        • 7z x cloudcanal.7z
      • 解压目录如下,其中包括

        • 镜像:包含四个 tar 压缩文件
        • 脚本:启动、更新和停止,以及 scripts 运维脚本目录
        • 日志与配置文件:日志为 docker-compose 启动日志,配置文件为 docker-compose 配置文件
          [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
          

      5. 启动CloudCanal

      • 执行启动命令: sh startup.sh
      • 当终端出现 cloudcanal start 时,即启动成功
        7b00e562-cd45-4905-a626-1356503d8213-image.png

      6. 确认启动成功

      • 启动过程将耗时 1 分钟左右,访问控制台 http://{您部署机器的ip}:8111 正确登录并开始操作

      使用教程(必读)

      • 为了方便您一开始快速体验 CloudCanal ,我们已自动帮您做好了一些初始化的工作
      • 请务必使用提供的默认账号登入,方便您快速体验
      • 用户名:test@clougence.com
      • 密码:clougence2021
      • 默认添加的测试 MySQL 数据库
        • cloudcanal_test_a(源端)和cloudcanal_test_b(目标端)这两个库中已准备用于测试的表和数据
      • 默认已添加了一台运行机器,用于执行具体的数据同步任务
      • 如遇到需要发送短信的场景,先点击获取验证码,然后输入短信验证码 777777 即可

      FAQ

      我怎么访问 CloudCanal 元数据库?

      • 在 docker 宿主机上执行执行命令 mysql -uclougence -h127.0.0.1 -P25000 -p123456 登录
      • CloudCanal 元数据库名称为 cloudcana_console

      我怎么查看相关日志?

      • CloudCanal docker 版的日志路径在压缩包解压路径下。
        • console日志: ${安装包解压路径}/console_data/logs/cloudcanal/console/console.log
        • sidecar日志: ${安装包解压路径}/sidecar_data/logs/cloudcanal/sidecar/sidecar.log
        • tasks日志: ${安装包解压路径}/sidecar_data/logs/cloudcanal/tasks/xxx.log

      报错! mount through procfd: possibly malicious path detected

      • 如果采用 virtual box 这样的虚拟机,使用docker时会遇到这样的问题。当前不支持在虚拟机上执行

      报错! manifest for clougence not found manifest unknow

      • 一般是没有正常安装镜像或者历史老版本残留数据影响导致,请先通过 scripts 中的 delete_all.sh 脚本清理镜像、容器、卷,然后再执行startup.sh脚本

      报错Failed to program FILTER chain: iptables failed: iptables --wait -I FORWARD … Couldn’t load target ‘DOCKER’: No such file or directory

      • 跟宿主机的iptable相关,如果之前对iptable进行过操作,需要重启docker服务。

      数据源地址是 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”
          }

      可以调节sidecar和console的内存吗?报错OOM怎么办?

      登入sidecar和console各自的容器,修改脚本内JVM分配的堆大小即可,变量为:JVM_HEAP_SIZE_MB。

      ### sidecar启动脚本地址
      /home/clougence/cloudcanal/sidecar/bin/startSidecar.sh
      ### console启动脚本地址
      /home/clougence/cloudcanal/console/bin/startConsole.sh
      

      Docker容器内无法访问外部网络 解决方案

      两种可能的原因会造成Docker容器内无法访问外部网络:

      1. 容器使用了桥接网络但防火墙屏蔽了通信
      2. /etc/sysctl.conf系统配置参数问题

      我碰到的情况属于第二种,配置参数问题,修正方法:

      1. 编辑/etc/sysctl.conf

      2. 将其中的net.ipv4.ip_forward=0改成net.ipv4.ip_forward=1。

      3. 重载配置,之后Docker的容器即可正常通信,如果不行,restart下容器。

        sysctl -p
        

      相关文档

      • CloudCanal 社区版 docker 升级(Linux/MacOS)
      • CloudCanal 社区版 docker 全新安装(Windows)
      • CloudCanal 社区版 docker 高可用部署
      • CloudCanal 社区版 docker 更换元数据库
      • 5分钟搞定 MySQL 到 MySQL "异构"在线数据迁移同步
      • 使用文档(SAAS版)

      加入社区群

      • CloudCanal 发展,离不开广大用户的支持,为了更好、更及时服务我们的用户,我们组建了微信交流群。请加我们的社群管理员吧,接头暗号:“加 cloudcanal 群”
      1 Reply Last reply Reply Quote 0
      • 神经蛙 0
        神经蛙 0 last edited by

        下载最新的社区版安装包,启动的时候一直停留在这
        begin to startup an cloudcanal.

        precheck before startup…

        check_docker_is_installed…[ SUCCESS ],current docker version: Docker version 20.10.17, build 100c701

        1 Reply Last reply Reply Quote 0
        • Z
          zjsylg last edited by

          高可用部署时候,无法下载客户端,下载客户端 按钮是灰色的,无法点击

          1 Reply Last reply Reply Quote 0
          • Y
            yidaohei @๓ 清酒佳人 last edited by

            @清酒佳人 同样启动不来,有提示
            ERROR: for mysql Cannot start service mysql: driver failed programming external connectivity on endpoint cloudcanal-mysql (6f235915cb2289b3d5bae561f63297d2ef23e1b5e1573895b37912ca09b80d82): (iptables failed: iptables --wait -t nat -A DOCKER -p tcp -d 0/0 --dport 25000 -j DNAT --to-destination 172.31.238.2:3306 ! -i br-7e58125a0023: iptables: No chain/target/match by that name.
            (exit status 1))

            1 Reply Last reply Reply Quote 0
            • ๓ 清酒佳人
              ๓ 清酒佳人 last edited by

              startup.sh 执行后(五分钟)一直打印 Waiting for console to start,没看到启动成功的信息是怎么回事?

              Y 1 Reply Last reply Reply Quote 0
              • 羽客
                羽客 @CloudCanal-万少 last edited by

                @cloudcanal-万少 多谢!

                1 Reply Last reply Reply Quote 0
                • CloudCanal-万少
                  CloudCanal-万少 @羽客 last edited by

                  @羽客 x86架构,你公司的虚拟机也可以的~

                  羽客 1 Reply Last reply Reply Quote 0
                  • 羽客
                    羽客 last edited by

                    请教,如果想安装cloudcanal,只能申请各大公有云的裸金属服务器,是这个意思吗?

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

                      @acer url地址把后面的login等内容去掉,直接输入http://${你部署的ip地址}:8111 这个问题我们新的版本已经修复,关注下我们即将release的1.1.0

                      1 Reply Last reply Reply Quote 1
                      • acer
                        acer last edited by

                        用默认的账号登录一直跳转到登录界面,这是怎么回事?
                        我注册账号登录也是这样。。。

                        CloudCanal-万少 1 Reply Last reply Reply Quote 1
                        • CloudCanal-万少
                          CloudCanal-万少 @神经蛙 0 last edited by

                          @神经蛙-0 这个是因为机器时区没设置导致,可以用1.0.3版本,注意要全新安装,否则docker file copy时区文件的操作不会执行。全新安装的话需要清理老环境。可以shutdown.sh执行后执行scripts/delete_all.sh 后续还有问题的话,可以提到问答区~

                          1 Reply Last reply Reply Quote 0
                          • 神经蛙 0
                            神经蛙 0 last edited by

                            安装完成启动后,发现容器里面的时区不对,如何进行修改?

                            CloudCanal-万少 1 Reply Last reply Reply Quote 0
                            • CloudCanal--文强
                              CloudCanal--文强 last edited by CloudCanal-万少

                              ➕微信suhuayue001拉你进粉丝群,也可以扫描上面文章底部二维码

                              1 Reply Last reply Reply Quote -1
                              • CloudCanal--文强
                                CloudCanal--文强 last edited by

                                如果安装7z提示
                                没有可用软件包 p7zip。
                                没有可用软件包 p7zip-plugins。
                                9dae53e0-f4cd-49ae-9eb8-12bfb5ab8ebe-image.png
                                wget -c http://mirrors.kernel.org/fedora-epel/epel-release-latest-7.noarch.rpm
                                rpm -ivh epel-release-latest-7.noarch.rpm

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