【播資訊】ElasticSearch的災(zāi)備同步方案

2022-12-13 18:09:05 來(lái)源:51CTO博客


(資料圖)

為了避免ElasticSearch發(fā)生意外情況發(fā)生,導(dǎo)致數(shù)據(jù)丟失或者整個(gè)集群不能提供服務(wù),所以對(duì)存儲(chǔ)的數(shù)據(jù)進(jìn)行災(zāi)備是在使用ElasticSearch過(guò)程中,必不可少的重要環(huán)節(jié)。

主要分享低代碼、微服務(wù)、容器化、SAAS?、系統(tǒng)架構(gòu)方面的的?內(nèi)容??,希望?大家?點(diǎn)贊?,評(píng)論,關(guān)注?。

?

為了避免ElasticSearch發(fā)生意外情況所以對(duì)存儲(chǔ)的數(shù)據(jù)進(jìn)行災(zāi)備是在使用ElasticSearch過(guò)程中,必不可少的重要環(huán)節(jié),通過(guò)快照快照進(jìn)行本地或者分布式備份,ElasticSearch支持多種存儲(chǔ),可以適應(yīng)與各種場(chǎng)景下的數(shù)據(jù)災(zāi)備需求,并在意外發(fā)生后及時(shí)的數(shù)據(jù)還原,持續(xù)化的提供ElasticSearch服務(wù)能力。工作流程圖為了多集群共享數(shù)據(jù),所以需要?jiǎng)?chuàng)建分布式存儲(chǔ)倉(cāng)庫(kù),可以支持NFS、S3,同時(shí)需要設(shè)置ElasticSearch對(duì)應(yīng)用戶的權(quán)限第一次ElasticSearch數(shù)據(jù)備份是全量備份,再次備份則是增量備份,可以根據(jù)業(yè)務(wù)具體設(shè)置增量時(shí)間間隔。如果出現(xiàn)ElasticSearch出現(xiàn)問(wèn)題,可以用鏡像數(shù)據(jù)進(jìn)行還原,同時(shí)如果也可以在另一個(gè)集群實(shí)時(shí)還原增量數(shù)據(jù),以便出現(xiàn)故障時(shí)及時(shí)切換。涉及到的elasticsearch.yml配置文件的主要配置項(xiàng)
cluster.name: "BoCloud_cluster"node.name: master_1node.master: truehttp.port: 9200path.repo: /mount/elasticsearch/datatransport.tcp.port: 9300discovery.seed_hosts: ["dc_es1","dc_es2","dc_es3"]cluster.initial_master_nodes: ["dc_es1","dc_es2","dc_es3"]
path.repo 需要設(shè)置倉(cāng)庫(kù)地址,進(jìn)行數(shù)據(jù)存儲(chǔ)是需要在改目錄下,支持nfs、s3、hdfs。在創(chuàng)建倉(cāng)庫(kù)前一定要設(shè)置好倉(cāng)庫(kù)地址涉及到主要操作=創(chuàng)建倉(cāng)庫(kù)
POST _snapshot/es_snapshot_202205{  "type": "fs",  "settings": {    "location": "/mount/elasticsearch/data",    "compress": true  }}
es_snapshot_202205 倉(cāng)庫(kù)名稱type 文件類型compress 是否啟用壓縮創(chuàng)建鏡像
PUT /_snapshot/es_snapshot_202205/snapshot_log?wait_for_completion=true{    "indices": "access_log"}
snapshot_log 鏡像名稱wait_for_completion 是否等待快照保存結(jié)束時(shí)才會(huì)返回結(jié)果。反之異步返回結(jié)果indices 設(shè)置要備份的索引,也可以不設(shè)置備份全部索引數(shù)據(jù)數(shù)據(jù)還原&全量還原
POST /_snapshot/es_snapshot_202205/snapshot_log/_restore
恢復(fù)snapshot_log鏡像中的索引及數(shù)據(jù),注意如果集群中已有快照的索引那就會(huì)報(bào)索引已存在的錯(cuò)誤。所以在數(shù)據(jù)還原時(shí)需要確認(rèn)是否存在同名的索引數(shù)據(jù)還原&部分索引還原
POST /_snapshot/es_snapshot_202205/snapshot_log/_restore{  "indices": "access_log",  "ignore_unavailable": true,  "include_global_state": false,                "rename_pattern": "access_log",  "rename_replacement": "restored_access_log",  "include_aliases": false}
ignore_unavailable false表示當(dāng)缺少access_log索引時(shí)報(bào)錯(cuò)include_global_state false 將還原快照中的所有數(shù)據(jù)流和索引,但不還原群集狀態(tài)include_aliases 是否需要恢復(fù)別名,true恢復(fù),false不恢復(fù)別名實(shí)施建議快照名稱帶有日期時(shí)間,鏡像文件管理恢復(fù)數(shù)據(jù)之前保證恢復(fù)的索引在當(dāng)前ElasticSearch中沒(méi)有創(chuàng)建,否則會(huì)恢復(fù)失敗可以使用定時(shí)任務(wù)根據(jù)業(yè)務(wù)需求進(jìn)行定時(shí)執(zhí)行快照任務(wù)以保證ElasticSearch數(shù)據(jù)的可靠性

主要分享低代碼、微服務(wù)、容器化、SAAS?、系統(tǒng)架構(gòu)方面的的?內(nèi)容??,希望?大家?點(diǎn)贊?,評(píng)論,關(guān)注?。

標(biāo)簽: 重要環(huán)節(jié) 必不可少 時(shí)間間隔

上一篇:要聞速遞:QT實(shí)現(xiàn)動(dòng)態(tài)曲線
下一篇:容器指南之自定義 jira 容器鏡像