在之前轉(zhuǎn)載的一騰訊高級工程師《一文徹底了解Logstash》對logstach有這詳細(xì)的介紹,這里我只說明一下,將mysql中的數(shù)據(jù)使用logstash導(dǎo)入到es中,如何操作,具體步驟見下方:
下載logstash
https://artifacts.elastic.co/downloads/logstash/logstash-7.3.2.zip解壓的指定目錄在bin的同級目錄中創(chuàng)建存放mysql驅(qū)動jar的文件夾mysql拷貝mysql驅(qū)動jar包到3中的mysql文件夾中在config或bin下創(chuàng)建配置文件logstash.conf【話雖這樣說,不過我在config下并不成功】logstash.conf內(nèi)容,詳見配置文件
input {# 多張表的同步只需要設(shè)置多個jdbc的模塊就行了jdbc {# mysql 數(shù)據(jù)庫鏈接,shop為數(shù)據(jù)庫名jdbc_connection_string => "jdbc:mysql://localhost:3306/spider?useUnicode=true&characterEncoding=utf8&serverTimezone=UTC"# 用戶名和密碼jdbc_user => "root"jdbc_password => "root"# 驅(qū)動jdbc_driver_library => "D:/es/logstash-7.3.2/mysql/mysql-connector-java-5.1.6-bin.jar"# 驅(qū)動類名jdbc_driver_class => "com.mysql.jdbc.Driver"jdbc_validate_connection => "true"#是否分頁jdbc_paging_enabled => "true"jdbc_page_size => "1000"#時區(qū)jdbc_default_timezone => "Asia/Shanghai"#直接執(zhí)行sql語句statement => "select * from news where id >=:sql_last_value order by id asc"# 執(zhí)行的sql 文件路徑+名稱# statement_filepath => "/hw/elasticsearch/logstash-6.2.4/bin/test.sql"#設(shè)置監(jiān)聽間隔 各字段含義(由左至右)分、時、天、月、年,全部為*默認(rèn)含義為每分鐘都更新schedule => "* * * * *"#每隔10分鐘執(zhí)行一次#schedule => "*/10 * * * *"#是否記錄上次執(zhí)行結(jié)果, 如果為真,將會把上次執(zhí)行到的 tracking_column 字段的值記錄下來,保存到last_run_metadata_pathrecord_last_run => true#記錄最新的同步的offset信息last_run_metadata_path => "D:/es/logstash-7.3.2/logs/last_id.txt"use_column_value => true#遞增字段的類型,numeric 表示數(shù)值類型, timestamp 表示時間戳類型tracking_column_type => "numeric"tracking_column => "id"clean_run => false# 索引類型#type => "jdbc"}}output {elasticsearch {#es的ip和端口hosts => ["http://localhost:9200"]#ES索引名稱(自己定義的)index => "spider"#文檔類型document_type => "_doc"#設(shè)置數(shù)據(jù)的id為數(shù)據(jù)庫中的字段document_id => "%{id}"}stdout {codec => json_lines}
}
啟動logstash,進(jìn)入bin文件夾下,執(zhí)行:logstash -f logstash.conf
總結(jié)
以上是生活随笔為你收集整理的使用logstash将Mysql中的数据导入到ElasticSearch中(详细步骤,win_Elasticsearch)的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。