ElasticSearch-インデックスの移行

ElasticSearch-インデックスの移行

O.はじめに

ESクラスターからデータを移行するための2つの優れた方法を紹介します。以下は、実際に検証された2つの方法の詳細な説明です。

方法1、移行にはオープンソースツールelasticdumpを使用します。利点は、操作が非常に簡単で、クラスターを再起動する必要がないことです。欠点は、送信が遅く、大量のデータの送信に適していないことです。このプロセスでは、httpポートはクラスター間で使用され、クラスターの帯域幅を占有します。主にまだ遅い。
方法2、移行のためにファイルストレージへのES独自のスナップショットバックアップを使用します。利点は、ディスクに書き込まれ、新しいクラスターサーバーにコピーされ、スナップショットから復元されるため、速度が速いことです。大量のデータがあるシナリオに適しています

1つは、elasticdumpツールを使用して移行する

0. nodejsをインストールします(すでにインストールされている場合は無視してください)

実施した

yum install -y nodejs

1.nodejsをアップグレードします

実施した

npm install -g n
n latest

2.elasticdumpツールをインストールします

実施した

npm install elasticdump -g

3.指定されたインデックスの設定、マッピング、データを移行します

実施した

elasticdump --input=http://fromhost:9200/indexname --output=http://tohost:9200/indexname --type=settings
elasticdump --input=http://fromhost:9200/indexname --output=http://tohost:9200/indexname --type=mapping
elasticdump --input=http://fromhost:9200/indexname --output=http://tohost:9200/indexname --type=data

2.ES独自のスナップショットバックアップを使用してファイルストレージに移行します

0.ソースESクラスターは共有フォルダーを指定します

/ data / backupsディレクトリが存在し、ElasticStartupユーザーに属していることを確認します

mkdir /data/backups
chown -R elastic:elastic /data/backups

vimマスターノードelasticsearch.yml行を追加

path.repo: ["/data/backups"]

マスターノードを再起動して有効にします

1.ソースESクラスターにリポジトリーを作成します

命令を実行する

curl -XPUT http://fromhost:9200/_snapshot/my_repository  -d '{
    "type": "fs", 
    "settings": {
        "location": "/data/backups" 
    }
}'

2.スナップショットを作成します(スナップショットバックアップデータ)

curl -XPUT http://fromhost:9200/_snapshot/my_repository/snapshot_20191114?wait_for_completion=true  -d '{
    "indices": "indexname"
}'

バックアップが完了すると、/ data / backupsフォルダーにバックアップファイルがあります。

3.ソースESクラスターのスナップショットをターゲットESクラスターのウェアハウスに移動します

/ data / backups / my_backupを新しいesクラスターマシンにコピーします

4.ターゲットESクラスターのリポジトリーを作成します

curl -XPUT http://tohost:9200/_snapshot/my_repository  -d '{
    "type": "fs", 
    "settings": {
        "location": "/data/backups" 
    }
}'

5.新しいクラスターのスナップショット情報を表示します

curl -XGET http://tohost:9200/_snapshot/my_repository/_all

6.スナップショットから復元

curl -XPOST http://tohost:9200/_snapshot/my_repository/snapshot_20191114/_restore

おすすめ

転載: blog.csdn.net/Zong_0915/article/details/107769198