elasticsearch学习篇之三数据的导入

之前讲了elasticsearch索引的创建,索引创建成功之后,数据如何导入elasticsearch中,下面将介绍建数据从数据库导入elasticsearch中。
我们可以利用logstash的logstash-input-jdbc插件实现mysql增量导入ES
下面链接为源码地址 : https://github.com/logstash-plugins/logstash-input-jdbc
logstash-input-jdbc插件的安装这里不做过多介绍,可以查看官方文档
在进入logstash的安装目录下创建文件命名为su.conf,名称可以自定义
以下为su.conf配置文件中的内容

input {
stdin {
}
jdbc {
# mysql jdbc connection string to our backup databse mysql 地址 用户名 密码
jdbc_connection_string => “jdbc:mysql://svn.quba360.com:3306/production_stockunlimited”
jdbc_user => “root”
jdbc_password => “feng”

# the user we wish to excute our statement as

# the path to our downloaded jdbc driver jdbc mysql 驱动的路径,
jdbc_driver_library =>
“/usr/logstash/jdbc-lib/mysql-connector-java-5.1.44-bin.jar” # the
name of the driver class for mysql驱动类的名字,mysql 填 com.mysql.jdbc.Driver
就好了 jdbc_driver_class => “com.mysql.jdbc.Driver”
jdbc_paging_enabled => “true” jdbc_page_size => “50”

statement_filepath => “/usr/logstash/jdbc.sql”

要执行的 sql,以 “:” 开头是定义的变量,可以通过 parameters 来设置变量,这里的 sql_last_value
是内置的变量,表示上一次 sql 执行中 update_time 的值,这里 update_time 条件是 >=
因为时间有可能相等,没有等号可能会漏掉一些增量

statement => “select * from es_test WHERE id > :sql_last_value”
schedule => “20 * * * *” #执行 sql 时机,类似 crontab 的调度“ 分 时 日 月 周”
use_column_value => true #使用递增列的值 tracking_column => “id” #递增字段的名称
tracking_column_type => “numeric” #递增字段的类型,numeric 表示数值类型, timestamp
表示时间戳类型 clean_run => true } }

filter {
json {
source => “message”
remove_field => [“message”]
} }

output {
elasticsearch {
hosts => [“47.98.118.214:9200”] #es 集群地址
index => “su_test”
document_id => “%{id}”
}
stdout {
codec => json_lines
} }

在cmd窗口中进入 logstash的安装目录输入 bin/logstash -f su.conf

之后数据将导入es中,需要定时导入在配置文件中都有说明

特别注意点

  • mysql数据导入es中的时候报错 Logstash could not be started because there is
    already another instance using the configured data directory. If you
    wish to run multiple instances, you must change the “path.data”
    setting. 原因 必须指定数据存放路径

    bin/logstash -f su.conf –path.data=/root/

    /root/ : 表示你要指定数据存放的路径

    或者删除原来指定数据文件夹下的文件删除

发布了7 篇原创文章 · 获赞 0 · 访问量 4813
展开阅读全文

没有更多推荐了,返回首页

©️2019 CSDN 皮肤主题: 大白 设计师: CSDN官方博客

分享到微信朋友圈

×

扫一扫,手机浏览