canal集成MYSQL和ES

主机规划
主机1 MySQL环境5.7.24 26 30 10.0.0.11
主机2 Canal1.1.4 Server Client ES 10.0.0.50
软件github上使用阿里云可能因为国内很慢,我们可以先下载到本地
yum install -y lrzsz 工具本地Windows下的内容Linux虚拟机中

Canal的架构模式
Canal是利用binlog日志来做数据同步,canal伪装成从节点从主节点dump binlog日志,所以canal分为server和client,server负责dump binlog日志,client负责处理binlog日志(比如入库)。

canal

下载

下载地址
上传Canal1.1.4 服务端 客户端

在这里插入图片描述

检查一下系统中是否有Java环境
在这里插入图片描述
下载和解压

tar -zxvf cancal.deployer-1.1.4.tar.gz

服务端的
在这里插入图片描述
客户端的
在这里插入图片描述

服务端配置

cd /usr/local/canal.deployer/conf/example
vim instance.properties

1.修改mysql服务器ip地址
在这里插入图片描述
在这里插入图片描述
2.mysql主机操作

服务端的配置并配置MySQL 5.7.26

创建canal用户并且给它设置成具有从库的权限/刷新

CREATE USER canal IDENTIFIED BY 'canal' ; 
GRANT SELECT, REPLICATION SLAVE, REPLICATION CLIENT ON . TO 'canal' @ '%' ; 
FLUSH PRIVILEGES; 
创建一个测试用的数据库 
CREATE DATABASE mytest; 
use mytest; 
SET NAMES utf8mb4; 
SET FOREIGN_KEY_CHECKS = 0;

创建一个表

-- Table structure for user 
DROP TABLE IF EXISTS user ; 
CREATE TABLE ````user```( 
```id bigint (255) NOT` `NULL` `AUTO_INCREMENT, 
`````name```varchar (255) CHARACTER SET utf8mb4 COLLATE` 
`utf8mb4_general_ci NULL DEFAULT NULL , 
```role_id` bigint (20) NULL DEFAULT NULL , 
```c_time` datetime(0) NULL DEFAULT NULL , PRIMARY KEY ( id ) USING BTREE 
) ENGINE = InnoDB AUTO_INCREMENT = 6 CHARACTER` `SET` `= latin1 COLLATE = 
latin1_swedish_ci ROW_FORMAT = Dynamic ;

启动cancal

cd /usr/local/canal.deployer/bin
sh startup.sh

看效果

cd /usr/local/canal.deployer/logs/canal
tail -f canal.log

客户端配置

cd /usr/local/canal.dapter/conf
vim application.yml

在这里插入图片描述
配置mysql
在这里插入图片描述
配置es
在这里插入图片描述

启动

sh startup.sh

这里我们使用MySQL中mytest的数据库
mysql -u root -p

shop这张表进行测试
id name tags
insert into shop(id ,name,tags)values(“xx”,“3”,“3”);

es

es下载6.5.0
https://www.elastic.co/cn/downloads/past-releases/elasticsearch-5-6-0

需要使用非ES得用户运行程序,不能使用root用户

useradd elasticsearch

配置

上面写了cluster.name写了P8,这里也写P8
在这里插入图片描述
这里数据地址 和 日志的地址 根据自己的需要进行配置
在这里插入图片描述
IP地址的地方0.0.0.0/或者内网的IP地址
在这里插入图片描述
启动
授权访问

chown -R elasticsearch ./elasticsearch

在这里插入图片描述
在这里插入图片描述

切换用户

su elasticsearch

在这里插入图片描述
到bin目录中

./elasticsearch

安全组的端口一定要都打开9200 9300 8081 11111 等这些端口一定要打开。

验证

启动服务的顺序ES+Kibanna
ES /usr/local/elasticsearch/elasticsearch-6.5.0/bin 执行时注意su elasticsearch 然后执 行./elasticsearch
Kibanna /usr/local/kibana/kibana-6.5.0-linux-x86_64/bin 执行./kibana
MySQL systemctl restart mysqld
服务端 /usr/local/canal.deployer/bin sh stop.sh关闭服务 sh startup.sh开启
客户端 /usr/local/canal.adapter/bin sh stop.sh关闭服务 sh startup.sh开启

需要下载个kibanna
kibana

启动后,端口5601
在这里插入图片描述

insert into shop (id,name,tags) values(“xxx”,“xxx”,“xx”);
回车以后
看客户端的日志
cd /usr/local/canal.adapter/logs/adapter
tail -f adapter.log

Logo

华为开发者空间,是为全球开发者打造的专属开发空间,汇聚了华为优质开发资源及工具,致力于让每一位开发者拥有一台云主机,基于华为根生态开发、创新。

更多推荐