Maxwell
Maxwell
一、安装 Maxwell
从官方下载并解压
hdp1-➜ /opt tar -xzf maxwell-1.35.5.tar.gz
二、初始化Maxwell元数据库
-- 在 MySQL 中建立一个 maxwell 库用于存储 Maxwell 的元数据
CREATE DATABASE maxwell;
-- 创建用户并设置密码
CREATE USER 'maxwell'@'%' IDENTIFIED BY 'your_password_here';
-- 授予 maxwell 用户对 maxwel 数据库的所有权限
GRANT ALL PRIVILEGES ON maxwell.* TO 'maxwell'@'%';
-- 分配这个账号可以监控其他数据库的权限
mysql> GRANT SELECT ,REPLICATION SLAVE , REPLICATION CLIENT ON *.* TO maxwell@'%';
-- 刷新权限
FLUSH PRIVILEGES;
三、使用 Maxwell 监控抓取 MySQL 数据
开启MySQL Binlog
拷贝配置文件
hdp1-➜ maxwell cp config.properties.example config.properties
修改配置文件
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
默认还是输出到指定 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/jdk11
/opt/maxwell/bin/maxwell --config /opt/maxwell/config.properties >/dev/null 2>&1 &
授予执行权限
hdp1-➜ ~ chmod +x /usr/local/bin/maxwell.sh
运行启动程序
hdp1-➜ ~ maxwell.sh
启动kafka消费客户端,观察结果
/opt/kafka/bin/kafka-console-consumer.sh --bootstrap-server hdp1:9092 --topic ods_base_db_m