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

通過elasticsearch-dump工具遷移數據

通過elasticsearch-dump工具,您可以將阿里云Elasticsearch實例索引的settings、mapping、data等數據遷移至本地或者其他阿里云實例上。本文介紹如何安裝與使用elasticsearch-dump工具。

背景信息

elasticsearch-dump是一個開源的Elasticsearch數據遷移工具,詳細信息請參見elasticsearch-dump官方文檔

前提條件

  • 已創建阿里云Elasticsearch實例,具體操作請參見創建阿里云Elasticsearch實例

  • 已開啟目標端阿里云Elasticsearch實例的自動創建索引功能,或提前創建對應索引。開啟自動創建索引功能的具體操作,請參見配置YML參數

  • 已創建ECS服務器,該ECS用來安裝elasticsearch-dump工具。具體操作,請參見自定義購買實例

適用場景

elasticsearch-dump工具適用于數據量較小,索引數量不多的遷移場景。

安裝elasticsearch-dump工具

  1. 連接ECS服務器。

  2. 安裝node.js。

    1. 下載安裝包。

      wget https://nodejs.org/dist/v16.18.0/node-v16.18.0-linux-x64.tar.xz
    2. 解壓。

      tar -xf node-v16.18.0-linux-x64.tar.xz
    3. 設置環境變量。

      • 臨時生效

        export PATH=$PATH:/root/node-v16.18.0-linux-x64/bin/
      • 永久生效

        vim ~/.bash_profile
        export PATH=$PATH:/root/node-v16.18.0-linux-x64/bin/
        source ~/.bash_profile
  3. 安裝elasticsearch-dump。

    npm install elasticdump -g

使用示例

說明

如果密碼中存在特殊符號(如 #$等),發送請求時網絡會被阿里云Web應用防火墻(WAF)攔截,相應的本地執行命令也會報錯。詳細報錯和處理方法,請參見常見問題

遷移數據到阿里云實例

  • 遷移指定索引的settings

    elasticdump --input=http://"<UserName>:<YourPassword>"@<YourEsHost>/<YourEsIndex> --output=http://"<OtherName>:<OtherPassword>"@<OtherEsHost>/<OtherEsIndex> --type=settings
  • 遷移指定索引的mapping

    elasticdump --input=http://"<UserName>:<YourPassword>"@<YourEsHost>/<YourEsIndex> --output=http://"<OtherName>:<OtherPassword>"@<OtherEsHost>/<OtherEsIndex> --type=mapping
  • 遷移指定索引的data

    elasticdump --input=http://"<UserName>:<YourPassword>"@<YourEsHost>/<YourEsIndex> --output=http://"<OtherName>:<OtherPassword>"@<OtherEsHost>/<OtherEsIndex> --type=data

遷移數據到本地

  • 遷移指定索引的settings

    elasticdump --input=http://"<UserName>:<YourPassword>"@<YourEsHost>/<YourEsIndex> --output=<YourLocalFile> --type=settings
  • 遷移指定索引的mapping

    elasticdump --input=http://"<UserName>:<YourPassword>"@<YourEsHost>/<YourEsIndex> --output=<YourLocalFile> --type=mapping
  • 遷移指定索引的data

    elasticdump --input=http://"<UserName>:<YourPassword>"@<YourEsHost>/<YourEsIndex> --output=<YourLocalFile> --type=data
  • 通過query遷移數據

    elasticdump --input=http://"<UserName>:<YourPassword>"@<YourEsHost>/<YourEsIndex> --output=<YourLocalFile> ----searchBody="<YourQuery>"

恢復本地數據到阿里云實例

恢復本地data數據到阿里云實例:

elasticdump --input=<YourLocalFile> --output=http://"<UserName>:<YourPassword>"@<YourEsHost>/<YourEsIndex> --type=data

如果您有其他的數據遷移需求,請參見elasticsearch-dump官方文檔

使用上述示例時,需要將以下字段替換為對應的值。

參數

說明

<YourEsHost>/<OtherEsHost>

源或目標阿里云Elasticsearch實例的私網或公網訪問地址,可在實例的基本信息頁面獲取,獲取方法請參見查看實例的基本信息

說明

如果安裝elasticsearch-dump工具的服務器與源和目標阿里云Elasticsearch均在同一VPC下,可使用私網訪問地址;如果不在同一VPC下,需要使用公網訪問地址,且需要配置公網訪問白名單,詳細信息請參見配置實例公網或私網訪問白名單

<UserName>/<OtherName>

源或目標阿里云Elasticsearch實例的訪問用戶名,默認為elastic。

<YourPassword>/<OtherPassword>

源或目標阿里云Elasticsearch實例的訪問密碼。elastic用戶的密碼在創建實例時設定,如果忘記可進行重置,重置密碼的注意事項和操作步驟請參見重置實例訪問密碼

<YourEsIndex>/<OtherEsIndex>

源或目標索引名稱。

<YourLocalFile>

本地文件路徑。例如:/data/test.json

重要

將數據遷移至本地時,同一目錄中不能存在目標文件,elasticsearch-dump工具會自動生成對應文件。

<YourQuery>

查詢語句。示例:{\"query\":{\"term\":{\"_id\":\"100\"}}}

常見問題

Q:遇到報錯Error: getaddrinfo ENOTFOUND elastic,怎么處理?

image.png

A:產生這個報錯的原因是,HTTP認證密碼包含特殊字符導致URL解析異常,解決辦法是添加HTTP認證文件。

  1. 認證文件auth.ini中寫入Elasticsearch實例的訪問用戶名和訪問密碼。示例如下:

    user=elastic
    password="Es#123456"
    說明

    password需要添加半角雙引號("")。

  2. 執行如下命令,通過參數--httpAuthFile指定HTTP認證文件。

    elasticdump --input=http://es-*****.public.elasticsearch.aliyuncs.com:9200/customers --output=/root/customers.json --httpAuthFile=/root/auth.ini --type=settings

Q:遇到報錯URIError: URI malformed,怎么處理?

A:elasticsearch-dump插件無法解析特殊字符的用戶名和密碼,如果您的用戶名或密碼中包含特殊符號,可能遇到以上報錯。處理方法:

  • 方法一:修改用戶名或密碼,將用戶名或密碼中的特殊符號去掉。

  • 方法二:登錄Kibana創建一個新的用戶,為新用戶配置所需權限后,用新用戶進行遷移。