暂无图片
暂无图片
1
暂无图片
暂无图片
暂无图片

使用 Canal 增量同步 MySQL 到 ES (上)

TechStyle 2021-07-29
792

MySQL Configuration

拉取 image

docker pull mysql:5.7.35


创建 container

docker run --name mysql5 -p 3306:3306 -e MYSQL_ROOT_PASSWORD=123456 -d mysql:5.7.35


查看容器是否开启 binlog

docker exec -it mysql5 bash
mysql -uroot -p123456
show variables like '%log_bin%';

Note:显示 binlog 未开启


退出 bash 后,开启 binlog

docker exec mysql5 bash -c "echo 'log-bin=/var/lib/mysql/mysql-bin' >> /etc/mysql/mysql.conf.d/mysqld.cnf"
docker exec mysql5 bash -c "echo 'binlog-format=ROW' >> /etc/mysql/mysql.conf.d/mysqld.cnf"
docker exec mysql5 bash -c "echo 'server-id=1' >> /etc/mysql/mysql.conf.d/mysqld.cnf"
docker restart mysql5

Note: 这里为了方便快递开启,使用以上三条指令执行;另外也可以 cd 到指定目录下,通过 vim 进行修改,效果是一样的,前提是需要在 container 中安装 vim,两种方法都行,各取所需。

apt-get update
apt-get install vim


重启 MySQL 后,再次执行

show variables like '%log_bin%';

Note: 显示 binlog 已开启


也可以登录宿主机查看

cd /var/lib/mysql
ls -lrth


在数据库中创建一个数据库、表,插入一些数据后,在MySQL DB Client 端查看 binlog

show binlog events in 'mysql-bin.000001';


ElasticSearch Configuration

拉取 image

docker pull elasticsearch:7.13.4


创建自定义网络

docker network create esnetwork


创建 container

docker run --name elasticsearch --net esnetwork -p 9200:9200 -p 9300:9300 -e "discovery.type=single-node" -d elasticsearch:7.13.4


查看是否启动成功

curl http://localhost:9200/


Kibana Configuration

拉取 image

docker pull kibana:7.13.4


创建自定义网络

docker network create esnetwork

Note:由于安装 ES 的时候已经创建过,这步可以省略


创建 container

docker run --name kibana --net esnetwork -p 5601:5601 -d kibana:7.13.4


查看是否启动成功,浏览器打开

http://localhost:5601/


至此,三大件已经搭建完毕,Canal Configuration 且听下回详解。


Reference

https://hub.docker.com/_/mysql

https://hub.docker.com/_/elasticsearch

https://hub.docker.com/_/kibana



泰克风格 只讲干货 不弄玄虚

文章转载自TechStyle,如果涉嫌侵权,请发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

评论