Apache Hadoop生态部署-Maxwell(实时数据同步)采集节点安装

目录

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栏目下其他文章

猜你喜欢

转载自blog.csdn.net/web_snail/article/details/129220333
今日推荐