码农知识堂 - 1000bd
  •   Python
  •   PHP
  •   JS/TS
  •   JAVA
  •   C/C++
  •   C#
  •   GO
  •   Kotlin
  •   Swift
  • 大数据项目之电商数仓、Maxwell使用、 Maxwell启停脚本、增量数据同步、历史数据全量同步、采集通道Maxwell配置、通道测试


    文章目录

    • 7. 业务数据采集模块
      • 7.2 采集工具
        • 7.2.4 Maxwell使用
          • 7.2.4.1 启动Kafka集群
          • 7.2.4.2 Maxwell启停
            • 7.2.4.2.1 启动Maxwell
            • 7.2.4.2.2 停止Maxwell
            • 7.2.4.2.3 Maxwell启停脚本
              • 7.2.4.2.3.1 创建并编辑Maxwell启停脚本
              • 7.2.4.2.3.2 脚本内容如下
          • 7.2.4.3 增量数据同步
            • 7.2.4.3.1 启动Kafka消费者
            • 7.2.4.3.2 模拟生成数据
            • 7.2.4.3.3 观察Kafka消费者
          • 7.2.4.4 历史数据全量同步
            • 7.2.4.4.1 Maxwell-bootstrap
            • 7.2.4.4.2 boostrap数据格式
      • 7.3 采集通道Maxwell配置
        • 7.3.1 修改Maxwell配置文件config.properties
        • 7.3.2 配置参数如下
        • 7.3.3 重新启动Maxwell
        • 7.3.4 通道测试
          • 7.3.4.1 启动Zookeeper以及Kafka集群
          • 7.3.4.2 启动一个Kafka Console Consumer,消费topic_db数据
          • 7.3.4.3 生成模拟数据
          • 7.3.4.4 观察Kafka消费者是否能消费到数据

    7. 业务数据采集模块

    7.2 采集工具

    7.2.4 Maxwell使用

    7.2.4.1 启动Kafka集群

      若Maxwell发送数据的目的地为Kafka集群,则需要先确保Kafka集群为启动状态。

    7.2.4.2 Maxwell启停
    7.2.4.2.1 启动Maxwell
    [summer@hadoop102 maxwell-1.29.2]$ bin/maxwell --config config.properties --daemon
    
    • 1

    在这里插入图片描述

    7.2.4.2.2 停止Maxwell
    [summer@hadoop102 ~]$ ps -ef | grep maxwell | grep -v grep | grep maxwell | awk '{print $2}' | xargs kill -9
    
    • 1
    7.2.4.2.3 Maxwell启停脚本
    7.2.4.2.3.1 创建并编辑Maxwell启停脚本
    [summer@hadoop102 bin]$ vim mxw.sh
    
    • 1

    在这里插入图片描述

    7.2.4.2.3.2 脚本内容如下
    #!/bin/bash
    
    MAXWELL_HOME=/opt/module/maxwell-1.29.2
    
    status_maxwell(){
        result=`ps -ef | grep com.zendesk.maxwell.Maxwell | grep -v grep | wc -l`
        return $result
    }
    
    
    start_maxwell(){
        status_maxwell
        if [[ $? -lt 1 ]]; then
            echo "启动Maxwell"
            $MAXWELL_HOME/bin/maxwell --config $MAXWELL_HOME/config.properties --daemon
        else
            echo "Maxwell正在运行"
        fi
    }
    
    
    stop_maxwell(){
        status_maxwell
        if [[ $? -gt 0 ]]; then
            echo "停止Maxwell"
            ps -ef | grep com.zendesk.maxwell.Maxwell | grep -v grep | awk '{print $2}' | xargs kill -9
        else
            echo "Maxwell未在运行"
        fi
    }
    
    
    case $1 in
        start )
            start_maxwell
        ;;
        stop )
            stop_maxwell
        ;;
        restart )
           stop_maxwell
           start_maxwell
        ;;
    esac
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19
    • 20
    • 21
    • 22
    • 23
    • 24
    • 25
    • 26
    • 27
    • 28
    • 29
    • 30
    • 31
    • 32
    • 33
    • 34
    • 35
    • 36
    • 37
    • 38
    • 39
    • 40
    • 41
    • 42
    • 43
    • 44

    在这里插入图片描述

    在这里插入图片描述

    7.2.4.3 增量数据同步
    7.2.4.3.1 启动Kafka消费者
    [summer@hadoop103 kafka-3.0.0]$ bin/kafka-console-consumer.sh --bootstrap-server hadoop102:9092 --topic maxwell
    
    • 1
    7.2.4.3.2 模拟生成数据
    [summer@hadoop102 bin]$ java -jar gmall2020-mock-db-2021-11-14.jar 
    
    • 1
    7.2.4.3.3 观察Kafka消费者

    在这里插入图片描述

    7.2.4.4 历史数据全量同步

      上一节,我们已经实现了使用Maxwell实时增量同步MySQL变更数据的功能。但有时只有增量数据是不够的,我们可能需要使用到MySQL数据库中从历史至今的一个完整的数据集。这就需要我们在进行增量同步之前,先进行一次历史数据的全量同步。这样就能保证得到一个完整的数据集。

    7.2.4.4.1 Maxwell-bootstrap
    [summer@hadoop102 maxwell-1.29.2]$ /opt/module/maxwell-1.29.2/bin/maxwell-bootstrap --database gmall --table user_info --config /opt/module/maxwell-1.29.2/config.properties
    
    • 1

    在这里插入图片描述

    7.2.4.4.2 boostrap数据格式

    采用bootstrap方式同步的输出数据格式如下:

    {
        "database": "gmall",
        "table": "user_info",
        "type": "bootstrap-start",
        "ts": 1667014630,
        "data": {}
    }
    {
        "database": "gmall",
        "table": "user_info",
        "type": "bootstrap-insert",
        "ts": 1667014630,
        "data": {
           "id":194,
           "login_name":"nwuckp5",
           "nick_name":"环雪",
           "passwd":null,
           "name":"鲍环雪",
           "phone_num":"13878128474",
           "email":"nwuckp5@126.com",
           "head_img":null,
           "user_level":"2",
           "birthday":"2002-12-14",
           "gender":"F",
           "create_time":"2020-06-14 10:31:20",
           "operate_time":null,
           "status":null
        }
    }
    {
        "database": "gmall",
        "table": "user_info",
        "type": "bootstrap-insert",
        "ts": 1667014630,
        "data": {
            "id":195,
            "login_name":"eu3kk9va08",
            "nick_name":"文辉",
            "passwd":null,
            "name":"齐文辉",
            "phone_num":"13771612693",
            "email":"eu3kk9va08@sina.com",
            "head_img":null,
            "user_level":"1",
            "birthday":"1984-06-14",
            "gender":null,
            "create_time":"2020-06-14 10:31:20",
            "operate_time":null,
            "status":null
        }
    }
    {
        "database": "gmall",
        "table": "user_info",
        "type": "bootstrap-complete",
        "ts": 1667014630,
        "data": {}
    }
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19
    • 20
    • 21
    • 22
    • 23
    • 24
    • 25
    • 26
    • 27
    • 28
    • 29
    • 30
    • 31
    • 32
    • 33
    • 34
    • 35
    • 36
    • 37
    • 38
    • 39
    • 40
    • 41
    • 42
    • 43
    • 44
    • 45
    • 46
    • 47
    • 48
    • 49
    • 50
    • 51
    • 52
    • 53
    • 54
    • 55
    • 56
    • 57
    • 58

    在这里插入图片描述

    注意事项:
    1)第一条type为bootstrap-start和最后一条type为bootstrap-complete的数据,是bootstrap开始和结束的标志,不包含数据,中间的type为bootstrap-insert的数据才包含数据。
    2)一次bootstrap输出的所有记录的ts都相同,为bootstrap开始的时间。

    7.3 采集通道Maxwell配置

    7.3.1 修改Maxwell配置文件config.properties

    [summer@hadoop102 maxwell-1.29.2]$ vim config.properties
    
    • 1

    在这里插入图片描述

    7.3.2 配置参数如下

    在这里插入图片描述

    log_level=info
    
    producer=kafka
    kafka.bootstrap.servers=hadoop102:9092,hadoop103:9092
    
    #kafka topic配置
    kafka_topic=topic_db
    
    # mysql login info
    host=hadoop102
    user=maxwell
    password=maxwell
    jdbc_options=useSSL=false&serverTimezone=Asia/Shanghai
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13

    7.3.3 重新启动Maxwell

    [summer@hadoop102 maxwell-1.29.2]$ mxw.sh restart
    
    • 1

    在这里插入图片描述

    7.3.4 通道测试

    7.3.4.1 启动Zookeeper以及Kafka集群

    在这里插入图片描述

    7.3.4.2 启动一个Kafka Console Consumer,消费topic_db数据
    [summer@hadoop103 kafka-3.0.0]$ bin/kafka-console-consumer.sh --bootstrap-server hadoop102:9092 --topic topic_db
    
    • 1
    7.3.4.3 生成模拟数据
    [summer@hadoop102 bin]$ cd /opt/module/db_log/
    [summer@hadoop102 db_log]$ java -jar gmall2020-mock-db-2021-11-14.jar 
    
    • 1
    • 2
    7.3.4.4 观察Kafka消费者是否能消费到数据

    在这里插入图片描述

  • 相关阅读:
    集群、限流、缓存 BAT 大厂无非也就是这么做
    电脑提示ISDone.dll错误怎么办?
    Bluez目录结构分析
    [plugin:vite:css] [sass] Undefined mixin.
    React - 监听器执行Hook不生效的闭包性问题
    王庆友-架构的本质:如何打造一个有序的系统?
    Zebec Protocol 成非洲利比亚展会合作伙伴,并将向第三世界国家布局
    Java中通过反射获取自定义注解中标识的对象属性信息(若依@Excel注解示例)
    Selenium Python教程第5章
    03 RocketMQ - Broker 源码分析
  • 原文地址:https://blog.csdn.net/Redamancy06/article/details/127596350
  • 最新文章
  • 攻防演习之三天拿下官网站群
    数据安全治理学习——前期安全规划和安全管理体系建设
    企业安全 | 企业内一次钓鱼演练准备过程
    内网渗透测试 | Kerberos协议及其部分攻击手法
    0day的产生 | 不懂代码的"代码审计"
    安装scrcpy-client模块av模块异常,环境问题解决方案
    leetcode hot100【LeetCode 279. 完全平方数】java实现
    OpenWrt下安装Mosquitto
    AnatoMask论文汇总
    【AI日记】24.11.01 LangChain、openai api和github copilot
  • 热门文章
  • 十款代码表白小特效 一个比一个浪漫 赶紧收藏起来吧!!!
    奉劝各位学弟学妹们,该打造你的技术影响力了!
    五年了,我在 CSDN 的两个一百万。
    Java俄罗斯方块,老程序员花了一个周末,连接中学年代!
    面试官都震惊,你这网络基础可以啊!
    你真的会用百度吗?我不信 — 那些不为人知的搜索引擎语法
    心情不好的时候,用 Python 画棵樱花树送给自己吧
    通宵一晚做出来的一款类似CS的第一人称射击游戏Demo!原来做游戏也不是很难,连憨憨学妹都学会了!
    13 万字 C 语言从入门到精通保姆级教程2021 年版
    10行代码集2000张美女图,Python爬虫120例,再上征途
Copyright © 2022 侵权请联系2656653265@qq.com    京ICP备2022015340号-1
正则表达式工具 cron表达式工具 密码生成工具

京公网安备 11010502049817号