mysqlデータをES 6に同期する.4(全量+増分)
3010 ワード
インストールパッケージをダウンロードするときに、指定したフォルダにダウンロードすることに注意します.ここではOPTフォルダの次に置きます.logstashをインストールしてoptフォルダに入ります.端末を開いて、次のコマンドwget-cを実行します.https://artifacts.elastic.co/downloads/logstash/logstash-6.4.0.zipプラス-cサポートブレークポイント続伝2:解凍logstashunzip logstash-6.4.0.zip 3:logstash binディレクトリcd logstash-6.4に入ります.0/bin 4:logstash-jdbc./をインストールlogstash-plugin install logstash-input-jdbc 5:プロファイル(jdbc.sqlとjdbc.confを作成し、binディレクトリの下vim jdbc.confを推奨する)6:まずbinディレクトリの下にmysqlディレクトリを新規作成し、jdbcを含む.conf,jdbc.sqlファイル、mysqlのドライバjdbcを追加conf内容:
jdbc.sqlには直接sql文を書けばいいです
全量同期sql文はtestidを書かない増分同期にwhere条件where testid>:sql_last_value 7:インポートを開始します(rootアカウントで起動する必要があります).logstash -f mysql/jdbc.conf
input {
stdin {
}
jdbc {
# , , SSL ,
jdbc_connection_string => "jdbc:mysql:// : / ?characterEncoding=UTF-8&useSSL=false&autoReconnect=true"
#
jdbc_user => " "
jdbc_password => " "
# ,
jdbc_driver_library => "mysql/mysql-connector-java-5.1.45-bin.jar"
#
jdbc_driver_class => "com.mysql.jdbc.Driver"
jdbc_paging_enabled => "true"
jdbc_page_size => "50000"
#
codec => plain { charset => "UTF-8"}
# ,
use_column_value => true
#
tracking_column => testid
record_last_run => true
# sql_last_value ,
last_run_metadata_path => "mysql/station_parameter.txt"
jdbc_default_timezone => "Asia/Shanghai"
statement_filepath => "mysql/jdbc.sql"
# last_run_metadata_path ,
clean_run => false
# , ,
schedule => "* * * * *"
type => "jdbc"
}
}
filter {
json {
source => "message"
remove_field => ["message"]
}
}
output {
elasticsearch {
# Elasticsearch
hosts => "192.168.105.180:9200"
# Elasticsearch
index => "db_anytest"
# ( )
document_type => "table_anytest"
# ( )
document_id => "%{testid}"
}
stdout {
# JSON
codec => json_lines
}
}
jdbc.sqlには直接sql文を書けばいいです
全量同期sql文はtestidを書かない増分同期にwhere条件where testid>:sql_last_value 7:インポートを開始します(rootアカウントで起動する必要があります).logstash -f mysql/jdbc.conf