Logstash 安裝及簡單實用(同步MySql數據到Elasticsearch)(Linux)


 

 

 

1、下載logstash

wget https://artifacts.elastic.co/downloads/logstash/logstash-6.6.0.tar.gz

 

2. 解壓logstash

tar -zxvf logstash-6.6.0.tar.gz

 

3. 在logstash 目錄創建 mysql 文件夾

[root@VM_0_17_centos logstash-6.6.0]# mkdir mysql

 

4. 將 mysql 驅動文件和數據庫查詢文件 放進mysql中

 

 

 

5. 在config 目錄下創建 mysqltoes.conf 文件

 

 

 

6. mysqltoes.conf 配置

input {
  
  # 多張表的同步只需要設置多個jdbc的模塊就行了
  jdbc {
      # mysql 數據庫鏈接,shop為數據庫名
      jdbc_connection_string => "jdbc:mysql://ip:3306/mall?characterEncoding=utf8&useSSL=false&serverTimezone=UTC&rewriteBatchedStatements=true"
      # 用戶名和密碼
      jdbc_user => "root"
      jdbc_password => ""

      # 驅動
      jdbc_driver_library => "/usr/local/logstash-6.6.0/mysql/mysql-connector-java-8.0.16.jar"

      # 驅動類名
      jdbc_driver_class => "com.mysql.jdbc.Driver"

      #是否分頁
      jdbc_paging_enabled => "true"
      jdbc_page_size => "50000"

      #直接執行sql語句
      # statement =>"select * from t_item"
      # 執行的sql 文件路徑+名稱
      statement_filepath => "/usr/local/logstash-6.6.0/mysql/item.sql"
      
      # 默認列名轉換為小寫
      lowercase_column_names => "false"

      #設置監聽間隔  各字段含義(由左至右)分、時、天、月、年,全部為*默認含義為每分鍾都更新
      schedule => "* * * * *"

      # 索引類型
      #type => "jdbc"
    }

}


output {
  elasticsearch {
        #es的ip和端口
        hosts => ["http://ip:9200"]
        #ES索引名稱(自己定義的)
            index => "mall"
        #文檔類型
        document_type => "mall_item"
        #設置數據的id為數據庫中的字段
        document_id => "%{iteId}"
    }
    stdout {
        codec => json_lines
    }

}

 

7. 啟動 logstash 

  前台啟動:

[root@VM_0_17_centos bin]# ./logstash -f ../config/mysqltoes.conf

 

  后台啟動:

[root@VM_0_17_centos bin]# nohup  ./logstash -f ../config/mysqltoes.conf >logstash.log &

 

啟動成功

 


免責聲明!

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



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