自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

自建ES集群遷移上云全攻略

云計(jì)算
本文介紹下自建ES服務(wù)遷移上云的一些遷移方案以及如何根據(jù)業(yè)務(wù)場景選取適合的遷移方案。Elasticsearch-Repository-oss插件關(guān)聯(lián)兩個(gè)集群,源集群備份數(shù)據(jù),目標(biāo)集群恢復(fù)數(shù)據(jù)(云廠商的托管ES集群默認(rèn)都安裝了oss插件),因?yàn)槭强煺漳J剑瑪?shù)據(jù)一致性得到保證,數(shù)據(jù)恢復(fù)速度也快。

業(yè)務(wù)上云過程中,勢必會涉及到企業(yè)內(nèi)部自建中間件等服務(wù)的遷移上云的需求,本文介紹下自建ES服務(wù)遷移上云的一些遷移方案以及如何根據(jù)業(yè)務(wù)場景選取適合的遷移方案

遷移方案

1、OSS快照

原理以O(shè)SS為中轉(zhuǎn)存儲介質(zhì),使用elasticsearch-repository-oss插件關(guān)聯(lián)兩個(gè)集群,源集群備份數(shù)據(jù),目標(biāo)集群恢復(fù)數(shù)據(jù)(云廠商的托管ES集群默認(rèn)都安裝了oss插件),因?yàn)槭强煺漳J?,?shù)據(jù)一致性得到保證,數(shù)據(jù)恢復(fù)速度也快

OSS遷移原理

遷移步驟拆解

源集群

  • 創(chuàng)建OSS Bucket、設(shè)置ak、sk等信息
  • 在自建集群安裝安裝elasticsearch-repository-oss插件,插件版本保證和集群版本一致
  • 為需要遷移的索引創(chuàng)建快照,并將快照備份到已創(chuàng)建的倉庫中

目標(biāo)集群

  • 使用snapshot API創(chuàng)建一個(gè)與自建Elasticsearch集群相同的快照備份倉庫
  • 將倉庫中已備份的快照恢復(fù)到目標(biāo)集群,完成數(shù)據(jù)遷移
  • 快照恢復(fù)后,查看恢復(fù)的索引和索引數(shù)據(jù)

注意事項(xiàng)

  • 這個(gè)方案的需要對原集群安裝同步插件,插件有跨度過大版本兼容性問題,版本兼容性可以看插件說明文檔
  • 原集群備份是支持增量的,速度比較快;目標(biāo)集群恢復(fù)是全量恢復(fù),不支持增量,即目標(biāo)集群每次恢復(fù)是先創(chuàng)建索引,在恢復(fù)數(shù)據(jù)(目標(biāo)集群不能出現(xiàn)同名索引,否則恢復(fù)任務(wù)會失?。?/li>
  • OSS備份的是主分區(qū)的數(shù)據(jù),恢復(fù)過程也是主分區(qū)數(shù)據(jù),副本分片的數(shù)據(jù)恢復(fù)是集群內(nèi)部恢復(fù)邏輯。即:恢復(fù)任務(wù)完成時(shí),是不包括副本數(shù)據(jù)恢復(fù)時(shí)間的。如果索引配置了寫一致性,需要等副本也恢復(fù)完成才能寫入成功

2、logstash

原理:logstash通俗的講:就是一個(gè)管道,連接兩端不同數(shù)據(jù)源。它的工作原理就是讀取源端數(shù)據(jù)(input),經(jīng)過處理(filter)發(fā)送到目標(biāo)端(output),可以使用它的這個(gè)特性連接兩個(gè)集群,遷移數(shù)據(jù)

logstash工作原理

遷移步驟拆解

  • 安裝部署logstash
  • 配置并運(yùn)行l(wèi)ogstash管道,核心配置如下
input {
  elasticsearch {
    hosts => ["http://<自建Elasticsearch Master節(jié)點(diǎn)的IP地址>:9200"]
    user => "elastic"
    index => "*,-.monitoring*,-.security*,-.kibana*"
    password => "your_password"
    docinfo => true
    schedule => "*/30 * * * *"   #每30分鐘同步一次
  }
}
filter {
}
output {
  elasticsearch {
    hosts => ["http:<云資源暴露的endpoint地址>//:9200"]
    user => "elastic"
    password => "your_password"
    index => "%{[@metadata][_index]}"
    document_type => "%{[@metadata][_type]}"
    document_id => "%{[@metadata][_id]}"
  }    
}

注意事項(xiàng)

logstash不能感知對索引的delete操作,即原集群中文檔數(shù)據(jù)被刪除了,目標(biāo)集群不會跟著刪除,update操作是支持同步的

對實(shí)時(shí)性要求不高的場景比較適用。

使用技巧:

  • 確保源端數(shù)據(jù)的ID和目標(biāo)端ID一致的增量同步需求的話,可以在logstash中配置schedule定時(shí)任務(wù)。
  • index字段支持正則表達(dá)式和取反匹配,可以通過這個(gè)特性控制遷移的索引。

3、elasticsearch-dump

原理:這是一個(gè)索引遷移工具,比較輕量化,基本原理也是定義input和output,從原集群查詢數(shù)據(jù)寫入到目標(biāo)集群,類型于logstash,但是不支持?jǐn)?shù)據(jù)過濾功能

遷移步驟拆解

elasticdump --input 原集群es地址/索引 --output 目標(biāo)集群es地址/索引

# type:指定遷移的類型,支持mapping、、analyzer、data
elasticdump \
  --input=http://production.es.com:9200/my_index \
  --output=http://staging.es.com:9200/my_index \
  --type=data

注意事項(xiàng)

  • 適合數(shù)據(jù)量不大,遷移索引個(gè)數(shù)不多的場景,如果目標(biāo)集群索引不存在,需要遷移analyzer/mapping/data等索引屬性信息和數(shù)據(jù)
  • 不支持增量遷移,每次都需要停機(jī)遷移,而且同步效率不高,操作步驟繁瑣

4、跨集群在線融合

原理:通過將自建集群和云上集群這兩個(gè)本身獨(dú)立的集群融合為一個(gè)大集群,并結(jié)合ES集群自帶的分片分配、遷移特性 來完成數(shù)據(jù)的遷移工作

在線融合遷移方案

遷移步驟拆解

  • 融合:首先我們需要在騰訊云ES控制臺上申請一套和自建ES集群同等規(guī)模的空集群,即上圖2中的目標(biāo)集群,然后將云上的集群全量重啟后加入到自建的ES集群中,使得兩個(gè)集群融合成一個(gè)大集群。
  • 遷移:融合完成后,通過對ES集群cluster/settings設(shè)置exclude屬性來進(jìn)行分片的遷移,當(dāng)執(zhí)行了如下API后,ES集群就會自動將自建集群節(jié)點(diǎn)上的分片逐步驅(qū)逐到云上的節(jié)點(diǎn)上來。從而完成分片的搬遷和集群數(shù)據(jù)的遷移工作。
  • 下線:當(dāng)自建集群節(jié)點(diǎn)上的分片都已經(jīng)全部遷移完成后,再將自建集群節(jié)點(diǎn)全部停機(jī)下線,這樣便完成了整個(gè)集群的遷移上云過程。我們可以通過如下API來查看自建節(jié)點(diǎn)上的分片數(shù)是否為0。

注意事項(xiàng)

  • 受云廠商是否支持限制(騰訊云支持、阿里云不支持)
  • 自建ES集群版本不能大于目標(biāo)集群版本。主要原因是云上低版本的集群節(jié)點(diǎn)無法加入高版本的自建集群中。另外對于版本號,最好是兩個(gè)集群大版本號一致
  • 自建ES集群的插件需要和云ES集群插件保持一致,因?yàn)槿诤系酵粋€(gè)集群,需保證插件兼容
  • 自建ES集群不能開啟security認(rèn)證,帶有認(rèn)證會導(dǎo)致融合失敗

5、reindex

原理reindex是ES提供的一個(gè)api接口,可以把數(shù)據(jù)從一個(gè)集群遷移到另外一個(gè)集群,reindex的核心做跨索引、跨集群的數(shù)據(jù)遷移,比如我們的某個(gè)索引分片過大,我們就可以創(chuàng)建新索引,在使用reindex API遷移數(shù)據(jù)。

遷移步驟拆解

目標(biāo)集群設(shè)置whilelist白名單。

reindex.remote.whitelist: ["10.0.xx.xx:9200","10.15.xx.xx:9200","10.15.xx.xx:9200","10.15.xx.xx:9200"]

目標(biāo)集群調(diào)用reindex api配置遷移任務(wù)。

POST _reindex
		{
  			"source": {
    			"remote": {
      				"host": "http://x.x.x.1:9200"
    			},
    			"index": "test1"
  			},
  			"dest": {
   			 	"index": "test2"
  			}
		}

注意事項(xiàng)

  • Reindex 不會嘗試設(shè)置目標(biāo)索引。 它不會復(fù)制源索引的設(shè)置。 您應(yīng)該在運(yùn)行 _reindex 操作之前設(shè)置目標(biāo)索引,包括設(shè)置映射、分片計(jì)數(shù)、副本等。
  • 源端數(shù)據(jù)量較小,且對遷移速度要求不高的場景。

6、跨集群復(fù)制CCR

原理:跨集群復(fù)制 (CCR) 功能支持將特定索引從一個(gè) ElasticSearch 集群復(fù)制到一個(gè)或多個(gè) ElasticSearch 集群。除了跨數(shù)據(jù)中心復(fù)制之外,CCR 還有許多其他用例,包括數(shù)據(jù)本地化,或者將數(shù)據(jù)從 Elasticsearch 集群復(fù)制到中央報(bào)告集群。

備注:6.7及以后的版本支持,CCR 是一項(xiàng)白金級功能(付費(fèi)功能)。

遷移方案如何選?

在上面我們介紹了可用的跨集群遷移方案,還有兩種方式也是經(jīng)常被提及的,方案那么多,我們怎么去選取適合自己業(yè)務(wù)場景的遷移方案,是一個(gè)值得我們?nèi)ニ伎嫉膯栴},我整理了一個(gè)表格供大家參考:

ES集群業(yè)界常用遷移方案

責(zé)任編輯:姜華 來源: 今日頭條
相關(guān)推薦

2010-11-18 23:24:42

云遷移

2025-04-16 08:35:55

2010-04-23 14:04:23

Oracle日期操作

2013-06-08 11:13:00

Android開發(fā)XML解析

2013-04-15 10:48:16

Xcode ARC詳解iOS ARC使用

2024-05-07 09:01:21

Queue 模塊Python線程安全隊(duì)列

2020-07-10 15:14:28

云計(jì)算

2024-09-09 16:29:29

2021-01-15 13:24:41

fastjsongson框架

2009-02-20 11:43:22

UNIXfish全攻略

2014-03-19 17:22:33

2009-12-14 14:32:38

動態(tài)路由配置

2009-10-19 15:20:01

家庭綜合布線

2020-12-28 10:50:09

Linux環(huán)境變量命令

2009-10-12 15:06:59

2015-03-04 13:53:33

MySQL數(shù)據(jù)庫優(yōu)化SQL優(yōu)化

2022-10-21 11:30:42

用戶生命周期分析

2010-10-11 13:54:03

Windows Ser

2009-07-04 11:26:12

unix應(yīng)急安全攻略

2010-07-27 10:10:14

Windows Ser域控制器
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號