• (三十二)大数据实战——Maxwell安装部署及其应用案例实战


    前言

    Maxwell是一个开源的MySQL数据库binlog解析工具,用于将MySQL数据库的binlog转换成易于消费的JSON格式,并通过Kafka、RabbitMQ、Kinesis 等消息队列或直接写入文件等方式将其输出。本节内容主要介绍如何安装部署Maxwell以及如何使用Maxwell完成数据的同步,这里主要以同步数据到kafka服务器为例。关于java、mysql和kafka的安装,这里不在介绍,请关注作者往期博客内容。

    正文

    ①上传Maxwell安装包到hadoop101服务器的/opt/software目录

    ②解压Maxwell安装包到/opt/module目录

    tar -zxvf maxwell-1.29.2.tar.gz -C /opt/module

    ③配置Maxwell环境变量并使其生效

    ④ 在/etc/my.cnf中修改配置文件,开启mysql的binlog日志功能

    1. #开启mysql binlog日志
    2. server_id=1
    3. log-bin=mysql-bin
    4. binlog_format=row
    5. #具体到某一个数据库,不配置的话是所有的数据库
    6. binlog-do-db=maxwell_test

    ⑤重启mysql,在/var/lib/mysql目录下查看是否会有binlog日志文件

    ⑥ 初始化Maxwell元数据库

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

    - 设置mysql用户密码安全级别

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

    - 授权

    - 刷新用户权限

    ⑦ Maxwell启动工作进程

    - 使用命令行启动

    maxwell --user='maxwell' --password='maxwell' --host='hadoop101' --producer=stdout

    参数说明:

            --user 连接mysql的用户

            --password 连接mysql用户的密码

            --host mysql 安装的主机名

            --producer 生产者模式(stdout:控制台 kafka:kafka 集群)

    - 通过定制化配置文件启动

    ⑧ 启动maxwell监控同步,向测试数据库maxwell_test中的test表中写入数据,查看控制台输出

    - 启动maxwell监控

    - 创建maxwell_test数据库,在test表中添加数据

    - 查看控制台输出

    ⑨ 使用kafka接收maxwell的监控数据

    - 启动kafka集群

    - 启动Maxwell监控binlog

    maxwell --user='maxwell' --password='maxwell' --host='hadoop101' --producer=kafka --kafka.bootstrap.servers=hadoop101:9092 --kafka_topic=maxwell

    - 向test_maxwell 库的test 表中插入一条数据、

    - 开启一个kafka消费者者,查看控台台日志,成功在maxwell中消费到了消息

    ⑩ 使用kafka自定义多分区接收maxwell的监控数据

    - 定制化启动maxwell进程,修改config.properties配置文件

    - 手动创建3个分区的topic主题maxwell_kafka

    kafka-topics.sh --bootstrap-server hadoop101:9092 --create --topic maxwell_kafka --partitions 3 --replication-factor 3

    - 启动maxwell进程监控

    - 启动kafka消费者,消费到了数据

    ⑪ maxwell监控特定表的binlog日志

    - 启动进程命令

    maxwell --user='maxwell' --password='maxwell' --host='hadoop101' --filter 'exclude: *.*,include:maxwell_test.test' --producer=stdout
    

    -- filter:可以设置过滤监控的数据库和表

    ⑫maxwell全量监控binlog日志

    - 在maxwell的元数据库maxwell中插入一条数据,代表执行一个maxwell_test数据库test表全量监控同步的任务

    insert into maxwell.bootstrap(database_name,table_name) values('maxwell_test','test');

    - 查看控制台,全量任务已同步

    结语

    至此,关于Maxwell安装部署及其应用案例实战到这里就结束了,我们下期见。。。。。。

  • 相关阅读:
    2000-2020上市公司全要素生产率OLS和固定效应方法含原始数据和Stata代码
    WPF的数据绑定
    MediaRecorder实现录音
    leetcode 15. 三数之和
    计算机网络性能指标:速率,带宽,吞吐量
    【wpf】关于绑定的一点明悟
    怿星科技的历程介绍
    【无标题】
    win10 mmdetection3d环境搭建
    LeetCode 86 双周赛
  • 原文地址:https://blog.csdn.net/yprufeng/article/details/132938786