天天看点

LogStash实现MySQL数据增量同步到ElasticSearch

需求的由来

在做一个项目的时候,需要一个搜索的功能,刚开始想到的是用数据库的模糊查询,但是考虑到效率的问题,于是就用了ElasticSearch(ES),但是MySQL中的数据怎么样到ES中呢,我们可能会想到,MySQL可以实现主从复制,通过binary log文件实现的,搜集了一波资料发现,LogStash可以实现这个数据同步的功能,有增量和全量,如果数据只同步一次的话,可以使用全量同步,如果数据会有更新的话,可以使用增量同步,真是nice。

安装LogStash

要用人家的功能,第一步当然是安装此利器了,直接去官网下载即可LogStash下载

LogStash实现MySQL数据增量同步到ElasticSearch

下载完之后解压,由于是要跟MySQL打交道的,当然必须要有MySQL的相关配置了,第一步在bin的同级目录下创建一个mysql目录,然后将MySQL驱动放里面即可,下载MySQL驱动

LogStash实现MySQL数据增量同步到ElasticSearch

下载完毕之后,解压,将里面的jar包拷贝到刚刚创建的mysql目录下即可。

LogStash实现MySQL数据增量同步到ElasticSearch

然后是在bin目录下创建一个logstash.conf的文件,内容如下:

启动

在启动ES的前提下,启动LogStash,在bin目录下执行命令

logstash -f logstash.conf

然后就会根据配置来进行同步数据了,会生成一个记录offset文件。

LogStash实现MySQL数据增量同步到ElasticSearch

然后通过Kibana可以进行查询到数据。

LogStash实现MySQL数据增量同步到ElasticSearch

继续阅读