文档首页 > > 移植指南> 其他> 安装canal> 安装指导

安装指导

分享
更新时间:2020/11/30 GMT+08:00

介绍

简要介绍

canal是阿里巴巴旗下的一款开源项目,纯Java开发。基于数据库增量日志解析,提供增量数据订阅和消费,目前主要支持了MySQL(也支持mariaDB)。

语言:Java

一句话描述:数据库增量日志解析中间件

开源协议:Apache License Version 2.0

建议的版本

建议使用版本为“canal-1.1.3”

环境要求

云服务器要求

本文以云服务器KC1实例测试,云服务器配置如表1所示。

表1 云服务器配置

项目

说明

规格

kc1.xlarge.2 | 4vCPUs | 14GB

磁盘

系统盘:高IO(40GB)

操作系统要求

操作系统要求如表2所示。

表2 操作系统要求

项目

说明

下载地址

CentOS

7.5

在公共镜像中已提供。

Kernel

4.14.0-49

在公共镜像中已提供。

配置安装环境

  1. 安装wget工具。

    yum install wget -y

  2. 安装JDK。

    yum install java-1.8.0-openjdk

  3. 配置环境变量。

    echo "export JAVA_HOME=/usr/lib/jvm/java-1.8.0">> /etc/profile && source /etc/profile

  4. 配置MySQL为“binlog”同步模式。

    修改MySQL的配置文件“/etc/my.cnf”,添加如下内容:

    log-bin=mysql-bin
    binlog-format=ROW
    server_id=1

  5. 修改完后,重启MySQL即可。

    MySQL的安装请参考鲲鹏社区关于MySQL的安装使用教程。

获取软件包

  1. 下载canal软件包。

    wget https://github.com/alibaba/canal/releases/download/canal-1.1.3/canal.deployer-1.1.3.tar.gz

  2. 复制至云服务器的“/usr/local/src”目录。

安装

  1. 解压软件包。

    mkdir /usr/local/canal

    tar -xvf canal.deployer-1.1.3.tar.gz -C /usr/local/canal

  2. 进入“/usr/local/canal”目录下。

    cd /usr/local/canal

  3. 修改“instance.properties”文件。

    vim conf/example/instance.properties

    内容如下:
    ## mysql serverId
    canal.instance.mysql.slaveId = 1
    ...
    # position info
    canal.instance.master.address = 127.0.0.1:3306
    ...
    # username/password
    canal.instance.dbUsername = root
    canal.instance.dbPassword = [password]
    canal.instance.connectionCharset = UTF-8

  4. 修改“canal.properties”文件。

    vim conf/canal.properties

    内容如下:
    canal.id = 2
    canal.ip = 127.0.0.1
    canal.port = 11111

运行和验证

  1. 启动canal。

    sh /usr/local/canal/bin/startup.sh

  2. 查看进程是否存在。

    ps -ef|grep canal

    系统回显如下,表示进程已启动,运行正常。

    root      1793   808  0 15:03 pts/2    00:00:00 grep --color=auto canal
    root     27516     1  0 10:39 ?        00:00:17 /usr/lib/jvm/java-1.8.0/bin/java -server -Xms2048m -Xmx3072m -Xmn1024m -XX:SurvivorRatio=2 -XX:PermSize=96m -XX:MaxPermSize=256m -Xss
    512k -XX:-UseAdaptiveSizePolicy -XX:MaxTenuringThreshold=15 -XX:+DisableExplicitGC -XX:+UseConcMarkSweepGC -XX:+CMSParallelRemarkEnabled -XX:+UseCMSCompactAtFullCollection -XX:+UseF
    astAccessorMethods -XX:+UseCMSInitiatingOccupancyOnly -XX:+HeapDumpOnOutOfMemoryError -Djava.awt.headless=true -Djava.net.preferIPv4Stack=true -Dfile.encoding=UTF-8 -DappName=otter-
    canal -Dlogback.configurationFile=/usr/local/canal/bin/../conf/logback.xml -Dcanal.conf=/usr/local/canal/bin/../conf/canal.properties -classpath .:/usr/local/canal/bin/../conf:/usr/
    local/canal/bin/../lib/zookeeper-3.4.5.jar:/usr/local/canal/bin/../lib/zkclient-0.10.jar:/usr/local/canal/bin/../lib/spring-tx-3.2.18.RELEASE.jar:/usr/local/canal/bin/../lib/spring-
    orm-3.2.18.RELEASE.jar:/usr/local/canal/bin/../lib/spring-jdbc-3.2.18.RELEASE.jar:/usr/local/canal/bin/../lib/spring-expression-3.2.18.RELEASE.jar:/usr/local/canal/bin/../lib/spring
    -core-3.2.18.RELEASE.jar:/usr/local/canal/bin/../lib/spring-context-3.2.18.RELEASE.jar:/usr/local/canal/bin/../lib/spring-beans-3.2.18.RELEASE.jar:/usr/local/canal/bin/../lib/spring
    -aop-3.2.18.RELEASE.jar:/usr/local/canal/bin/../lib/snappy-java-1.1.7.1.jar:/usr/local/canal/bin/../lib/slf4j-api-1.7.12.jar:/usr/local/canal/bin/../lib/simpleclient_pushgateway-0.4
    .0.jar:/usr/local/canal/bin/../lib/simpleclient_httpserver-0.4.0.jar:/usr/local/canal/bin/../lib/simpleclient_hotspot-0.4.0.jar:/usr/local/canal/bin/../lib/simpleclient_common-0.4.0
    .jar:/usr/local/canal/bin/../lib/simpleclient-0.4.0.jar:/usr/local/canal/bin/../lib/scala-reflect-2.11.12.jar:/usr/local/canal/bin/../lib/scala-logging_2.11-3.8.0.jar:/usr/local/can
    al/bin/../lib/scala-library-2.11.12.jar:/usr/local/canal/bin/../lib/rocketmq-remoting-4.3.0.jar:/usr/local/canal/bin/../lib/rocketmq-logging-4.3.0.jar:/usr/
分享:

    相关文档

    相关产品

文档是否有解决您的问题?

提交成功!非常感谢您的反馈,我们会继续努力做到更好!
反馈提交失败,请稍后再试!

*必选

请至少选择或填写一项反馈信息

字符长度不能超过200

提交反馈 取消

如您有其它疑问,您也可以通过华为云社区问答频道来与我们联系探讨

智能客服提问云社区提问