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

阿里云ES間跨集群reindex

如果您需要將一個阿里云Elasticsearch(簡稱ES)集群中的數據遷移到另一個ES集群中時,可以通過reindex API重建索引來實現。本文介紹兩個均處于舊網絡架構的集群通過reindex方式進行集群間數據遷移。

場景說明

以下為阿里云ES間跨集群reindex的應用場景說明,請結合業務數據情況及所處網絡架構進行選擇。

  • ES集群間遷移數據。

  • 索引分片分配不合理,例如數據量太大分片數太少,可通過reindex重建索引。

  • 索引中存在大量數據的情況下,需要修改索引mapping,可通過reindex復制索引數據。

2020年10月阿里云ES進行了網絡架構調整,新網絡架構下的集群跨集群reindex需依賴Privatelink打通阿里云ES集群私網。您可以參見下表,依據您的業務場景選擇解決方案進行處理。

說明

2020年10月之前創建的ES集群屬于舊網絡架構,2020年10月及之后創建的ES集群屬于新網絡架構。

使用場景

ES集群所處網絡架構

解決方案

阿里云ES集群間的數據遷移

兩個ES集群均創建于舊網絡架構下。

reindex方式:阿里云ES間跨集群reindex

其中一個ES集群創建于新網絡架構下。

說明

另一個ES集群可以創建于新網絡架構,也可以創建于舊網絡架構。

將ECS上自建的ES集群中的數據遷移至阿里云ES集群中

阿里云ES集群創建于舊網絡架構下。

reindex方式:通過reindex將自建ES數據遷移至阿里云

阿里云ES集群創建于新網絡架構下。

reindex方式:通過實例私網打通將自建Elasticsearch數據遷移至阿里云

前提條件

  • 準備兩個處于舊網絡架構的阿里云ES集群,兩個集群需要在同一專有網絡和虛擬交換機下。本文使用6.7.0版本的實例作為本地集群,6.3.2版本的實例作為遠程集群。

  • 準備測試數據。

    • 本地集群

      在本地集群中創建目標索引。

      PUT dest
      {
        "settings": {
          "number_of_shards": 5,
          "number_of_replicas": 1
        }
      }
    • 遠程集群

      在遠程集群中準備待遷移的數據。本文使用快速入門章節中的數據測試,詳細信息請參見快速入門本地集群測試數據

      重要

      如果您使用的是7.0及以上版本的集群,需要將索引類型修改為_doc

操作步驟

  1. 登錄阿里云Elasticsearch控制臺
  2. 在左側導航欄,單擊Elasticsearch實例
  3. 進入目標實例。
    1. 在頂部菜單欄處,選擇資源組和地域。
    2. Elasticsearch實例中單擊目標實例ID。
  4. 在本地集群中,配置reindex白名單。

    1. 在左側導航欄,選擇配置與管理 > ES集群配置

    2. YML文件配置右側,單擊修改配置

    3. 其他Configure配置文本框中,輸入reindex白名單。

      reindex白名單的配置格式與實例的可用區數量有關,具體如下:

      • 單可用區實例:白名單的格式為<阿里云Elasticsearch實例的域名>:9200單可用區配置示例例如:

        reindex.remote.whitelist: ["es-cn-09k1rgid9000g****.elasticsearch.aliyuncs.com:9200"]
      • 多可用區實例:白名單需要配置為實例中所有數據節點的IP地址與端口的組合。多可用區遠程白名單配置例如:

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

        您可以在實例基本信息頁面的節點可視化頁簽中,獲取實例中所有數據節點的IP地址。詳細信息,請參見查看節點的基本信息

      更多關于reindex白名單的配置說明,請參見配置reindex白名單

    4. 選中該操作會重啟實例,請確認后操作,單擊確定

      確定后,Elasticsearch實例會重啟。重啟過程中,可在任務列表查看進度。重啟成功后,即可完成配置。

  5. 在本地集群中,調用reindex API重建索引。

    1. 登錄目標阿里云Elasticsearch實例的Kibana控制臺,根據頁面提示進入Kibana主頁。

      登錄Kibana控制臺的具體操作,請參見登錄Kibana控制臺
      說明 本文以阿里云Elasticsearch 6.7.0版本為例,其他版本操作可能略有差別,請以實際界面為準。
    2. 在左側導航欄,單擊Dev Tools

    3. Console中,執行如下命令,重建索引。

      POST _reindex
      {
        "source": {
          "remote": {
            "host": "http://es-cn-09k1rgid9000g****.elasticsearch.aliyuncs.com:9200",
            "username": "elastic",
            "password": "your_password"
          },
          "index": "product_info",
          "query": {
            "match": {
              "productName": "理財"
            }
          }
        },
        "dest": {
          "index": "dest"
        }
      }

      類別

      參數

      說明

      source

      host

      遠程集群的訪問地址,必須包含支持協議、域名和端口信息,例如https://otherhost:9200host配置格式與實例的可用區數量有關,具體如下:

      • 單可用區實例:http://<實例的域名>:9200

        說明

        實例的域名可在基本信息頁面獲取。詳細信息,請參見查看實例的基本信息

      • 多可用區實例:http://<實例中任意數據節點的IP地址>:9200

      username

      可選參數,如果您所請求的遠程Elasticsearch服務需要使用Basic Authentication,請在請求中一并提供此參數信息。阿里云Elasticsearch實例的默認用戶名為elastic。

      重要
      • 為確保安全性,通過Basic Authentication鑒權時建議使用HTTPS協議,否則密碼信息將以文本形式進行傳輸。

      • 對于阿里云Elasticsearch實例,需要開啟HTTPS協議后,才可在host中使用HTTPS協議。開啟HTTPS協議的具體操作請參見使用HTTPS協議

      password

      用戶對應的密碼。阿里云Elasticsearch實例的elastic用戶的密碼在創建實例時設定,如果忘記可進行重置。重置密碼的注意事項及具體操作,請參見重置實例訪問密碼

      index

      遠程集群中的源索引。

      query

      通過查詢語法,指定待遷移的數據。詳細信息,請參見Reindex API

      dest

      index

      本地集群中的目標索引。

      說明

      從遠程集群重建索引數據,不支持手動切片或自動切片。詳細信息,請參見手動切片自動切片

      執行成功后,預期結果如下。

      {
        "took" : 51,
        "timed_out" : false,
        "total" : 2,
        "updated" : 2,
        "created" : 0,
        "deleted" : 0,
        "batches" : 1,
        "version_conflicts" : 0,
        "noops" : 0,
        "retries" : {
          "bulk" : 0,
          "search" : 0
        },
        "throttled_millis" : 0,
        "requests_per_second" : -1.0,
        "throttled_until_millis" : 0,
        "failures" : [ ]
      }
  6. 查看遷移成功的數據。

    GET dest/_search

    預期結果如下:

    • 單可用區實例查看遷移成功的數據

    • 多可用區實例查看遷移成功的數據

總結

通過reindex API遷移數據時,單可用區的阿里云Elasticsearch實例和多可用區實例的配置方法大致相同,不同之處在于以下兩點。

可用區類型

reindex白名單配置

host參數配置

單可用區

阿里云Elasticsearch的域名和端口

https://阿里云Elasticsearch實例的域名:9200

多可用區

實例中所有數據節點的IP地址和端口

https://阿里云Elasticsearch實例中任意數據節點的IP地址:9200

更多信息

在調用reindex API重建索引時,您還可以進行批量設置和超時時間設置:

  • 批量設置

    遠程Elasticsearch集群使用堆緩存索引數據,默認最大值為100 MB。如果遠程索引中包含大文檔,請將批量數值設置為較小值。

    以下示例中,通過size設置批量數值為10

    POST _reindex
    {
      "source": {
        "remote": {
          "host": "http://otherhost:9200"
        },
        "index": "source",
        "size": 10,
        "query": {
          "match": {
            "test": "data"
          }
        }
      },
      "dest": {
        "index": "dest"
      }
    }
  • 超時時間設置

    您可以使用socket_timeout設置socket讀取超時時間,默認為30s;使用connect_timeout設置連接超時時間,默認為1s

    以下示例中,設置socket讀取超時時間為1分鐘,連接超時時間為10秒。

    POST _reindex
    {
      "source": {
        "remote": {
          "host": "http://otherhost:9200",
          "socket_timeout": "1m",
          "connect_timeout": "10s"
        },
        "index": "source",
        "query": {
          "match": {
            "test": "data"
          }
        }
      },
      "dest": {
        "index": "dest"
      }
    }