码迷,mamicode.com
首页 > 数据库 > 详细

mysql准实时同步数据到Elasticsearch

时间:2019-06-13 14:06:28      阅读:1568      评论:0      收藏:0      [点我收藏+]

标签:输入   测试数据   刷新数据   数据库   验证   频率   实时   ast   jdk8   

4. 安装JDK8、MySQL5.6驱动以及Logstash -6.0.0

ECS中分别安装JDK8、MySQL5.6驱动以及Logstash -6.0.0。如下图:

技术图片

安装Logstash input、output插件,此案例数据输入是MySQL,输出是ES,so相应的插件应该是logstash-input-jdbc和logstash-output-elasticsearch。

安装插件的命令分别是(在Logstash主目录下运行):
https://blog.51cto.com/433266/bin/logstash-plugin install logstash-input-jdbc
https://blog.51cto.com/433266/bin/logstash-plugin install logstash-output-elasticsearch
技术图片

5. MySQL中创建数据库、测试的数据表

如下图所示

技术图片
建表语句(其中updatetime用于记录数据更新时间戳):

6. 配置Logstash作业文件

ECS中创建Logstash作业配置文件,文件名为logstash-mysql-es.conf。

配置文件内容:

其中红色字体部分要做相应的替换,input中的 schedule参数用于配置数据刷新频率,schedule=> " *"表示每分钟刷新一次,这也是MySQL数据同步的最小频率。Logstash支持丰富的参数配置,详情请参考Elasitc官网文档。

7. 同步数据

ECS中指定参数启动Logstash服务,执行命令:

技术图片

之后每分钟会去MySQL中刷新数据

技术图片

RDS中写入几条测试数据,脚本如下:

由于之前在Logstash配置文件中,output部分既配置了输出到ES,同时也输出到控制台。所以当检测到MySQL中有更新时,数据会输出到控制台中,如下图:

技术图片

此时说明MySQL中的数据更新已经被Logstash推送到ES服务。通过在ECS执行命令检查ES服务中的索引是否被创建。执行命令:

技术图片

红框内的employee即我们在配置文件中指定的索引名,说明ES中的索引已经被成功创建。

8. 结果验证

通过关键字检索ES服务,验证写入Mysql的数据是否被成功索引到ES并被检索到,执行命令通过关键字“Smith “来检索数据:

技术图片

至此,MySQL中的数据已经被成功索引到Elasticsearch,并也可以被准实时的检索到。

mysql准实时同步数据到Elasticsearch

标签:输入   测试数据   刷新数据   数据库   验证   频率   实时   ast   jdk8   

原文地址:https://www.cnblogs.com/mylover2/p/11015741.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!