一、安装Elastic Search 6.8

1.下载

Elastic Search 6.8资源下载

2.部署环境配置

  1. 创建用户(es不能使用root启动,否则报错)
adduser elastic
  1. 修改服务器配置

a)

vi /etc/sysctl.conf

添加配置

vm.max_map_count = 262144

b)

vi /etc/security/limits.conf

添加配置

*                soft    nofile          65536
*                hard    nofile          65536
  1. 查看配置
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相关推荐

  1. 使用canal实时同步MySQL数据到Elasticsearch

    使用canal实时同步MySQL数据到Elasticsearch 搭建环境 安装 elasticsearch 安装 kibana 下载和安装canal 1.下载canal 2.配置MySQL 3.配置 ...

  2. 使用canal同步MySQL数据到Elasticsearch(ES)

    目录 1.功能及使用场景 1.1.功能介绍 1.2.使用场景 2.需求引入 3.canal文件下载及准备 3.1 下载文件 3.2 准备文件 4.deployer安装及效果测试 4.1.deploye ...

  3. Logstash 安装及简单实用(同步MySql数据到Elasticsearch)

    Logstash是一款轻量级的日志搜集处理框架,可以方便的把分散的.多样化的日志搜集起来,并进行自定义的处理,然后传输到指定的位置,比如某个服务器或者文件 Windows环境: 1.下载logstas ...

  4. logstash同步mysql数据到elasticsearch,动态模板

    后台运行logstash Last login: Thu Jul 23 17:50:26 2020 [root@localhost ~]# nohup  /home/essoft/logstash-6 ...

  5. 【Elasticsearch】推荐一个同步Mysql数据到Elasticsearch的工具

    1.概述 转载:https://elasticsearch.cn/article/756

  6. Logstash同步mysql数据

    Logstash同步mysql数据到ElasticSearch 1.安装logstash 下载logstash,解压压缩包 下载地址:https://www.elastic.co/downloads/ ...

  7. 利用Canal全量/增量同步mysql数据至ES

    Canal同步mysql数据至ES 1.更改Mysql配置 1.1 开启 Binlog 写入功能 配置 binlog-format 为 ROW 模式,配置my.cnf [mysqld] log-bin ...

  8. 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 ...

  9. Elasticsearch安装及自动同步mysql数据库数据

    2019独角兽企业重金招聘Python工程师标准>>> Elasticsearch安装及自动同步mysql数据库数据 1           环境: CentOS  6.4  x64 ...

最新文章

  1. 字节跳动Java岗面试题;java帮助文档手机版
  2. 医失眠灵验方--五味子50g 茯神50g 合欢花15g 法半夏15g
  3. Linux 下qt 程序打包发布(使用linuxdelpoyqt ,shell 脚本)
  4. hdu 5451 Best Solver 矩阵循环群+矩阵快速幂
  5. dig+host+nslookup 域名解析命令
  6. Vant 1.6.11 发布,有赞轻量级移动端 Vue 组件库
  7. 【网络通信与信息安全】之深入分析一个TCP连接可以发多少个HTTP请求相关问题
  8. 如何在SAP Cloud Platform上进行第一个integration flow开发
  9. What is the difference between BTD and Q35
  10. mysql查最大字符串
  11. Window7无法访问 Window server 2008 R2文件服务器的共享
  12. 轻松看懂机器学习十大常用算法 - 基础知识
  13. python四级中考有用的_一位中考生家长的后悔药:考前30多天,千万别做这7件傻事...
  14. 本地访问网站好使外网不好用 可能是防火墙端口
  15. java sqlserver 分页_java+sqlserver 使用分页存储过程
  16. IS-IS报文格式分析
  17. Unity基础——刚体
  18. Clouda开发笔记
  19. irq_desc操作
  20. LINUX——正则表达式

热门文章

  1. 在线LaTex编辑器
  2. 展望未来~走向计算机之路
  3. 网易有数永久免费开放BI能力 普惠让技术更有温度
  4. 计算机系统维护工作内容
  5. 【unity 保卫星城】--- 开发笔记04(武器管理系统)
  6. 楞严经悬镜 明• 憨山大师 ----读记
  7. 55-经典问题分析四
  8. 扁平化风格博客——后续
  9. 西电计科数据库系统期末复习笔记
  10. ERR invalid expire time in setex