Mysql数据实时同步Elasticsearch
- Maxwell:实时监控mysql binlog,将改变的数据写入文件;
- filebeat:实时监控文件,将改变的文件数据写入elasticsearch;
- elasticsearch:存储数据;
- kibana:查询写入数据;
实现方法:
通过maxwell实时监控mysql binlog文件,将变更的数据写入某个.log文件内,再通过filebeat监控.log文件,将.log文件变更的数据写入es,最后通过kibana页面展示查看;
启动maxwell及配置说明:
根据maxwell安装文档,启动maxwell将变更的数据写入home目录下的maxwell.log
bin/maxwell --user=‘maxwell’ --password=‘XXXXXX’ --host=‘127.0.0.1’ > /home/maxwell.log
启动filebeat及配置说明:
配置filebeat输入,监控home/目录下说有.log文件输入,配置输出到elasticsearch
创建文件vim filebeat_es.yml 增加以下配置
filebeat.prospectors:
- input_type: log
paths:- /home/*.log
output.elasticsearch:
hosts: [“localhost:9200”]
启动filebeat指定配置文件 ./filebeat -e -c filebeat_es.yml
启动elasticsearch:
切换到elasticsearch目录下
切换用户 su esuser
启动服务 bin/elasticsearch
启动Kibana及使用说明:
Kibana安装bin目录下执行./kibana启动kibana
IP:5601访问kibana页面查看数据,示例:环境没有启动就随便打开了个图
组件安装地址: