MySQL Binlog 解析工具之Maxwell 快速使用
1. 涉及的组件
mysql、kafka、maxwell、
2. mysql的安装与使用
2.1 卸载清理已有mysql
https://blog.csdn.net/tjcyjd/article/details/52189182
2.2 linux 安装mysql
博客: https://www.jianshu.com/p/276d59cbc529
bilibi视频介绍:https://www.bilibili.com/video/BV1mJ411z7GZ?from=search&seid=8604979754825723565
3. 安装kafka
wget http://mirrors.tuna.tsinghua.edu.cn/apache/kafka/2.1.0/kafka_2.11-2.1.0.tgz
tar -xzf kafka_2.11-2.1.0.tgz
cd kafka_2.11-2.1.0
# 启动Zookeeper
bin/zookeeper-server-start.sh config/zookeeper.properties
单机启动 kafka 之前,需要修改一下配置文件,打开配置文件 vi config/server.properties,在文件最后加入 advertised.host.name 的配置,值为 kafka 所在机器的IP
advertised.host.name=10.100.97.24
# 启动kafka
bin/kafka-server-start.sh config/server.properties
测试 kafka
# 创建一个 topic
bin/kafka-topics.sh --create --zookeeper localhost:2181 --replication-factor 1 --partitions 1 --topic test
# 列出所有 topic
bin/kafka-topics.sh --list --zookeeper localhost:2181
# 启动一个生产者,然后随意发送一些消息
bin/kafka-console-producer.sh --broker-list localhost:9092 --topic test
This is a message
This is another message
# 在另一个终端启动一下消费者,观察所消费的消息
bin/kafka-console-consumer.sh --bootstrap-server localhost:9092 --topic test --from-beginning
This is a message
This is another message
4. maxwell 安装与使用
https://laijianfeng.org/2019/03/MySQL-Binlog-%E8%A7%A3%E6%9E%90%E5%B7%A5%E5%85%B7-Maxwell-%E8%AF%A6%E8%A7%A3/
Maxwell是一个能实时读取MySQL二进制日志binlog,并生成 JSON 格式的消息,作为生产者发送给 Kafka,Kinesis、RabbitMQ、Redis、Google Cloud Pub/Sub、文件或其它平台的应用程序。它的常见应用场景有ETL、维护缓存、收集表级别的dml指标、增量到搜索引擎、数据分区迁移、切库binlog回滚方案等。官网(http://maxwells-daemon.io)、GitHub(https://github.com/zendesk/maxwell)
Maxwell主要提供了下列功能:
支持 SELECT * FROM table 的方式进行全量数据初始化
支持在主库发生failover后,自动恢复binlog位置(GTID)
可以对数据进行分区,解决数据倾斜问题,发送到kafka的数据支持database、table、column等级别的数据分区
工作方式是伪装为Slave,接收binlog events,然后根据schemas信息拼装,可以接受ddl、xid、row等各种event
1. 配置mysql
在mysql 的配置文件添加如下的配置, 否则maxwell会出错。
[mysqld]
server_id=1
log-bin=master
binlog_format=row
2. 创建Maxwell用户,并赋予其权限
CREATE USER 'maxwell'@'%' IDENTIFIED BY '123456';
GRANT ALL ON maxwell.* TO 'maxwell'@'%';
GRANT SELECT, REPLICATION CLIENT, REPLICATION SLAVE on *.* to 'maxwell'@'%';
3. 下载【https://github.com/zendesk/maxwell】maxwell maxwell-1.29.1.tar.gz,并配置
新增配置文件:即的添加jdbc_options
./maxwell --user='maxwell' --password='123456' --host='127.0.0.1' --producer=stdout
4. 快速使用
本文引用:
1. https://blog.csdn.net/tjcyjd/article/details/52189182
2. https://www.jianshu.com/p/276d59cbc529
3. https://laijianfeng.org/2019/03/MySQL-Binlog-%E8%A7%A3%E6%9E%90%E5%B7%A5%E5%85%B7-Maxwell-%E8%AF%A6%E8%A7%A3/ 本文作者:小旋锋
- 点赞
- 收藏
- 关注作者
评论(0)