admin 管理员组

文章数量: 887021

前言:
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 已正常启动。

完成!!!

本文标签: 系统 Logstash Windows