(三十二)大数据实战——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日志功能

#开启mysql binlog日志
server_id=1
log-bin=mysql-bin
binlog_format=row
#具体到某一个数据库,不配置的话是所有的数据库
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安装部署及其应用案例实战到这里就结束了,我们下期见。。。。。。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/137756.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

从淘宝数据分析产品需求(商品销量总销量精准月销)

淘宝数据分析总体来说可以分为商品分析、客户分析、地区分析、时间分析四大维度(参考数据雷达的分析思路)。在这里我重点说商品分析。 在淘宝上开店的竞争还是非常激烈的,随便拿出一个单品就有很多竞品存在,所以做起来还是很难的,而想要在众…

嵌入式学习 - 用电控制电

目录 前言: 1、继电器 2、二极管 3、三极管 3.1 特殊的三极管-mos管 3.2 npn类型三极管 3.3 pnp类型三极管 3.4 三极管的放大特性 3.5 mos管和三极管的区别 前言: 计算机的工作的核心原理:用电去控制电。 所有的电子元件都有数据手册…

MySQL的高级SQL语句

目录 一、高级SQL语句 1、select 查询表中一个或多个字段的数据 2、distinct 不显示重复的数据记录 3、where 有条件查询 4、and与or 且与或 5、in 显示在某个范围值内 的字段的信息 6、between 显示两个值范围内的数据记录 7、order by 对字…

ChatGLM 实现一个BERT

前言 本文包含大量源码和讲解,通过段落和横线分割了各个模块,同时网站配备了侧边栏,帮助大家在各个小节中快速跳转,希望大家阅读完能对BERT有深刻的了解。同时建议通过pycharm、vscode等工具对bert源码进行单步调试,调试到对应的模块再对比看本章节的讲解。 涉及到的jupyt…

网络安全:保护你的系统

🌷🍁 博主猫头虎(🐅🐾)带您 Go to New World✨🍁 🦄 博客首页——🐅🐾猫头虎的博客🎐 🐳 《面试题大全专栏》 🦕 文章图文…

logback异步appender日志源码详解

背景: 日常打印日志时,使用logback的异步写日志几乎是标准的配置方式,本文从源码上看看异步写日志的整个流程 异步Appender日志 一般日志的配置如下所示 appender(“ASYNC-LOG”, AsyncAppender) { neverBlock true queueSize 10000 } 这…

【chrome 插件】AdGuard 广告拦截器:安全清爽的互联网浏览体验

AdGuard 广告拦截器介绍 基本信息 AdGuard 是一款功能强大的广告拦截程序,它可以帮助用户在浏览网页时过滤掉网站中烦人的广告和恶意弹窗,提升获取信息的效率,同时,作为一款 Chrome 插件,AdGuard 提供了简单易用的界…

除法求值00

题目链接 除法求值 题目描述 注意点 Ai, Bi, Cj, Dj 由小写英文字母与数字组成输入总是有效的,可以假设除法运算中不会出现除数为 0 的情况,且不存在任何矛盾的结果未在等式列表中出现的变量是未定义的,因此无法确定它们的答案 解答思路 …

Linux内核源码分析 (B.4) 深度剖析 Linux 伙伴系统的设计与实现

Linux内核源码分析 (B.4) 深度剖析 Linux 伙伴系统的设计与实现 文章目录 1\. 伙伴系统的核心数据结构2\. 到底什么是伙伴3\. 伙伴系统的内存分配原理4\. 伙伴系统的内存回收原理5\. 进入伙伴系统的前奏5.1 获取内存区域 zone 里指定的内存水位线5.2 检查 zone 中剩余内存容量…

HelpLook全新升级!定制AI问答机器人,企业内容中心焕新

一直以来,企业都在努力解决内外部“企业知识管理”问题:从纸质手册发放,转线上电子文档传阅(pdf/ppt/word等),再到整理客户常见问题(FAQ)和内部知识库(wiki),但始终没有找到一套完整方案将“企业知识”很好地集中管理及…

Flutter与Native通信原理剖析与实践

通信原理 我们分几种场景来介绍Flutter和Native之间的通信。 Native发送数据给FlutterFlutter发送数据给NativeFlutter发送数据给Native,然后Native回传数据给Flutter Flutter与Native通信机制 在讲解Flutter与Native之间是如何传递数据之前,我们先了…

PostgreSQL16源码包编译安装

一、安装环境 操作系统:CentOS Linux release 7.8.2003 (Core) PostgreSQL版本:16 服务器IP地址:192.168.0.244 Firewalld关闭、selinux关闭 笔者本次选用最新v16版本进行部署 二、pg数据库安装包下载 下载地址:https://www.po…

什么是IoT数字孪生?

数字孪生是资产或系统的实时虚拟模型,它使用来自连接的物联网传感器的数据来创建数字表示。数字孪生允许您从任何地方实时监控设备、资产或流程。数字孪生用于多种目的,例如分析性能、监控问题或在实施之前运行测试。从物联网数字孪生中获得的见解使用户…

操作系统备考学习 day3 (2.1.1 - 2.1.6)

操作系统备考学习 day3 二、进程与线程2.1 进程与线程2.1.1 进程的概念和特征2.1.2 进程的状态与转换2.1.3 进程的组织2.1.4 进程控制2.1.5 进程间通信(IPC)2.1.6 线程和多线程模型 二、进程与线程 2.1 进程与线程 2.1.1 进程的概念和特征 进程&#…

怎样获取某个文件的public方法个数

背景:idea 提供的list可以查看所有的构造方法,但是无法直接告诉我准确的数目,于是写了以下一个单独的类 import java.lang.reflect.Method; import java.lang.reflect.Modifier;public class MyPublicMethodCounter {public static void mai…

flink集群与资源@k8s源码分析-集群

0 介绍 本文是flink集群与资源@k8s源码分析系列的第二篇-集群 1 场景 下面详细分析各用例 2 启动k8s集群 k8s集群支持session和application模式,job模式将会被废弃,本文分析session模式集群 Configuration作为配置容器,几乎所有的构建需要从配置类获取配置项,这里不显示…

算法通关村第14关【黄金】| 数据流的中位数

思路:使用一个小根堆一个大根堆来找中位数 小根堆保存较大的一半数字,大根堆保存较小的一半数字 奇数queMin的队头即为中位数,偶数queMin和queMax队头相加/2为中位数 初始状态: queMin: [] queMax: [] 添加数字 1: …

java面试题基础第七天

一、java面试题第七天 1.throw和throws的区别? throw: 用于抛出一个异常对象throws:写在方法体上面,将方法体里面的异常,抛给上层 2. 通过故事讲清楚NIO 下面通过一个例子来讲解下。 假设某银行只有10个职员。该银…

stm32学习-芯片系列/选型

【03】STM32HAL库开发-初识STM32 | STM概念、芯片分类、命名规则、选型 | STM32原理图设计、看数据手册、最小系统的组成 、STM32IO分配_小浪宝宝的博客-CSDN博客  STM32:ST是意法半导体,M是MCU/MPU,32是32位。  ST累计推出了&#xff1a…

buuctf web [极客大挑战 2019]LoveSQL

又是这样的界面,这糟糕的熟悉感,依旧使用上题套路 用户名: admin or 11# 密码: 1 有一串很像flag的字符,但是很可惜,这不是flag 看了一眼源代码,没有可以跳转的页面 要换个思路了&#xff0c…