Maxwell

Maxwell

  1. 定义

    实时读取Mysql二进制日志,并生成JSON格式的消息。作为生产者发送给 kafka,kinesis 等

  2. 原理

    把自己伪装成MySQL的一个slave,然后以slave的身份假装从MySQL(master)复制数据。

  3. 安装

    1. 下载、解压

    2. 修改被监控数据库 /etc/my.cnf,增加

      [mysqld]
      server_id=1
      log-bin=mysql-bin
      binlog_format=row
      binlog-do-db=csmar_log_new_4.7.1
      

      并重启

    3. CREATE DATABASE maxwell;

    4. 启动

    #普通启动
    bin/maxwell --user='root' --password='csm@2020' --host='10.1.240.61' --producer=stdout
    #配置文件启动
    bin/maxwell --config ./config.properties
    
    
    #写到kafka
    bin/maxwell --user='root' --password='csm@2020' --host='10.1.240.61' --producer=kafka --kafka.bootstrap.servers=hadoop02:9092 --kafka_topic=maxwell
    
    #配置文件启动
    bin/maxwell --config ./config-kafka.properties
    
    
    1. kafka接收到的数据结构

      {
          "database":"csmar_log_new_4.7.1",
          "table":"modelinfo202212",
          "type":"insert",
          "ts":1670828972,
          "commit":true,
          "data":{
              "ModelID":1165860,
              "Account":"csmarcpnbzh10051",
              "AccountType":"机构账号",
              "CousManageId":"685522738157228032",
              "CousManageName":"CSMAR产研部",
              "ClickTime":"2022-12-12 15:09:32",
              "ModuleName":"首页_产品动态",
              "ModuleInfo":"【数据库提升】中国上市公司财务报告审计意见数据库",
              "appName":"CSMAR Solution",
              "TrackId":"e9b9c8d6893b4124b15eaf8f69983e43",
              "Lang":"简体",
              "nowPage":"首页",
              "goToPage":"【数据库提升】中国上市公司财务报告审计意见数据库_产品动态详情页",
              "pageAuthority":"null",
              "cookie":"85c68cc2-76f6-4602-8fc5-cb4427754ba7"
          }
      }
      
  4. 指定表数据输出控制台

    bin/maxwell --user='maxwell' --password='123456' --host='hadoop102' --filter 
    'exclude: *.*, include:test_maxwell.test' --producer=stdout
    
  5. 全量输出

    insert into maxwell.bootstrap(database_name,table_name) 
    values('test_maxwell','test2');
    
    
    bin/maxwell-bootstrap --database gmall202004 --table base_province --client_id maxwell_1
    ./maxwell-bootstrap --database csmar_log_new_4.7.1 --table databaseinfo202101 --config ../config-kafka.properties
    
    ./maxwell-bootstrap --database csmar_log_new_4.7.1 --table databaseinfo202101 --host '10.1.240.61' --user root --password 'csm@2020' --client_id maxwell_first
    
    bin/maxwell --user='root' --password='csm@2020' --host='10.1.240.61' --producer=stdout
    

    插入后重启maxwell

posted @ 2024-01-30 12:55  停不下的时光  阅读(29)  评论(0编辑  收藏  举报