全部產品
Search
文件中心

Elasticsearch:遷移方案選取指南

更新時間:Jun 30, 2024

您可以通過Logstash、reindex和OSS等多種方式完成Elasticsearch間資料移轉、自建Elasticsearch資料移轉至阿里雲和第三方Elasticsearch遷移至阿里雲。本文介紹各遷移情境對應的遷移方案、適用情境和使用限制,協助您根據業務選擇合適的方案進行遷移。

重要
  • 2020年10月,Elasticsearch對網路架構進行了調整。2020年10月之前為舊網路架構,2020年10月及之後為新網路架構。新網路架構下的執行個體不支援與舊網路架構下的執行個體進行跨叢集reindex、跨叢集搜尋、跨叢集複製等執行個體互連操作。如果需要進行互連,需要確保執行個體建立在同一網路架構下。對於華北3(張家口)和海外地區,由於網路架構調整時間不確定,因此需要提交工單,聯絡Elasticsearch支援人員,校正網路是否可以互連。

  • 建議不要遷移以.開頭的系統索引,例如.monitoring、.kibana、.security等,否則可能導致Kibana出現故障。

遷移情境:Elasticsearch執行個體間資料移轉

遷移方案

適用情境

使用限制

情境樣本

OSS快照

  • 源端資料量較大(GB、TB、PB層級)的情境。

  • 同帳號或跨帳號下,同地區或跨地區快照資料移轉的情境。

    說明

    對於跨地區的資料移轉情境,可以通過Elasticsearch的快照備份與恢複命令結合OSS的跨地區複製概述功能實現。

  • 通過OSS快照方式遷移增量資料,可能需要停止服務。且在新叢集恢複增量資料時,需要關閉索引。

  • 使用Elasticsearch的跨叢集OSS倉庫設定功能,對源端和目標端執行個體有以下限制:

    • 相同地區。

    • 歸屬於相同帳號,即源和目標執行個體在同一阿里雲帳號(主帳號)或RAM使用者(子帳號)下。

    • 源端執行個體的版本低於或等於目標端執行個體的版本。版本相容性的詳細資料請參見相容性說明

  • 使用API跨帳號遷移快照資料時,需要確保源端和目標端使用相同的AccessKey,即添加倉庫時都需要使用Bucket所屬帳號的AccessKey。

Logstash

  • 遷移全量或同步增量資料,對即時性要求不高的情境。

    重要

    對於跨帳號、跨地區的資料移轉情境,由於Elasticsearch和Logstash不在同一專用網路下,需要配置Logstash的NAT公網資料轉送。

  • 僅對查詢結果進行遷移的情境。

  • 需對待遷移資料進行過濾的情境。

  • 版本跨度較大的資料移轉情境,例如5.x遷移到6.x或7.x。版本相容性說明請參見產品相容性

  • 源Elasticsearch、Logstash和目標Elasticsearch執行個體在同一專用網路。如果不在同一專用網路,需要通過配置NAT Gateway實現與公網的連通,詳細資料請參見配置NAT公網資料轉送

  • 源Elasticsearch、Logstash和目標Elasticsearch執行個體版本需滿足相容性要求,詳細資料請參見產品相容性

  • 如果需要同步增量資料,需確保源端資料的ID和目標端ID一致,並且需配置schedule定時任務。

reindex

  • 源端資料量較小,且對遷移速度要求不高的情境。

  • 僅對查詢結果(使用查詢語句在Kibana中查詢出來的結果)進行遷移的情境。

兩個Elasticsearch叢集在同一網路架構下,詳細資料請參見注意事項

阿里雲ES間跨叢集reindex

elasticsearch-dump工具

資料量較小,索引數量不多的遷移情境。

源Elasticsearch叢集、目標Elasticsearch叢集、安裝elasticsearch-dump工具的伺服器的網路要互連。

通過elasticsearch-dump工具遷移資料

OSS快照結合reindex

  • 全量和增量資料寫入情境。

  • 跨大版本間ES檔案格式可能不相容,不支援直接快照的情境。

    例如,6.x遷移到8.x,可先快照到7.x版本,在7.x版本上reindex索引,最後通過7.x快照恢複到8.x。

中間版本與原版本和目標版本都滿足版本相容性要求。詳細資料,請參見elastic版本間的改變及相容性文檔。

遷移情境:自建Elasticsearch遷移至阿里雲

遷移方案

適用情境

使用限制

情境樣本

OSS快照

  • 源端資料量較大(GB、TB、PB層級)的情境。

  • 同帳號或跨帳號下,同地區或跨地區快照資料移轉的情境。

  • 需要擷取與源Elasticsearch版本一致的elasticsearch-repository-oss外掛程式。

  • 通過OSS快照方式遷移增量資料,可能需要停止服務。且在新叢集恢複增量資料時,需要關閉索引。

通過OSS將自建Elasticsearch資料移轉至阿里雲

Logstash

  • 遷移資料時,對即時性要求不高的情境。

  • 僅對查詢結果進行遷移的情境。

  • 需對待遷移資料進行過濾的情境。

  • 版本跨度較大的資料移轉情境,例如5.x遷移到6.x或7.x。版本相容性說明請參見產品相容性

  • 源Elasticsearch、Logstash和目標Elasticsearch執行個體在同一專用網路。如果不在同一專用網路,需要通過配置NAT Gateway實現與公網的連通,詳細資料請參見配置NAT公網資料轉送

  • 源Elasticsearch、Logstash和目標Elasticsearch執行個體版本需滿足相容性要求,詳細資料請參見產品相容性

  • 如果需要同步增量資料,需確保源端資料的ID和目標端ID一致,並且需配置schedule定時任務。

reindex

  • 來源資料量較小,且對遷移速度要求不高的情境。

  • 僅對查詢結果(使用查詢語句在Kibana中查詢出來的結果)進行遷移的情境。

  • 低版本自建ES遷移到阿里雲高版本ES,如6.x遷移到8.x, 通過privatelink打通網路做遠程reindex遷移。

兩個Elasticsearch叢集在同一網路架構下,詳細資料請參見注意事項

通過reindex將自建ES資料移轉至阿里雲

elasticsearch-dump工具

資料量較小,索引數量不多的遷移情境。

源Elasticsearch叢集、目標Elasticsearch叢集、安裝elasticsearch-dump工具的伺服器的網路要互連。

通過elasticsearch-dump工具遷移資料

遷移情境:第三方Elasticsearch遷移至阿里雲

遷移方案

適用情境

使用限制

情境樣本

OSS快照

源端資料量較大(GB、TB、PB層級)的情境。

通過OSS快照方式遷移增量資料,可能需要停止服務。且在新叢集恢複增量資料時,需要關閉索引。

將Amazon OpenSearch Service中的Elasticsearch索引遷移至阿里雲

說明

該方案不局限雲端服務廠商,均依賴ES快照機制實現。例如,使用阿里雲線上遷移(遷移實施)將儲存在騰訊雲COS的ES快照資料移轉到阿里雲OSS,參考阿里雲ES快照恢複OSS倉庫快照資料。具體操作,請參見手動備份與恢複

ES快照遷移僅支援低版本向高版本或同版本遷移恢複,詳見快照相容性

elasticsearch-dump工具

資料量較小,索引數量不多的遷移情境。

源Elasticsearch叢集、目標Elasticsearch叢集、安裝elasticsearch-dump工具的伺服器的網路要互連。

通過elasticsearch-dump工具遷移資料