博客园 首页 私信博主 显示目录 隐藏目录 管理 动画

maxWell

 

 一、初始化 Maxwell 元数据库

  • 在 MySQL 中建立一个 maxwell 库用于存储 Maxwell 的元数据

mysql -uroot -proot

mysql> CREATE DATABASE maxwell ;

  • 设置安全级别
  • mysql> set global validate_password_length=4;

  • mysql> set global validate_password_policy=0;

  • 分配一个账号可以操作该数据库

GRANT ALL ON maxwell.* TO 'maxwell'@'%' IDENTIFIED BY '123456';

  • 分配这个账号可以监控其他数据库的权限

GRANT SELECT,REPLICATION SLAVE,REPLICATION CLIENT ON *.* TO maxwelll@

 


二、使用Maxwell 监控抓取 MySQL 数据

vim config.properties

 

# tl;dr config
log_level=error

producer=kafka
kafka.bootstrap.servers=hadoop106:9092,hadoop107:9092,hadoop108:9092

# mysql login info
host=hadoop106
user=maxwell
password=123456
#需要添加
kafka_topic=ods_base_db_m

#需要添加 后续初始化会用
client_id=maxwell_1

 

注意:默认还是输出到指定 Kafka 主题的一个 kafka 分区,因为多个分区并行可能会打乱

binlog 的顺序

如果要提高并行度,首先设置 kafka 的分区数>1,然后设置 producer_partition_by 属性可选值 producer_partition_by=database|table|primary_key|random| column

 

vim /root/shells/maxwell.sh

/opt/module/maxwell-1.25.0/bin/maxwell --config   /opt/module/maxwell-1.25.0/config.properties >/dev/null 2>&1 &

运行 maxwell.sh

消费 kafka topic  ods_base_db_m

cd /opt/module/rt_dblog

java -jar gmall2020-mock-db-2020-11-27.jar

 

三、Maxwell 的初始化数据功能

bin/maxwell-bootstrap --user maxwell    --password 123456 --host hadoop106

--database gmall2021 --table user_info --client_id maxwell_1

  • --user maxwell

数据库分配的操作 maxwell 数据库的用户名

  • --password 123456

数据库分配的操作 maxwell 数据库的密码

  • --host

数据库主机名

  • --database

数据库名

  • --table

表名

  • --client_id

maxwell-bootstrap 不具备将数据直接导入kafka 或者hbase 的能力,通过--client_id 指定将数据交给哪个 maxwell 进程处理,在 maxwell 的 conf.properties 中配置

 

posted @ 2022-03-24 14:16  CHANG_09  阅读(124)  评论(0)    收藏  举报