国产xxxx99真实实拍_久久不雅视频_高清韩国a级特黄毛片_嗯老师别我我受不了了小说

資訊專欄INFORMATION COLUMN

基于logstash同步mysql數(shù)據(jù)到elasticsearch

IT那活兒 / 1544人閱讀
基于logstash同步mysql數(shù)據(jù)到elasticsearch



前言



因項目需求,對現(xiàn)階段架構(gòu)做出了優(yōu)化,需要將mysql數(shù)據(jù)庫中的數(shù)據(jù)同步到elasticsearch,目前世面上能實(shí)現(xiàn)同步的工具有Canal,dataX,logstash,今天來聊聊logstash如何同步數(shù)據(jù)到elasticsearch。
Canal:通過解析mysql bin-log日志完成同步
dataX:通過sql去mysql中查詢數(shù)據(jù)轉(zhuǎn)換來完成同步
logstash:通過sql去mysql中查詢數(shù)據(jù)轉(zhuǎn)換來完成同步



同步原理



Logstash是一個開源數(shù)據(jù)收集引擎,具有實(shí)時管道功能。Logstash可以動態(tài)地將來自不同數(shù)據(jù)源的數(shù)據(jù)統(tǒng)一起來,并將數(shù)據(jù)標(biāo)準(zhǔn)化到你所選擇的目的地
Logstash同步mysql數(shù)據(jù)到elasticsearch原理是:logstash連接mysql通過定義的sql語句查出來數(shù)據(jù),在進(jìn)行轉(zhuǎn)換成json格式,然后寫入到elasticsearch,查詢過程中用一個遞增字段作為條件去查詢,每次都記錄當(dāng)前查詢的位置



準(zhǔn)備工作



1. 從官網(wǎng)下載對應(yīng)elasticsearch版本的logstash
2. 由于logstash需要連接mysql數(shù)據(jù)庫,需要從mysql官網(wǎng)下載對應(yīng)mysql版本的mysql-java連接驅(qū)動
3. 安裝完好logstash后,新建一個配置文件
配置文件內(nèi)容:
jdbc_driver_library:
mysql驅(qū)動文件路勁
jdbc_driver_class:
要加載的 JDBC 驅(qū)動程序類
jdbc_connection_string:
JDBC 連接字符串
jdbc_user:
連接mysql用戶
jdbc_password:
連接mysql密碼
record_last_run:
是否保存狀態(tài) 
last_run_metadata_path,用于記錄mysql數(shù)據(jù)同步到哪一個位置了,下一次同步,會從記錄的位置開始繼續(xù)往下同步。
use_column_value:
用于定義的 
tracking_column值用作:sql_last_value
tracking_column_type:
跟蹤列的類型,值:sql_last_value的類型
tracking_column:
需要被記錄的mysql字段
last_run_metadata_path:
需要被記錄的mysql字段存儲的路徑
statement:
查詢mysql數(shù)據(jù)的sql語句
jdbc_paging_enabled:
jdbc是否啟動分頁,會導(dǎo)致一個 sql 語句被分解成多個查詢。每個查詢將使用限制和偏移量來共同檢索完整的結(jié)果集
jdbc_page_size:
啟動了分頁后,每個分頁的大小
type:
類型,會在elasticsearch中添加一個字段
lowercase_column_names:
強(qiáng)制標(biāo)識符字段大小寫
schedule:
定時計劃,定義多久執(zhí)行一次
4. 配置好配置文件后啟動logsta,觀察日志,以及查看elasticsearch索引信息
通過日志能看到logstash已經(jīng)在執(zhí)行sql語句,并開始同步數(shù)據(jù)了



注意事項



  1. last_run_metadata_path所配置的文件很重要,被刪除了后logstash無法識別當(dāng)前記錄的值,會從頭開始同步數(shù)據(jù)

  2. 需要同步的數(shù)據(jù)量很大時,一定要啟動分頁查詢,不然會增加mysql壓力,以及elasticsearch壓力

  3. 被記錄的mysql字段值,盡量為表的主鍵id,或者對應(yīng)的時間戳,否則會導(dǎo)致數(shù)據(jù)重復(fù)寫入


END


更多精彩干貨分享

點(diǎn)擊下方名片關(guān)注

IT那活兒

文章版權(quán)歸作者所有,未經(jīng)允許請勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。

轉(zhuǎn)載請注明本文地址:http://m.specialneedsforspecialkids.com/yun/129795.html

相關(guān)文章

  • Centos8 部署 ElasticSearch 集群并搭建 ELK,基于Logstash同步MyS

    摘要:如果這不起作用,請將驅(qū)動程序移到下方,并且不要在配置文件中提供任何驅(qū)動程序路徑參考鏈接多數(shù)原因是文件渠道文件配置出錯,檢查一下管道配置文件里面的建議不要使用,會報錯誤重新配置了權(quán)限還是報錯,暫時沒找到原因,所以換了個用戶就行了Centos8安裝Docker 1.更新一下yum [root@VM-24-9-centos ~]# yum -y update 2.安裝cont...

    bang590 評論0 收藏0

發(fā)表評論

0條評論

IT那活兒

|高級講師

TA的文章

閱讀更多
最新活動
閱讀需要支付1元查看
<