logstash将mysql数据导入es

1、logstash简介

Logstash 是开源的服务器端数据处理管道,能够同时从多个来源采集数据,转换数据,然后将数据发送到指定的存储位置(可以使es、json、mysql等)。本文主要介绍mysql数据导入ElasticSearch

2、下载并安装logstash

官网下载地址:https://www.elastic.co/downloads/past-releases#

将文件下载后上传到服务器解压即可

测试发现logstash和es版本之间的兼容要求并不严苛,本人安装的es5.5,但使用logstash6.6可以将数据导入

3、下载mysql的连接包

下载版本(自定义):mysql-connector-java-5.1.45.jar

下载地址:https://mvnrepository.com/artifact/mysql/mysql-connector-java/5.1.45

将jar下载后上传到服务器任意目录下,

4、编写导入脚本(input_mysql.conf)并上传

 

input{
	stdin{
	}
	jdbc{
                #数据库连接地址
		jdbc_connection_string => "jdbc:mysql://10.18.100.57:3306/eco"
		jdbc_user => "eco" #用户名
		jdbc_password => "Eco2019@"
                #mysql连接的jar包
		jdbc_driver_library => "/home/elastic/es/logstash-6.6.1/plugins/mysql-connector-java-5.1.45.jar"
		jdbc_driver_class => "com.mysql.jdbc.Driver"
		jdbc_paging_enabled => "true"
		jdbc_page_size => "50000"
		statement => "select * from eco_mnt_air_monitor"
		schedule => "* * * * *"
                #es的type名
		type => "supermap"
	}
}
 
output{
	elasticsearch{
                #es集群地址
		 hosts => ["10.18.101.52:9200","10.18.101.53:9200","10.18.101.54:9200","10.18.101.81:9200"]
               #es中数据存放的索引名
		index => "jsons"
                #定义es中主键的生成规则,沿用mysql表中的主键
		document_id => "%{id}"
		user => "elastic"
	}
}


5、执行导入脚本

    我将脚本上传到了在logstash的根目录下的config目录中

bin/logstash -f config/input_mysql.conf

 

  • 1
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值