使用Logstash來實時同步MySQL數據到ES


上篇講到了ES和Head插件的環境搭建和配置,也簡單模擬了數據作測試

本篇我們來實戰從MYSQL里直接同步數據

一、首先下載和你的ES對應的logstash版本,本篇我們使用的都是6.1.1

       下載后使用logstash-plugin install logstash-input-jdbc 命令安裝jdbc的數據連接插件

 

二、新增mysqltoes.conf文件,配置Input和output參數如下,連接jdbc按照規則同步指定的數據到es

       大家注意這里的配置有很多種用法,包括同步時間規則和最后更新時間的用法就不詳細展開了

input {
 stdin { }
    jdbc {
        jdbc_connection_string => "jdbc:mysql://localhost:3306/database"
 
        jdbc_user => "root"

        jdbc_password => "root"

        jdbc_driver_library => "C:/Program Files (x86)/MySQL/Connector.J 5.1/mysql-connector-java-5.1.40-bin.jar"

        jdbc_driver_class => "com.mysql.jdbc.Driver"
        
        jdbc_paging_enabled => "true"
        
        jdbc_page_size => "50000"
statement => "SELECT * FROM session"
schedule => "* * * * *" } } output { stdout { codec => json_lines } elasticsearch { hosts => "localhost:9200" index => "mainIndex" document_type => "user" document_id => "%{id}" } }

使用logstash按照conf文件執行 bin\logstash.bat -f mysqltoes.conf

注意這里可能有執行不成功的坑,主要是把配置設置好,還有文件和名稱編碼的問題  output es的配置用hosts

 

這時候我們可以看到MYSQL中的表數據已成功導入ES

 

相關文章

ElasticSearch和ElasticSearch Head環境搭建和數據模擬

使用logstash來實時同步MySQL數據

使用docker快速搭建ELK環境

使用NetCore向ES快速寫數據的設計

NetCore結合ES億級數據的實踐


免責聲明!

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



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