日本熟妇hd丰满老熟妇,中文字幕一区二区三区在线不卡 ,亚洲成片在线观看,免费女同在线一区二区

通過(guò)OSS將自建Elasticsearch數(shù)據(jù)遷移至阿里云

更新時(shí)間:

當(dāng)您需要將自建Elasticsearch數(shù)據(jù)遷移至阿里云Elasticsearch時(shí),可以使用OSS快照的方式進(jìn)行遷移。即使用Elasticsearch的snapshot API,創(chuàng)建自建Elasticsearch數(shù)據(jù)的快照并存儲(chǔ)到OSS中,然后從OSS將快照數(shù)據(jù)恢復(fù)到阿里云Elasticsearch中。本文介紹具體的實(shí)現(xiàn)方法。

背景信息

通過(guò)OSS將自建Elasticsearch數(shù)據(jù)遷移至阿里云Elasticsearch,適用于自建Elasticsearch數(shù)據(jù)量比較大的場(chǎng)景,簡(jiǎn)單流程如下操作流程

操作流程

  1. 步驟一:環(huán)境準(zhǔn)備

    部署自建Elasticsearch集群、創(chuàng)建OSS Bucket、創(chuàng)建阿里云Elasticsearch集群。

  2. 步驟二:安裝elasticsearch-repository-oss插件

    在自建Elasticsearch集群各節(jié)點(diǎn)中安裝elasticsearch-repository-oss插件,插件安裝后才可在自建Elasticsearch中創(chuàng)建OSS倉(cāng)庫(kù)。

  3. 步驟三:在自建Elasticsearch集群中創(chuàng)建倉(cāng)庫(kù)

    使用snapshot API在自建Elasticsearch集群中創(chuàng)建快照備份倉(cāng)庫(kù)。

  4. 步驟四:為指定索引創(chuàng)建快照

    為需要遷移的索引創(chuàng)建快照,并將快照備份到已創(chuàng)建的倉(cāng)庫(kù)中。

  5. 步驟五:在阿里云Elasticsearch上創(chuàng)建相同倉(cāng)庫(kù)

    在阿里云Elasticsearch的Kibana控制臺(tái)中,使用snapshot API創(chuàng)建一個(gè)與自建Elasticsearch集群相同的快照備份倉(cāng)庫(kù)。

  6. 步驟六:在阿里云Elasticsearch上恢復(fù)快照

    將倉(cāng)庫(kù)中已備份的自建Elasticsearch集群的快照恢復(fù)到阿里云Elasticsearch集群中,完成數(shù)據(jù)遷移。

  7. 步驟七:查看快照恢復(fù)結(jié)果

    快照恢復(fù)后,查看恢復(fù)的索引和索引數(shù)據(jù)。

步驟一:環(huán)境準(zhǔn)備

  1. 準(zhǔn)備自建Elasticsearch集群。

    如果您還沒(méi)有自建Elasticsearch集群,建議您使用阿里云ECS進(jìn)行搭建,具體操作步驟請(qǐng)參見(jiàn)安裝并運(yùn)行Elasticsearch

    說(shuō)明

    建議您使用同VPC下的阿里云ECS搭建自建Elasticsearch集群,通過(guò)自建服務(wù)器搭建集群可能存在網(wǎng)絡(luò)不通的問(wèn)題。

    本文以單節(jié)點(diǎn)集群為例進(jìn)行演示,版本為6.7.0。實(shí)際生產(chǎn)中您可以購(gòu)買多個(gè)相同專有網(wǎng)絡(luò)VPC(Virtual Private Cloud)的ECS實(shí)例搭建多節(jié)點(diǎn)Elasticsearch集群,購(gòu)買ECS的具體步驟請(qǐng)參見(jiàn)自定義購(gòu)買實(shí)例

  2. 開(kāi)通OSS服務(wù),并創(chuàng)建與部署自建Elasticsearch集群的ECS實(shí)例相同地域的Bucket。

    具體操作步驟請(qǐng)參見(jiàn)開(kāi)通OSS服務(wù)創(chuàng)建存儲(chǔ)空間

    重要

    請(qǐng)創(chuàng)建標(biāo)準(zhǔn)存儲(chǔ)類型的OSS Bucket,不支持歸檔存儲(chǔ)類型。

  3. 創(chuàng)建目標(biāo)阿里云Elasticsearch實(shí)例,所選地域與您創(chuàng)建的Bucket相同。

    具體操作步驟請(qǐng)參見(jiàn)創(chuàng)建阿里云Elasticsearch實(shí)例

步驟二:安裝elasticsearch-repository-oss插件

  1. 連接自建Elasticsearch集群所在的ECS。

    具體操作請(qǐng)參見(jiàn)通過(guò)密碼或密鑰認(rèn)證登錄Linux實(shí)例

    說(shuō)明

    本文檔以普通用戶權(quán)限為例。

  2. 下載elasticsearch-repository-oss插件。

    本文使用6.7.0版本的插件,要求JDK為11.0及以上版本。

    wget https://github.com/aliyun/elasticsearch-repository-oss/releases/download/v6.7.0/elasticsearch-repository-oss-6.7.0.zip
    說(shuō)明

    如需獲取其他版本的elasticsearch-repository-oss插件,可參見(jiàn)常見(jiàn)問(wèn)題

  3. 將安裝包解壓到自建Elasticsearch各節(jié)點(diǎn)安裝路徑的plugins目錄下。

    sudo unzip -d /usr/local/elasticsearch-6.7.0/plugins/elasticsearch-repository-oss elasticsearch-repository-oss-6.7.0.zip

    您也可以使用命令方式安裝插件。

    sudo ./bin/elasticsearch-plugin install file:///usr/local/elasticsearch-repository-oss-6.7.0.zip
  4. 啟動(dòng)自建Elasticsearch集群各節(jié)點(diǎn)。

    cd /usr/local/elasticsearch-6.7.0
    ./bin/elasticsearch -d

步驟三:在自建Elasticsearch集群中創(chuàng)建倉(cāng)庫(kù)

連接自建Elasticsearch集群所在的ECS,執(zhí)行如下命令創(chuàng)建倉(cāng)庫(kù)。

sudo curl -H "Content-Type: application/json" -XPUT localhost:9200/_snapshot/<yourBackupName> -d' {"type": "oss", "settings": { "endpoint": "http://oss-cn-hangzhou-internal.aliyuncs.com",  "access_key_id": "<yourAccesskeyId>",  "secret_access_key":"<yourAccesskeySecret>", "bucket": "<yourBucketName>", "compress": true }}'

參數(shù)

說(shuō)明

<yourBackupName>

倉(cāng)庫(kù)名稱,可自定義。

type

倉(cāng)庫(kù)類型,需要設(shè)置為oss

endpoint

OSS Bucket的訪問(wèn)地址,可參見(jiàn)訪問(wèn)域名和數(shù)據(jù)中心獲取。

說(shuō)明

如果自建Elasticsearch所在ECS與您的OSS在同一地域,請(qǐng)使用私網(wǎng)地址,否則請(qǐng)使用外網(wǎng)地址。

access_key_id

創(chuàng)建OSS Bucket的賬號(hào)的AccessKey ID,獲取方式請(qǐng)參見(jiàn)如何獲取AccessKey

secret_access_key

創(chuàng)建OSS Bucket的賬號(hào)的AccessKey Secret,獲取方式請(qǐng)參見(jiàn)如何獲取AccessKey

bucket

您創(chuàng)建的OSS Bucket名稱。

compress

是否壓縮:

  • true:壓縮

  • false:不壓縮

創(chuàng)建成功后,預(yù)期返回"acknowledge":true

步驟四:為指定索引創(chuàng)建快照

在自建Elasticsearch中創(chuàng)建一個(gè)快照,用來(lái)備份您需要遷移的索引數(shù)據(jù)。創(chuàng)建快照時(shí),默認(rèn)會(huì)備份所有打開(kāi)的索引。如果您不想備份系統(tǒng)索引,例如以.kibana.security.monitoring等開(kāi)頭的索引,可在創(chuàng)建快照時(shí)指定需要備份的索引。

重要

建議您不要備份系統(tǒng)索引,因?yàn)橄到y(tǒng)索引會(huì)占用較大空間。

curl -H "Content-Type: application/json" -XPUT localhost:9200/_snapshot/<yourBackupName>/snapshot_1?pretty -d'
{
"indices": "index1,index2"
}'

<yourBackupName>為您在步驟三:在自建Elasticsearch集群中創(chuàng)建倉(cāng)庫(kù)中創(chuàng)建的倉(cāng)庫(kù)名稱;index1index2為您需要備份的索引名稱。快照創(chuàng)建成功后,預(yù)期返回"accepted" : true

快照創(chuàng)建過(guò)程中,您可以通過(guò)GET /_snapshot/<yourBackupName>/<yourSnapshotName>/_status命令查看指定快照的詳細(xì)信息。當(dāng)返回結(jié)果中的stateSUCCESS時(shí),表示快照已完成。

步驟五:在阿里云Elasticsearch上創(chuàng)建相同倉(cāng)庫(kù)

  1. 登錄目標(biāo)阿里云Elasticsearch實(shí)例的Kibana控制臺(tái),根據(jù)頁(yè)面提示進(jìn)入Kibana主頁(yè)。
    登錄Kibana控制臺(tái)的具體操作,請(qǐng)參見(jiàn)登錄Kibana控制臺(tái)
    說(shuō)明 本文以阿里云Elasticsearch 6.7.0版本為例,其他版本操作可能略有差別,請(qǐng)以實(shí)際界面為準(zhǔn)。
  2. 在左側(cè)導(dǎo)航欄,單擊Dev Tools
  3. Console中執(zhí)行以下命令,創(chuàng)建與自建Elasticsearch相同的倉(cāng)庫(kù)。

    PUT _snapshot/<yourBackupName>
    {
        "type": "oss",
        "settings": {
            "endpoint": "oss-cn-hangzhou-internal.aliyuncs.com",
            "access_key_id": "<yourAccesskeyId>",
            "secret_access_key": "<yourAccesskeySecret>",
            "bucket": "<yourBucketName>",
            "compress": true
        }
    }

    <yourBackupName><yourBucketName>需要與步驟三:在自建Elasticsearch集群中創(chuàng)建倉(cāng)庫(kù)中保持一致。

步驟六:在阿里云Elasticsearch上恢復(fù)快照

參見(jiàn)步驟五:在阿里云Elasticsearch上創(chuàng)建相同倉(cāng)庫(kù),在Kibana控制臺(tái)上執(zhí)行以下命令,恢復(fù)快照中的所有索引(除過(guò).開(kāi)頭的系統(tǒng)索引)。

POST _snapshot/es_backup/snapshot_1/_restore
{"indices":"*,-.monitoring*,-.security_audit*","ignore_unavailable":"true"}

命令執(zhí)行成功,預(yù)期返回"accepted" : true

以上命令會(huì)恢復(fù)快照中的所有索引,您也可以選擇需要恢復(fù)的索引。同時(shí)如果阿里云Elasticsearch集群中有同名索引,而您想在不替換現(xiàn)有數(shù)據(jù)的前提下恢復(fù)舊數(shù)據(jù)來(lái)驗(yàn)證內(nèi)容,或者處理其他任務(wù),可在恢復(fù)過(guò)程中重命名索引。

POST _snapshot/es_backup/snapshot_1/_restore
{
  "indices":"index1",
  "rename_pattern": "index(.+)",
  "rename_replacement": "restored_index_$1"
}
說(shuō)明

更多快照和恢復(fù)命令請(qǐng)參見(jiàn)手動(dòng)備份與恢復(fù)

步驟七:查看快照恢復(fù)結(jié)果

參見(jiàn)步驟五:在阿里云Elasticsearch上創(chuàng)建相同倉(cāng)庫(kù),在Kibana控制臺(tái)上執(zhí)行以下命令,查看恢復(fù)結(jié)果:

  • 查看恢復(fù)的索引

    GET /_cat/indices?v

    查看恢復(fù)成功的索引

  • 查看恢復(fù)的索引數(shù)據(jù)

    GET /index1/_search

    執(zhí)行成功后,預(yù)期結(jié)果如下。

    {
      "took" : 2,
      "timed_out" : false,
      "_shards" : {
        "total" : 5,
        "successful" : 5,
        "skipped" : 0,
        "failed" : 0
      },
      "hits" : {
        "total" : 1,
        "max_score" : 1.0,
        "hits" : [
          {
            "_index" : "index1",
            "_type" : "_doc",
            "_id" : "1",
            "_score" : 1.0,
            "_source" : {
              "productName" : "testpro",
              "annual_rate" : "3.22%",
              "describe" : "testpro"
            }
          }
        ]
      }
    }

常見(jiàn)問(wèn)題

Q:如何獲取其他版本的elasticsearch-repository-oss插件?

A:可在Github上下載。如果Github上沒(méi)有對(duì)應(yīng)版本的插件包,建議您下載對(duì)應(yīng)大版本的相近小版本的插件包,然后修改plugin-descriptor.properties文件中的參數(shù)值,重新打包再安裝。

  • version=所需插件的版本

  • elasticsearch.version=自建Elasticsearch的版本

    說(shuō)明

    插件版本與自建Elasticsearch版本要保證一致。

  • java.version=1.8

    說(shuō)明
    • 不同的Elasticsearch版本依賴的JDK版本不一樣,以官方插件要求為準(zhǔn)。

    • 由于開(kāi)源Elasticsearch集群的版本較多,各版本編譯存在差異,因此在使用elasticsearch-repository-oss插件時(shí),需要您結(jié)合對(duì)應(yīng)Elasticsearch的版本進(jìn)行編譯調(diào)試。例如自建Elasticsearch 7.6.2集群,要求JDK版本大于1.8及以上,編譯調(diào)試后對(duì)應(yīng)的插件為elasticsearch-repository-oss-7.6.2