elasticsearch5.6.0 logstash数据导入工具

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/lixin2151408/article/details/78275166

最近因业务需求,需要一个能装十亿数据量以上的数据库,外加快速查询;

首先看到了elasticsearch;

需注意:

1、ES5*以上版本需要jdk1.8

2、5以上版本安装head需要安装nodegrunt


安装logstash

前提:安装下载ruby,准备oracle-jdbc包

解压logstash压缩包,解压后,下载安装logstash的插件logstash-input-jdbc

执行安装命令./logstash-plugin.bat install logstash-input-jdbc 

静等一会儿,成功之后提示如下


logstash/bin文件夹下建立一个文件夹,名字你可随便起,先命名为logstash_jdbc_test,创建两个文件jdbc.conf,ql_xz.sql(导入ql_xz)

Jdbc.conf 文件如下:

 
 

input {     stdin {     }     jdbc {       # 数据库       jdbc_connection_string =>  "jdbc:oracle:thin:@localhost:1521/orcl"       # 用户名密码       jdbc_user => "bdck"       jdbc_password => "salis"       # jar包的位置       jdbc_driver_library => "D:\Elasticsearch\ojdbc6.jar"       # mysql的Driver       jdbc_driver_class => "Java::oracle.jdbc.driver.OracleDriver"       jdbc_paging_enabled => "true"       jdbc_page_size => "50000"       statement_filepath => "D:\Elasticsearch\logstash-5.6.2\bin\logstash_jdbc_test\ql_xz.sql"       #statement => "SELECT t.yhm,t.xm,t.mm,t.ssjgdm,t.ssjgmc,t.id from bdck.users t"       schedule => "* * * * *"       #索引的类型       type => "ql_xz"     } }   filter {     json {         source => "message"         remove_field => ["message"]     } }   output { elasticsearch { hosts => "localhost:9200" # index名 index => "bdck" # 需要关联的数据库中有有一个id字段,对应索引的id号 document_id => "%{qlid}" }     stdout {         codec => json_lines     } }


ql_xz表:

SELECT * from bdck.bdcs_ql_xz t

完成后,启动/bin下启动文件,./logstash.bat -f./logstash_jdbc_test/jdbc.conf 即可进行数据导入;

速度并未完全知道,因为当天实验成功后,我就让电脑自动导入我下班了,第二天来已经导入好了;

大概是250W条数据

猜你喜欢

转载自blog.csdn.net/lixin2151408/article/details/78275166