美文网首页
linux安装canal-1.1.6详细教程

linux安装canal-1.1.6详细教程

作者: 南湘嘉荣 | 来源:发表于2023-07-13 09:20 被阅读0次

1.开启MySQL的binlog写入功能

Canal是基于 MySQL 数据库增量日志解析,提供增量数据订阅和消费的。所以首先必须打开MySQL的binlog模式。

在/etc/mysql/mysql.conf.d/mysqld.cnf文件末尾,添加如下配置(不要带后面的注释)。

server-id = 1  #配置MySQL replaction需要定义,不和Canal的slaveId重复即可
log_bin = /var/log/mysql/mysql-bin  #开启binlog模式,并指定日志文件名为mysql-bin
binlog_do_db = heima_mysql  #指定开启binlog模式的数据库
binlog_format = ROW  #选择ROW(行)模式

2.修改完配置后,重启mysql服务

sudo service mysql restart

2.1 mysql服务重启后,查看刚刚的配置是否生效。

show variables like 'log_bin';

如下图所示,则表示配置已生效。


binlog开启成功.png

2.2 查看binlog日志文件列表

这里的binlog日志文件的文件名log_name需要配置到instance.properties文件的canal.instance.master.journal.name属性

show binary logs;
binlog日志文件列表.png

2.3 查看当前正在写入的binlog文件

这里的Position代表binlog日志的偏移量,需要配置到instance.properties文件的canal.instance.master.position属性

show master status;
binlog文件信息.png

3.添加一个仅用于数据同步的账户

-- 创建用户 用户名:canal 密码:Canal@123
create user 'canal'@'%' identified by 'Canal@123';
-- 授权 *.*表示所有库
grant SELECT, REPLICATION SLAVE, REPLICATION CLIENT on *.* to 'canal'@'%' identified by 'Canal@123';

FLUSH PRIVILEGES;

4.安装canal

首先从官网下载对应的tar安装包。

4.1在/usr/local目录创建一个canal目录

cd到/usr/local目录,创建文件夹。

mkdir canal

4.2解压canal.deployer-1.1.6.tar.gz文件

上传文件canal.deployer-1.1.6.tar.gz到/usr/local/canal目录并解压

tar -xzvf canal.deployer-1.1.6.tar.gz

4.3修改/usr/local/canal/conf/example/instance.properties

配置.png

5.启动canal

cd到/usr/local/canal/bin目录,输入以下命令启动canal。

sudo ./startup.sh

查看日志/usr/local/canal/logs/example/example.log看是否成功。

tail -f example.log

如下图所示,表示启动成功。


日志.png

6.启动失败

如果启动之后在 /usr/local/canal/logs 目录下没有出现 example 目录。并且

ps -ef|grep canal

也没有canal启动运行的进程。但是,在/usr/local/canal/bin文件下出现了hs_err_pidxxxx.log文件,则可能是因为内存原因导致无法启动。

查看一下服务器的内存使用情况。在物理内存无法增加的情况下,就只能清理一下缓存释放多余空间。

free -h

6.1最终解决方案

修改/usr/local/cannal/bin/startup.sh文件。设置jvm的内存为128m,参考设置,具体根据自己机器的内存情况设置。


image.png

修改之后重新启动canal,即可成功。

相关文章

网友评论

      本文标题:linux安装canal-1.1.6详细教程

      本文链接:https://www.haomeiwen.com/subject/lbcpudtx.html