目录
Apache Hadoop生态-目录汇总-持续更新
1:安装包准备
2:MySQL 环境准备
2.1:开启MySQL Binlog
2.2:验证mysql配置是否正确
2.3:初始化Maxwell元数据库,分配账号
3:安装
4:测试
Apache Hadoop生态-目录汇总-持续更新
系统环境:centos7
Java环境:Java8
1:安装包准备
版本选择:v1.30版本后不支持jdk8, 这里使用1.29.2版本
方式1)官网下载:Changelog - Maxwell's Daemon
https://github.com/zendesk/maxwell/releases/tag/v1.29.2
方式2)安装包--百度网盘
链接:https://pan.baidu.com/s/1bOX2qQh_UpC45dOeCEEaUQ?pwd=yyds
提取码:yyds
2:MySQL 环境准备
2.1:开启MySQL Binlog
binlog_format=row必须是row格式
binlog_format=row 基于行,Binlog会记录每次写操作后被操作行记录的变化。
优点:保持数据的绝对一致性。 缺点:占用较大空间。
vim /etc/my.cnf
在[mysqld]模块下添加一下内容
[mysqld]
server_id=1
#启动binlog,该参数的值会作为binlog的文件名
log_bin=mysql-bin
#binlog类型,maxwell要求为row类型
binlog_format=row
#启用binlog的数据库
binlog-do-db=flink_gmall
#binlog-do-db=test_maxwell 指定库名
#binlog-do-db=test_maxwell1 指定库名,多个写多行
#binlog-ignore-db=gmall 如果库多,可以设置忽略那个库
注:具体my.conf的位置要根据自己的情况做调整
使用命令查看my.cnf配置文件的读取顺序
mysql --help | grep 'Default options' -A 1
重启 Mysql 服务
sudo systemctl restart mysqld
2.2:验证mysql配置是否正确
登录 mysql 并查看是否修改完成
mysql -uroot -p
mysql> show variables like '%binlog%';
查看下列属性
binlog_format | ROW
mysql> show master status;
2.3:初始化Maxwell元数据库,分配账号
(1)在 MySQL 中建立一个 maxwell 库用于存储 Maxwell 的元数据
mysql> CREATE DATABASE maxwell;
(2)创建并用户分配权限操作maxwell 元数据库
mysql> CREATE USER 'maxwell'@'%' IDENTIFIED BY 'pw_maxwell';
mysql> GRANT ALL ON maxwell.* TO 'maxwell'@'%' IDENTIFIED BY 'pw_maxwell';
(3)分配这个账号只读其他数据库的权限 -- 因为要扮演从库,所以要用查询复制权限
mysql> GRANT SELECT ,REPLICATION SLAVE , REPLICATION CLIENT ON *.* TO maxwell@'%';
(4)刷新 mysql 表权限
mysql> flush privileges;
3:安装
cd /tmp
wget https://github.com/zendesk/maxwell/releases/download/v1.29.2/maxwell-1.29.2.tar.gz
或者百度网盘下载,上传到这个目录下
tar -zxvf maxwell-1.29.2.tar.gz -C /usr/local
4:测试
使用命令行参数启动 Maxwell,把同步结果输出到控制台
cd /usr/local/maxwell-1.29.2
[root@node01 maxwell-1.29.2]# bin/maxwell --user='maxwell' --password='pw_maxwell' --host='192.168.1.100' --producer=stdout
解释:
--user 连接 mysql 的用户
--password 连接 mysql 的用户的密码
--host mysql 监 控 哪 台 m y s q l
上面mysql的配置。主要是主库的链接
--producer 生产者模式(stdout:控制台 , kafka:kafka 集群)
修改flink_gmall库任何表的数据,观察控制台的输出
更多Maxwell使用案例,参考Maxwell栏目下其他文章