# Maxwell
# 一、安装 Maxwell
从官方 (opens new window)下载并解压
hdp1-➜ /opt tar -xzf maxwell-1.35.5.tar.gz
1
# 二、初始化Maxwell元数据库
在 MySQL 中建立一个 maxwell 库用于存储 Maxwell 的元数据
CREATE DATABASE maxwell;
1
分配一个账号可以操作该数据库
GRANT ALL ON maxwell.* TO 'maxwell'@'%' IDENTIFIED BY '000000';
1
分配这个账号可以监控其他数据库的权限
mysql> GRANT SELECT ,REPLICATION SLAVE , REPLICATION CLIENT ON *.* TO maxwell@'%';
1
# 三、使用 Maxwell 监控抓取 MySQL 数据
拷贝配置文件
hdp1-➜ maxwell cp config.properties.example config.properties
1
修改配置文件
kafka.bootstrap.servers=hdp1:9092,hdp2:9092,hdp3:9092
# mysql login info
host=k8s-master
port=30054
user=maxwell
password=000000
#需要添加
kafka_topic=ods_base_db_m
#需要添加 初始化会用,跟mysql的id不一样就行
client_id=maxwell_1
1
2
3
4
5
6
7
8
9
10
11
12
13
2
3
4
5
6
7
8
9
10
11
12
13
默认还是输出到指定 Kafka 主题的一个 kafka 分区,因为多个分区并行可能会打乱 binlog 的顺序 如果要提高并行度,首先设置 kafka 的分区数>1,然后设置 producer_partition_by 属性 可选值 producer_partition_by=database|table|primary_key|random| column
在/home/atguigu/bin 目录下编写 maxwell.sh 启动脚本
hdp1-➜ maxwell vim /usr/local/bin/maxwell.sh
export JAVA_HOME=/opt/jdk-11.0.13
/opt/maxwell/bin/maxwell --config /opt/maxwell/config.properties >/dev/null 2>&1 &
1
2
3
2
3
授予执行权限
hdp1-➜ ~ chmod +x /usr/local/bin/maxwell.sh
1
运行启动程序
hdp1-➜ ~ maxwell.sh
1
启动kafka消费客户端,观察结果
/opt/kafka/bin/kafka-console-consumer.sh --bootstrap-server hdp1:9092 --topic ods_base_db_m
1