canal deployer+canal adapter自动同步MySQL数据到ElasticSearch
一、安装Elastic Search 6.8
1.下载
Elastic Search 6.8资源下载
2.部署环境配置
- 创建用户(es不能使用root启动,否则报错)
adduser elastic
- 修改服务器配置
a)
vi /etc/sysctl.conf
添加配置
vm.max_map_count = 262144
b)
vi /etc/security/limits.conf
添加配置
* soft nofile 65536
* hard nofile 65536
- 查看配置
sysctl -p
3.安装
1)上传压缩包
2)解压
tar -zxvf elasticsearch-6.8.4.tar.gz
3)修改 config/elasticsearch.yml 配置文件
vim elasticsearch.yml
需要修改的配置
cluster.name: test #集群名称
node.name: node-1 #节点名称
network.host: 192.168.100.41 #配置访问地址
http.port: 9200 #访问端口
bootstrap.system_call_filter: false
transport.tcp.port: 9300 ##集群通讯端口
transport.tcp.compress: true
http.cors.enabled: true
http.cors.allow-origin: "*"
4)修改权限给elastic用户赋权
a)
cd 到解压的es同级目录
b)
chown -R elastic:elastic elasticsearch
4.启动
su - elastic
cd /home/elasticSearch/elasticsearch-6.8.4/
./bin/elasticsearch -d
5.查看日志
tail -f logs/test.log (日志名称为集群名称)
二.安装kibana
1.下载
链接: https://pan.baidu.com/s/1bC22pUOo3sh9syCoz9F0Gg 提取码: n7y5
2.安装
1)上传压缩包
2)解压
tar -zxvf kibana-6.2.4-linux-x86_64.tar.gz
3)修改 config 文件夹中 kibana.yml
vim kibana.yml
需要修改的配置
server.port: 5601
server.host: "192.168.100.41"
elasticsearch.url: "http://192.168.100.41:9200"
3.启动
./bin/kibana &
4.查看
浏览器访问:http://192.168.100.41:5601
三.安装canal 1.1.4
1.下载
链接: https://pan.baidu.com/s/1yrB24aHeWksznthejATRGQ 提取码: xwaf
2.安装
1)上传压缩包
2)解压canal
tar -zxvf canal.deployer-1.1.4.tar.gz
3.配置
1)配置MySQL的binlog写入功能
vim /etc/my.cnf
my.cnf添加如下配置
server-id=1
expire-logs-days=15
log-bin=/data/mysql/mysql-bin
binlog-format=ROW
解释:
server-id表示单个结点的id,这里由于只有一个结点,所以可以把id随机指定为一个数,这里将id设置成1。若集群中有多个结点,则id不能相同
第二句是指定binlog日志文件超过15天删除
第三句是指定binlog日志文件的名字为mysql-bin,以及其存储路径
第四句是指日志中会记录成每一⾏数据被修改的形式
2)授权canal链接MySQL账号
登录要连接的MySQL,执行下面命令
CREATE USER canal IDENTIFIED BY 'canal';
GRANT SELECT, REPLICATION SLAVE, REPLICATION CLIENT ON *.* TO 'canal'@'%';
GRANT ALL PRIVILEGES ON *.* TO 'canal'@'%';
FLUSH PRIVILEGES;
3.配置 example/instance.properties
canal.instance.master.address=192.168.100.46:3306
4.启动
./bin/startup.sh
5.日志
tail -f logs/canal/canal.log
tail -f logs/example/example.log
四.安装canal adapter 1.1.4
1.下载
链接: https://pan.baidu.com/s/1Vaq4unEAwUNkHOJ0CWCGng 提取码: 4fqc
2.安装
1)上传压缩包
2)解压canal
tar -zxvf canal.adapter-1.1.4.tar.gz
3.配置
1)配置 conf/application.yml
server:port: 8081
spring:jackson:date-format: yyyy-MM-dd HH:mm:sstime-zone: GMT+8default-property-inclusion: non_null
canal.conf:mode: tcpcanalServerHost: 127.0.0.1:11111batchSize: 500syncBatchSize: 1000retries: 0timeout:accessKey:secretKey:srcDataSources:defaultDS:url: 此处配置连接数据库的地址username: 用户名password: 密码canalAdapters:- instance: examplegroups:- groupId: g1outerAdapters:- name: logger- name: eshosts: 192.168.100.41:9200properties:mode: restcluster.name: test #节点名称
2)配置 conf/es/***.yml
根据需要同步的数据库表进行配置,索引名称需要与文件名一致
以下为open_user表的同步配置
配置 open_user.yml
dataSourceKey: defaultDS #此配置为application.yml 的key
destination: example #此配置为canal的name
groupId: g1
esMapping:_index: open_user_type: _doc_id: _idsql: "SELECT u.id AS _id,u.user_name AS userName,u.sex,u.portrait,u.create_time as createTime FROM open_user u"commitBatch: 3000
4.启动
./bin/startup.sh
五.全量同步
1.添加索引
打开 kibana
地址:http://192.168.100.41:5601
2.导入数据
直接调用canal-adapter的Rest API:如下:
curl -X POST http://127.0.01:8081/etl/es/*.yml (*为索引和es下的文件夹的名称)
3.测试同步MySQL
1)查看 adapter.log 日志
cd /home/canaladapter/logs/adapter/tail -200f adapter.log
2)修改数据库 open_user 表中的数据
update open_user set user_name = 'abc' where id = 4
2020-09-24 10:12:01.663 [pool-3-thread-1] INFO c.a.o.canal.client.adapter.logger.LoggerAdapterExample - DML: {"data":[{"id":4,"user_name":"abc","sex":1,"portrait":"","create_time":1600307267000}],"database":"test","destination":"example","es":1600913520000,"groupId":null,"isDdl":false,"old":[{"user_name":"abcd"}],"pkNames":["id"],"sql":"","table":"open_user","ts":1600913521501,"type":"UPDATE"}
2020-09-24 10:12:01.667 [pool-3-thread-1] DEBUG c.a.otter.canal.client.adapter.es.service.ESSyncService - DML: {"data":[{"id":4,"user_name":"abc","sex":1,"portrait":"","create_time":1600307267000}],"database":"test","destination":"example","es":1600913520000,"groupId":null,"isDdl":false,"old":[{"user_name":"abcd"}],"pkNames":["id"],"sql":"","table":"open_user","ts":1600913521663,"type":"UPDATE"}
Affected indexes: open_user
六.注意事项
1.使用canal-adapter 需要查看版本对应,es6 与es7 相差较大。
2.使用canal-adapter 需要在es中提前使用mappings建立索引结构,否则无法同步
canal deployer+canal adapter自动同步MySQL数据到ElasticSearch相关推荐
- 使用canal实时同步MySQL数据到Elasticsearch
使用canal实时同步MySQL数据到Elasticsearch 搭建环境 安装 elasticsearch 安装 kibana 下载和安装canal 1.下载canal 2.配置MySQL 3.配置 ...
- 使用canal同步MySQL数据到Elasticsearch(ES)
目录 1.功能及使用场景 1.1.功能介绍 1.2.使用场景 2.需求引入 3.canal文件下载及准备 3.1 下载文件 3.2 准备文件 4.deployer安装及效果测试 4.1.deploye ...
- Logstash 安装及简单实用(同步MySql数据到Elasticsearch)
Logstash是一款轻量级的日志搜集处理框架,可以方便的把分散的.多样化的日志搜集起来,并进行自定义的处理,然后传输到指定的位置,比如某个服务器或者文件 Windows环境: 1.下载logstas ...
- logstash同步mysql数据到elasticsearch,动态模板
后台运行logstash Last login: Thu Jul 23 17:50:26 2020 [root@localhost ~]# nohup /home/essoft/logstash-6 ...
- 【Elasticsearch】推荐一个同步Mysql数据到Elasticsearch的工具
1.概述 转载:https://elasticsearch.cn/article/756
- Logstash同步mysql数据
Logstash同步mysql数据到ElasticSearch 1.安装logstash 下载logstash,解压压缩包 下载地址:https://www.elastic.co/downloads/ ...
- 利用Canal全量/增量同步mysql数据至ES
Canal同步mysql数据至ES 1.更改Mysql配置 1.1 开启 Binlog 写入功能 配置 binlog-format 为 ROW 模式,配置my.cnf [mysqld] log-bin ...
- Elasticsearch7.9集群部署,head插件,canal同步mysql数据到es,亲自测试,无坑
Elasticsearch集群部署 1.服务器规划 10.4.7.11 node1 10.4.7.12 node2 10.4.7.13 node3 1. 集群相关 一个运行中的 Elastics ...
- Elasticsearch安装及自动同步mysql数据库数据
2019独角兽企业重金招聘Python工程师标准>>> Elasticsearch安装及自动同步mysql数据库数据 1 环境: CentOS 6.4 x64 ...
最新文章
- 字节跳动Java岗面试题;java帮助文档手机版
- 医失眠灵验方--五味子50g 茯神50g 合欢花15g 法半夏15g
- Linux 下qt 程序打包发布(使用linuxdelpoyqt ,shell 脚本)
- hdu 5451 Best Solver 矩阵循环群+矩阵快速幂
- dig+host+nslookup 域名解析命令
- Vant 1.6.11 发布,有赞轻量级移动端 Vue 组件库
- 【网络通信与信息安全】之深入分析一个TCP连接可以发多少个HTTP请求相关问题
- 如何在SAP Cloud Platform上进行第一个integration flow开发
- What is the difference between BTD and Q35
- mysql查最大字符串
- Window7无法访问 Window server 2008 R2文件服务器的共享
- 轻松看懂机器学习十大常用算法 - 基础知识
- python四级中考有用的_一位中考生家长的后悔药:考前30多天,千万别做这7件傻事...
- 本地访问网站好使外网不好用 可能是防火墙端口
- java sqlserver 分页_java+sqlserver 使用分页存储过程
- IS-IS报文格式分析
- Unity基础——刚体
- Clouda开发笔记
- irq_desc操作
- LINUX——正则表达式