二つの比較的良いESクラスタがデータを移動する方法
3902 ワード
記事の目次 O、プロフィール 、elasticdumpツールを使って を移動します..nodejsをインストールします.(インストールしたら無視してください.) .レベルアップnodejs .elasticdumpツールをインストールする .指定インデックスのsettings,mapping,data を移動します.、ESの持参スナップショットを使ってファイルストアにバックアップして、 を移動します..ソースESクラスタ指定共有フォルダ 1.ソースESクラスタにおいて、repository を作成する..スナップショットを作成する .移動源ESクラスタsnapshotからターゲットESクラスタの倉庫 .ターゲットESクラスタ作成repository .新しいクラスタはスナップショット情報 を参照する..スナップショットから を回復する.
O、概要
二つの比較的良いESクラスタがデータを移動する方法を紹介します.以下は2つの方法についての具体的な説明であり、実践的検証を経て通過した.
一、elasticdumpツールを使って移動する
0.nodejsをインストールする(インストールしたら無視してください)
実行
実行
実行
実行
0.ソースESクラスタ指定共有フォルダ
保証/data/backupディレクトリが存在し、且つelastic起動ユーザに属する.
1.ソースESクラスタにrepositoryを作成する
実行コマンド
3.移動ソースESクラスタsnapshotからターゲットESクラスタの倉庫まで
コピー/data/backup/my_backupは新しいesクラスタマシンに行きます.
4.ターゲットESクラスタ作成repository
O、概要
二つの比較的良いESクラスタがデータを移動する方法を紹介します.以下は2つの方法についての具体的な説明であり、実践的検証を経て通過した.
1
、オープンソースツールelasticdumpを利用して移動します.利点は、操作が簡単であり、クラスタを再起動する必要がないことである.欠点は、伝送が遅いので、大きなデータ量の伝送には適用されず、集合群間でhttpポートを使用してクラスタ帯域幅を占有することである.主にまだ遅いです 2
、ESが持参したスナップショットを使ってファイルストアにバックアップして移動します.ディスクを書くので、新しいクラスタサーバにコピーして、スナップショットから回復します.大きなデータ量のシーンに適用されます.一、elasticdumpツールを使って移動する
0.nodejsをインストールする(インストールしたら無視してください)
実行
yum install -y nodejs
1.アップグレードnodejs実行
npm install -g n
n latest
2.elasticdumpツールのインストール実行
npm install elasticdump -g
3.指定された索引のsettings,mapping,dataを移動します.実行
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
二、ESの持参スナップショットを使ってファイルの保存に移します.0.ソースESクラスタ指定共有フォルダ
保証/data/backupディレクトリが存在し、且つelastic起動ユーザに属する.
mkdir /data/backups
chown -R elastic:elastic /data/backups
vim masterノードelasticsearch.yml追加行path.repo: ["/data/backups"]
マスターノードを再起動して有効にします.1.ソースESクラスタにrepositoryを作成する
実行コマンド
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/backupディレクトリの下にバックアップファイルがあります.3.移動ソースESクラスタsnapshotからターゲットESクラスタの倉庫まで
コピー/data/backup/my_backupは新しいesクラスタマシンに行きます.
4.ターゲットESクラスタ作成repository
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