继上篇文章:分布式搜索引擎ElasticSearch之搜索微服务开发(四)
1 Logstash
1.1、什么是Logstash
Logstash
是一款轻量级的日志搜集处理框架,可以方便的把分散的、多样化的日志搜集
起来,并进行自定义的处理,然后传输到指定的位置,比如某个服务器或者文件。
1.2 Logstash
安装与测试
链接:https://pan.baidu.com/s/1XZjoL-zedy9aC655Bd8gMQ
提取码:mudk
提取码:mudk
解压,进入
bin
目录
输入一下命令启动:
logstash -e 'input { stdin { } } output { stdout {} }'
启动后,控制台输入字符,随后就有日志输出
stdin
,表示输入流,指从键盘输入
stdout
,表示输出流,指从显示器输出
命令行参数
:
-e
执行
--config
或
-f
配置文件,后跟参数类型可以是一个字符串的配置或全路径文件名或全路径 路径(
如:
/etc/logstash.d/
,
logstash
会自动读取
/etc/logstash.d/
目录下所有
*.conf
的文 本文件,然后在自己内存里拼接成一个完整的大配置文件再去执行)
2、MySQL数据导入Elasticsearch
(
1
)在
logstash-5.6.8
安装目录下创建文件夹
mysqletc
(名称随意)
(2)文件夹下创建mysql.conf (名称随意)
mysql.conf 内容如下:
input {
jdbc {
# mysql jdbc connection string to our backup databse
jdbc_connection_string => "jdbc:mysql://192.168.63.131:3306/tensquare_article?characterEncoding=UTF8"
# the user we wish to excute our statement as
jdbc_user => "root"
jdbc_password => "root"
# the path to our downloaded jdbc driver
jdbc_driver_library => "D:\logstash-5.6.8\mysqletc\mysql-connector-java-5.1.46.jar"
# the name of the driver class for mysql
jdbc_driver_class => "com.mysql.jdbc.Driver"
jdbc_paging_enabled => "true"
jdbc_page_size => "50"
#以下对应着要执行的sql的绝对路径。
#statement_filepath => ""
statement => "SELECT id,title,content,state from tb_article"
#定时字段 各字段含义(由左至右)分、时、天、月、年,全部为*默认含义为每分钟都更新(测试结果,不同的话请留言指出)
schedule => "* * * * *" #一分钟更新
}
}
output {
elasticsearch {
#ESIP地址与端口
hosts => "127.0.0.1:9200"
#ES索引名称(自己定义的)
index => "zhao588_article"
#自增ID编号
document_id => "%{id}"
document_type => "article"
}
stdout {
#以JSON格式输出
codec => json_lines
}
}
(3)将
mysql
驱动包
mysql-connector-java-5.1.46.jar
拷贝至
D:/logstash-
5.6.8/mysqletc/
下 。
D:/logstash-5.6.8
是你的安装目录
链接:https://pan.baidu.com/s/1sDP_giwwye_8CvR3V5jLEQ
提取码:mhem
提取码:mhem
(4)命令行下执行
logstash -f ../mysqletc/mysql.conf
一分钟后,MySQLElasticsearch同步到同步成功
再次刷新elasticsearch-head的数据显示,看是否也更新了数据。 已成功!!!