logstash在windows系统下的安装与使用
前言:
Logstash 是开源的服务器端数据处理管道,能够同时从多个来源采集数据,转换数据,然后将数据发送到 Elasticsearch。
ES官网:https://www.elastic.co/products/logstash
logstash下载地址:https://www.elastic.co/cn/downloads/logstash
步骤一:下载并解压
1、下载:
2、解压之后的目录如下:
步骤二:新建文件并配置导入数据源
1、在bin目录下新建.conf文件(名称随意),本博文以新建的logstash.conf文件为例:
2、修改logstash.conf(上文新建)配置文件,加入如下内容
input {
stdin {
}
jdbc {
# 配置数据库信息
jdbc_connection_string => "jdbc:mysql://localhost:3306/goods?useUnicode=true&characterEncoding=UTF-8&serverTimezone=Asia/Shanghai"
jdbc_driver_class => "com.mysql.cj.jdbc.Driver"
jdbc_user => "root"
jdbc_password => "root"
jdbc_paging_enabled => "true"
jdbc_page_size => "50000"
jdbc_default_timezone => "Asia/Shanghai"
# mysql驱动所在位置
jdbc_driver_library => "D:\maven-jar\mysql\mysql-connector-java\8.0.20\mysql-connector-java-8.0.20.jar"
#sql执行语句
statement => "SELECT * FROM zy_goods"
# 定时字段 各字段含义(由左至右)分、时、天、月、年,全部为*默认含义为每分钟都更新
schedule => "* * * * *"
# 是否将 sql 中 column 名称转小写
lowercase_column_names => false
}
}
output {
elasticsearch {
hosts => ["127.0.0.1:9200"]
index => "goods"
# 文档_id,%{goods_id}意思是取查询出来的goods_id的值,并将其映射到shop的_id字段中
# 文档_id,%{goodsId}如果是别名,意思是取查询出来的goodsId的值,并将其映射到shop的_id字段中
document_id => "%{goodsId}"
}
stdout {
codec => json_lines
}
}
步骤三:检查配置文件并启动logstash将数据导入elasticsearch
1、检查配置文件是否正确,在bin目录命令行窗口里输入:
logstash -f logstash.conf -t
Configuration OK 表示配置文件正确
2、启动logstash,在bin目录命令行窗口里输入:
logstash -f logstash.conf
启动成功之后,logstash会自动连接数据库,并将数据自动导入elasticsearch 中。
注意:导入数据前,先确保elasticsearch 已正常启动。