SQLServer同步數據到ElasticSearch


window10環境下

1.中間工具:

JDK,JDBC,Logstash,ElasticSearch

JDBC:https://download.microsoft.com/download/3/7/9/379E727A-58F5-45E6-9D45-95D593399F93/sqljdbc_6.2.2.1_chs.exe

Logstash:https://artifacts.elastic.co/downloads/logstash/logstash-7.7.0.zip

ElasticSearch:官網下址https://www.elastic.co/cn/

2.JDK,JDBC,ElasticSearch安裝

略過

3.Logstash安裝與配置:jdbc.conf配置

input {
jdbc {
jdbc_driver_library => "D:\logstash-7.7.0\bin\jdbcconfig\mssql-jdbc-6.2.2.jre8.jar"
jdbc_driver_class => "com.microsoft.sqlserver.jdbc.SQLServerDriver"
jdbc_connection_string => "jdbc:sqlserver://192.168.0.135:1433;DatabaseName=test1;"
jdbc_user => "sa"
jdbc_password => "123456"
# schedule => 分 時 天 月 年
# schedule => * 22 * * * //will execute at 22:00 every day
schedule => "* * * * *"
jdbc_paging_enabled => true
jdbc_page_size => 1000
clean_run => false
use_column_value => true
#設置查詢條件的字段
tracking_column => FID
record_last_run => true
last_run_metadata_path => "D:\logstash-7.7.0\bin\jdbcconfig\FID.txt"
#設置列名小寫
lowercase_column_names => false
statement_filepath => "D:\logstash-7.7.0\bin\jdbcconfig\Load_User.sql"
#索引的類型
type => "advancelist"
}
}

output {
elasticsearch {
hosts => ["192.168.0.238:9200"]
index => "advancelist"
document_id => "%{FID}"
}
stdout {
#codec => json_lines
#設置輸出的格式
codec => line {
format => "FID: %{[FID]} FPersonName: %{[name]} FAddTime: %{[sex]}"
}
}
}
4.運行:cmd

.\logstash -f .\jdbcconfig\jdbc.conf --path.data=/jdbcconfig/
5.測試:延時在30秒左右

 

6.監控sql日志來做數據同步,是做主從,或異步查詢常用的方案,附測試使用過的Logstash:


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM