前言

​ 大多数情况下我们的数据都存放在了数据库中,但是elasticsearch他有自己的索引库,那么如果我们在做搜索的是时候就需要将数据库中的数据同步到elasticsearch中,在这里我们使用logstash的logstash-jdbc-input的插件进行与数据库的同步,对于logstash与数据库同步,我们可以设置elasticsearch与数据库同步的时间,使用这种方式进行同步还是很方便的。

logstash安装流程

下载

​ 注意下载的版本要和你的elasticsearch的版本号一致,我的版本elasticsearch5.6.12,如果是使用docker,可以先将ES启动,访问9200端口会返回显示对应的版本号的json,如下:

1
2
3
4
5
6
7
8
9
10
11
12
13
{
"name" : "Bp3Im0Z",
"cluster_name" : "elasticsearch",
"cluster_uuid" : "0y6VWmbtT-6bkCHIpItq1w",
"version" : {
"number" : "5.6.12",
"build_hash" : "cfe3d9f",
"build_date" : "2018-09-10T20:12:43.732Z",
"build_snapshot" : false,
"lucene_version" : "6.6.1"
},
"tagline" : "You Know, for Search"
}

所以我这里也下载Logstash 5.6.12

安装

Windows系统

直接解压就可以

Linux系统

以cenos7举例,进行解压

1
tar –zxvf logstash-5.6.12

Docker容器

下载镜像即可

1
docker pull logstash:5.6.12

启动

Windows系统

在解压目录下进入命令行输入命令:

1
bin/logstash -e 'input { stdin { } } output { stdout {codec=>rubydebug} }'

然后你会发现终端在等待你的输入。没问题,敲入 Hello World,回车,然后看看会返回什么结果!

Linux系统

进入bin目录,输入命令:

1
./logstash -e 'input { stdin { } } output { stdout {} }'

Docker容器

启动之前,我们需要对logstash进行配置,可以参考官方文档来进行配置:为Docker配置Logstash

这里我们使用绑定的设置文件来配置:

未完,待更新…