av激情亚洲男人的天堂国语,日韩欧美精品一中文字幕,无码av一区二区三区无码,国产又色又爽又刺激的a片,国产又色又爽又刺激的a片

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

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

創(chuàng)新互聯(lián)公司成立與2013年,先為元謀等服務(wù)建站,元謀等地企業(yè),進行企業(yè)商務(wù)咨詢服務(wù)。為元謀企業(yè)網(wǎng)站制作PC+手機+微官網(wǎng)三網(wǎng)同步一站式服務(wù)解決您的所有建站問題。

遷移方案

1、OSS快照

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

OSS遷移原理

遷移步驟拆解

源集群

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

目標集群

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

注意事項

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

2、logstash

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

logstash工作原理

遷移步驟拆解

  • 安裝部署logstash
  • 配置并運行l(wèi)ogstash管道,核心配置如下
input {
  elasticsearch {
    hosts => ["http://<自建Elasticsearch Master節(jié)點的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]}"
  }    
}

注意事項

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

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

使用技巧:

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

3、elasticsearch-dump

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

遷移步驟拆解

elasticdump --input 原集群es地址/索引 --output 目標集群es地址/索引

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

注意事項

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

4、跨集群在線融合

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

在線融合遷移方案

遷移步驟拆解

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

注意事項

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

5、reindex

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

遷移步驟拆解

目標集群設(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"]

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

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

注意事項

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

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

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

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

遷移方案如何選?

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

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


文章標題:自建ES集群遷移上云全攻略
網(wǎng)頁鏈接:http://uogjgqi.cn/article/dhicche.html
掃二維碼與項目經(jīng)理溝通

我們在微信上24小時期待你的聲音

解答本文疑問/技術(shù)咨詢/運營咨詢/技術(shù)建議/互聯(lián)網(wǎng)交流