1. 程式人生 > >MySQL資料以全量和增量方式,同步到ES搜尋引擎

MySQL資料以全量和增量方式,同步到ES搜尋引擎

一、配置詳解

場景描述:MySQL資料表以全量和增量的方式向ElasticSearch搜尋引擎同步。

1、下載內容

  • elasticsearch 版本 6.3.2
  • logstash 版本 6.3.2
  • mysql-connector-java-5.1.13.jar

2、核心配置

  • 路徑:/usr/local/logstash
  • 新建配置目錄:sync-config

1)、配置全文

/usr/local/logstash/sync-config/cicadaes.conf

input {
    stdin {}
    jdbc {
        jdbc_connection_string => "jdbc:mysql://127.0.0.1:3306/cicada?characterEncoding=utf8"
        jdbc_user => "root"
        jdbc_password => "root123"
        jdbc_driver_library => "/usr/local/logstash/sync-config/mysql-connector-java-5.1.13.jar"
        jdbc_driver_class => "com.mysql.jdbc.Driver"
        jdbc_paging_enabled => "true"
        jdbc_page_size => "50000"
        jdbc_default_timezone => "Asia/Shanghai"
        statement_filepath => "/usr/local/logstash/sync-config/user_sql.sql"
        schedule => "* * * * *"
        type => "User"
        lowercase_column_names => false
        record_last_run => true
        use_column_value => true
        tracking_column => "updateTime"
        tracking_column_type => "timestamp"
        last_run_metadata_path => "/usr/local/logstash/sync-config/user_last_time"
        clean_run => false
    }
    jdbc {
        jdbc_connection_string => "jdbc:mysql://127.0.0.1:3306/cicada?characterEncoding=utf8"
        jdbc_user => "root"
        jdbc_password => "root123"
        jdbc_driver_library => "/usr/local/logstash/sync-config/mysql-connector-java-5.1.13.jar"
        jdbc_driver_class => "com.mysql.jdbc.Driver"
        jdbc_paging_enabled => "true"
        jdbc_page_size => "50000"
        jdbc_default_timezone => "Asia/Shanghai"
        statement_filepath => "/usr/local/logstash/sync-config/log_sql.sql"
        schedule => "* * * * *"
        type => "Log"
        lowercase_column_names => false
        record_last_run => true
        use_column_value => true
        tracking_column => "updateTime"
        tracking_column_type => "timestamp"
        last_run_metadata_path => "/usr/local/logstash/sync-config/log_last_time"
        clean_run => false
    }
}
filter {
    json {
        source => "message"
        remove_field => ["message"]
    }
}
output {
    if [type] == "User" {
        elasticsearch {
            hosts => ["127.0.0.1:9200"]
            index => "cicada_user_search"
            document_type => "user_search_index"
        }
    }
    if [type] == "Log" {
        elasticsearch {
            hosts => ["127.0.0.1:9200"]
            index => "cicada_log_search"
            document_type => "log_search_index"
        }
    }
}

2)、SQL檔案

  • user_sql.sql
SELECT
	id,
	user_name userName,
	user_phone userPhone,
	create_time createTime,
	update_time updateTime
FROM c_user
WHERE update_time > : sql_last_value
  • log_sql.sql
SELECT
	id,
	param_value paramValue,
	request_ip requestIp,
	create_time createTime,
	update_time updateTime
FROM c_log
WHERE update_time > : sql_last_value

3)、配置引數說明

  • input引數
statement_filepath:讀取SQL語句位置
schedule :這裡配置每分鐘執行一次
type :型別,寫入ES的標識
lowercase_column_names :欄位是否轉小寫
record_last_run :記錄上次執行時間
use_column_value :使用列的值
tracking_column :根據寫入ES的updateTime欄位區分增量資料
tracking_column_type :區分的欄位型別
  • output引數
hosts :ES服務地址
index :Index名稱,類比理解資料庫名稱
document_type :Type名稱,類比理解表名稱

3、啟動程序

/usr/local/logstash/bin/logstash  
-f  
/usr/local/logstash/sync-config/cicadaes.conf

二、ES客戶端工具

1、下載軟體

kibana-6.3.2-windows-x86_64

2、修改配置

kibana-6.3.2-windows-x86_64\config\kibana.yml

新增配置:

elasticsearch.url: "http://127.0.0.1:9200"

3、雙擊啟動

kibana-6.3.2-windows-x86_64\bin\kibana.bat

4、訪問地址

http://localhost:5601

三、原始碼地址

GitHub·地址
https://github.com/cicadasmile/linux-system-base
GitEE·地址
https://gitee.com/cicadasmile/linux-system-base

相關推薦

MySQL資料增量方式同步ES搜尋引擎

一、配置詳解 場景描述:MySQL資料表以全量和增量的方式向ElasticSearch搜尋引擎同步。 1、下載內容 elasticsearch 版本 6.3.2 logstash 版本 6.3.2 mysql-connector-java-5.1.13.jar 2、核心配置 路徑:/usr/local

Elasticsearch使用Logstash-input-jdbc同步mysql資料增量

作者:camelcanoe 來源:CSDN 原文:https://blog.csdn.net/camelcanoe/article/details/79759376 版權宣告:本文為博主原創文章,轉載請附上博文連結! 專案中用到elasticsearch,初始化資料時時寫的程式從資

Elasticsearch使用Logstash-input-jdbc同步mysql資料增量)(windows)

專案中用到elasticsearch,初始化資料時時寫的程式從資料庫裡面查詢出來,然後多執行緒往elasticsearch裡面寫入的。今天試了一下Logstash-input-jdbc外掛,發現高效又方便,而且可以設定定時任務。1、安裝外掛在logstash的bin目錄下執行

[MySQL] innobackupex線上備份及恢復(增量

Xtrabackup是由percona開發的一個開源軟體,它是innodb熱備工具ibbackup(收費的商業軟體)的一個開源替代品。Xtrabackup由個部分組成:xtrabackup和innobackupex,其中xtrabackup工具用於備份innodb和 xtr

(一)solr 7.31版本window系統全程安裝搭建涵蓋專案用到的大部分配置常用查詢solr多條件查詢、排序配置資料庫定時同步增量更新使用solrJ在java程式進行增刪改查

前言:由於專案最近在做淘寶客商品資訊查詢這一塊,做搜尋引擎,離不開全文搜尋伺服器,我這裡選擇了solr。solr的好處可以自行百科,這裡主要是講解技術。這篇文章主要講解window的安裝和使用。若大家感興趣或者專案用到,希望你能跟著我的步驟進行下去,如果遇到問題,可以後續看下我在最底下的問題

安全的web服務器——使用mysqldumpmysqlbinlog實現MySQL增量備份

ted l數據庫 pos web服務 max 教程 sudo osi 所有 1.環境 系統是Deepin15.6,數據庫的版本號是: Server version: 5.7.18-1 (Debian) 數據庫引擎是:InnoDB。如何查看數據庫版本和數據庫引擎呢? 終端

solr配置定時增量同步索引mysql資料

篇文章中講了如何下載solr、安裝solr、啟動、增加中文分詞器、簡單查詢等傳送門,這篇文章我們來配置solr定時全量和增量同步mysql資料。 1、先看資料庫表 2、開啟E:\solrHome\core1\conf資料夾下的data-config.xml檔案,這個檔

solr5.5配置定時增量同步索引mysql資料

上篇文章中講了如何下載solr、安裝solr、啟動、增加中文分詞器、簡單查詢等傳送門,這篇文章我們來配置solr定時全量和增量同步mysql資料。 1、先看資料庫表 2、開啟E:\solrHome\core1\conf資料夾下的data-config.xml檔案,這個檔案

關於Subversion主從備份方式的調整(增量腳本)更新

關於 是否 incr times ext style 否則 ges sla 本文引用於http://blog.chinaunix.net/uid-25266990-id-3369172.html 之前對Subversion服務器作了遷移,關於SVN的架構也走了調整,有單一的

MySQL定時備份(備份+增量備份)

參考 zone7_ 的 實戰-MySQL定時備份系列文章 說明 產品上線後,資料非常非常重要,萬一哪天資料被誤刪,那麼就gg了,準備跑路吧。 所以要對線上的資料庫定時做全量備份和增量備份。 增量備份的優點是沒有重複資料,備份量不大,時間短。但缺點也很明顯,需要建立在上次完全備份及完全備份之後所有的增量才

Others-大資料平臺Lambda架構淺析(計算+增量計算)

大資料平臺Lambda架構淺析(全量計算+增量計算) 2016年12月23日 22:50:53 scuter_victor 閱讀數:1642 標籤: spark大資料lambda 更多

Mysql備份(+增量+恢復)方案操作記錄

1、開啟mysql的binlog日誌&檢視$備份 2、shell指令碼 mysqldump 變數說明 --all-databases針對所有資料庫進行備份  --databases databasename 針對單個數據庫進行備份 --flush-logs為結束當前

MySQL資料庫之+增量+二進位制日誌的備份與恢復

一、簡介資料的備份與恢復 1、為什麼備份? 災難恢復:人為錯誤、硬體故障(冗餘)、軟體故障(bug)、自然災害、黑客攻擊、誤操作、…; 測試; 2、備份時應該注意些什麼? 能容忍最多丟失多少資料; 恢復資料需要在多長時間內完成; 需要恢復哪些資料;

mysql 備份與恢復(增量)

全量備份使用自帶的mysqldump命令備份命令mysqldump -u[username] -p[password]  [database] [table] > backup.sql恢復命令mysql -u[username] -p[password] [database] &l

MySQL自動化(+增量)備份指令碼

文章轉自:http://www.it-hack.cn/forum.php?mod=viewthread&tid=220&extra=page%3D1一、MySQL的日常備份方案:全備+增量備份:1、週日凌晨三點進行全備;2、週一到週日增量備份。不是往常的週日全備份,週一到週六增量備份,這樣如果

Solr之Mysql資料庫增量同步-yellowcong

Solr和資料庫進行資料的同步,1、配置solrconfig.xml,2、配置data-config.xml,3.配置資料庫(建立表和新增遠端訪問許可權),4.配置schema.xml,5、新增jar包,6.系統時間和mysql時間同步,這樣dataimp

xtrabackup增量備份恢復mysql數據庫

多少 prepare crypt seq shutdown info 備份恢復 NPU locked 一. 全量備份恢復: 查看原表內容: MariaDB [(none)]> select * from testdb.students; +----+-------

shell腳本介紹shell腳本結構執行方式date命令的用法shell腳本中的變簡介

linux 操作系統 centos shell腳本 筆記內容:20.1 shell腳本介紹20.2 shell腳本結構和執行20.3 date命令用法20.4 shell腳本中的變量筆記日期:2017-11-2120.1 shell腳本介紹 Shell Script,Shell腳本與Wind

oracle增量備份

conf dev form oba home targe let alloc script 采用0221222增量備份策略,7天一個輪回 也就是周日0級備份,周1 2 4 5 6 采用2級增量備份,周3采用1級增量備份 打開控制文件自動備份 CONFIGURE CONTRO

看完你就理解什麽是數據的增量、差異備份了

-a 在一起 image 所有 play raw class 完整 splay 在很遠很遠的地方,有一個帳房先生。 他每天要記很多很多的賬單。 老先生一生謹慎,為了保證賬本的安全, 便找來三個徒弟幫忙來對賬本做備份, 這樣即使賬本丟失了, 也可以用備份的賬本繼續使用。