mysql 同步 es_mysql准实时同步数据到Elasticsearch

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

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

6752f048e149e344fa7db25fb040dc75.png安装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

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

如下图所示

78d778d6cf095066f14af3a43dae911d.png

建表语句(其中updatetime用于记录数据更新时间戳):6. 配置Logstash作业文件

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

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

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

5b76f99ac7b86c6bd201c07b75f640de.png之后每分钟会去MySQL中刷新数据

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

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

072b9c46174c20e08f6596773cfd2715.png红框内的employee即我们在配置文件中指定的索引名,说明ES中的索引已经被成功创建。8. 结果验证

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

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

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值