mysql数据导入到elasticsearch 需要logstash 来传输。
logstash还需要对应的数据库JDBC,这里使用的是mysql-connector-java-5.1.47.jar
https://dev.mysql.com/downloads/connector/j/5.1.html
在 logstash/config 创建mysql.conf
input {
stdin {
}
jdbc {
# 数据库
jdbc_connection_string => "jdbc:mysql://127.0.0.1:3306/tttt?characterEncoding=UTF-8&useSSL=false&zeroDateTimeBehavior=convertToNull"
# 用户名密码
jdbc_user => "abc"
jdbc_password => "123456
#jdbc_default_timezone => "UTC"
# jar包的位置
jdbc_driver_library => "/logstash/vendor/jar/jdbc/mysql-connector-java-5.1.47.jar"
# mysql的Driver
jdbc_driver_class => "com.mysql.jdbc.Driver"
jdbc_paging_enabled => "true"
lowercase_column_names => "false"
jdbc_page_size => "50000"
# statement_filepath => "config-mysql/jdbc2logstash_history.sql"
statement => "select * from newspaper"
schedule => "* * * * *"
#索引的类型
type => "operationlogs"
}
}
filter {
ruby {
code => "event.set('index_date', event.get('@timestamp').time.localtime + 8*60*60)"
}
}
output {
stdout { codec => rubydebug }
elasticsearch {
hosts => ["http://127.0.0.1:9200"]
index => "ttttttt-%{+YYYY.MM.dd}"
}
}
安装logstash插件:
bin/logstash-plugin install logstash-output-jdbc
bin/logstash-plugin install logstash-output-elasticsearch