win10环境安装使用docker-maxwell

目的:maxwell可以监控mysql数据变化,并同步到kafka、mq或tcp等。

maxwell和canal区别:

  1.  maxwell更轻量,canal把表结构也输出了
  2.  docker  bootstrap可导出历史数据,canal不能

环境 :win10,mysql5.7,maxwell最新

1.下载和安装MAXWELL和docker

maxwell官网地址: Maxwell's Daemon

win10 不支持MAXWELL,只能用docker安装。

Docker for Windows安装参见Docker的安装与使用(Windows10版) - 知乎

Docker for Windows的当前版本运行在64位Windows 10 Pro,专业版、企业版和教育版。(不支持家庭版

装好docker后启动。

或者 Docker 下Docker的方式进行安装

2.配置 MYSQL 开启BINLOGS,位置(D:\soft\mysql-5.7.30-winx64\my.ini

[mysqld] 服务端配置下面添加三行(其他配置勿动):

server_id=1

log-bin=master   

binlog_format=row

或者直接运行如下指令:

mysql> set global binlog_format=ROW;
mysql> set global binlog_row_image=FULL;

配置完后重启mysql 服务:net stop mysql   net start mysql

maxwell需要建库、建用户和赋权:

CREATE DATABASE `maxwell`;

GRANT ALL ON maxwell.* TO 'maxwell'@'%' IDENTIFIED BY 'maxwell';

grant select ,replication slave,replication client on *.* to maxwell@'%';

flush privileges;

3.compose方式安装docker maxwell,MAXWELL 输出到 STDOUT 标准输出模式启

注:也可以命令下载运行

docker run -it --rm zendesk/maxwell bin/maxwell --user=maxwell  --password=maxwell --host=192.168.25.5 --producer=stdout

1. 目录结构,新建文件夹 docker_maxwellwin10环境安装使用docker-maxwell_第1张图片

2. 编辑docker-compose.yml

version: '3.5'

services:

  maxwell:

    image: zendesk/maxwell

    network_mode: "host"

    command: bin/maxwell --config /etc/maxwell/config.properties

    volumes:

      - ./conf:/etc/maxwell/

  1.  创建conf文件夹,在conf文件夹下添加 config.properties文件

注意ip要改成自己的。

daemon=true

# 第一次启动时建议改为debug,可以开到mysql数据与kafka请求,稳定后再改为info

log_level=info

#producer=kafka

producer=stdout

kafka.bootstrap.servers=10.0.233.191:9092

# 会往 kafka下主题为'test'的分区下推送数据

kafka_topic=test

#当producer_partition_by设置为table时,Maxwell会将生成的消息根据表名称进行分区,不同的表将会被分配到不同的分区中,默认为database

producer_partition_by=table

client_id=maxwell_1

# mysql login info 需要先在mysql创建maxwell用户

host=192.168.1.101

port=3306

user=maxwell

password=maxwell

schema_database=maxwell

#include_dbs= maxwell

#include_tables= user

4.在保证 mysql 可以访问 并且正常启动的情况下,启动下载maxwell并运行

# 进入docker_maxwell目录下

cd /.../docker_maxwell

# 启动服务

docker compose up -d

5.在docker图形化界面下查看日志,Containers=》docker_maxwell

win10环境安装使用docker-maxwell_第2张图片

6.插入一条数据查看效果,如上图,在maxwell(存储的是元数据)以外的库

INSERT INTO example.sys_user

( username, password, nickname, role_id, create_time, update_time, delete_status)

VALUES( 'test1', '123456', '就看看列表', 3, '2017-11-22 16:29:41.0', '2017-11-22 16:29:41.0', '1');

7配置输出到kafka,配置完后,需要启动kafka就行

创建conf文件夹,在conf文件夹下添加 config.properties文件

注意: 文件内IP替换成自己本机IP

daemon=true

# 第一次启动时建议改为debug,可以开到mysql数据与kafka请求,稳定后再改为info

log_level=info

producer=kafka

kafka.bootstrap.servers=IP:9092

# 会往 kafka下主题为'test'的分区下推送数据

kafka_topic=test

#当producer_partition_by设置为table时,Maxwell会将生成的消息根据表名称进行分区,不同的表将会被分配到不同的分区中,默认为database

producer_partition_by=table

client_id=maxwell_1

# mysql login info 需要先在mysql创建maxwell用户

host=IP

port=33106

user=maxwell

password=maxwell

schema_database=maxwell

你可能感兴趣的:(hadoop,docker,容器,运维,maxwell,kafka,java)