Skip to main content

全新安装(Linux/MacOS)

简述

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

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

安装步骤

1. 机器准备

  • 操作系统: Ubuntu/CentOS/MacOS
  • 硬件架构: x86 或 arm64(可跑,但会比较慢),不支持 vmware、virtualbox 和 windows 的 linux 子系统
  • CPU: 4核
  • 内存: 8GB(推荐更大容量内存)

2. 环境准备

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

3. docker 准备

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

  • 如您的机器没有安装 docker-compose 环境,请先安装。

     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

4.下载安装包

5.解压安装包

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

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

     # 安装7z命令(centos系)
    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
    -rwxr-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

6. 启动CloudCanal

  • 执行启动命令: sh startup.sh

  • 当终端出现 cloudcanal start 时,即启动成功

    7b00e562-cd45-4905-a626-1356503d8213-image.png

7. 确认启动成功

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

使用教程(必读)

为了方便您一开始快速体验 CloudCanal ,我们已自动帮您做好了一些初始化的工作

  • 请务必使用提供的默认账号登入,方便您快速体验
  • 如遇需要发送短信的场景,先点击获取验证码,然后输入短信验证码 777777 即可
  • 试用用户
  • 试用密码
    • clougence2021
  • 默认已添加测试 MySQL,并已准备好表和数据
    • cloudcanal_test_a(源端)
    • cloudcanal_test_b(目标端)
  • 默认已添加一台运行机器,用于执行具体的数据同步任务

FAQ

1. 我怎么访问 CloudCanal 元数据库?

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

2. 我怎么查看相关日志?

  • 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

3. 报错! mount through procfd: possibly malicious path detected

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

4. 报错! manifest for clougence not found manifest unknow

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

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

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

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

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

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

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

8.如果出现安装的时候执行sh startup.sh报错[[ not found

image-20220428173937515

  • 该情况一般出现与系统相关,例如系统为ubuntu的,可以使用bash startup.sh命令进行启动