elasticsearchインデックスデータのスナップショットバックアップとリカバリ

データESの埋設量は、最近のサージラインをクラスタマシンのメモリ、ディスク容量が爆発しようとしていました。しかし、このデータの一部は、コールドデータであり、将来の分析のためのデータを保持する必要が、今でクエリを実行する必要はありませんが、直接削除することはできません。ラインの早期ラッシュ以来、毎月のインデックスを切断ビジネスコードのない合理的な配分がない、単一のインデックスで、その結果、単一のインデックスに投げ込ま年次データは100G +データに跳ね上がっ
たスナップショットに冷蔵をやって、使用頻度の低いデータの断片化のためのディスク容量のボトルネックを解決するために。
シナリオ:
3ノードクラスタのES:192.168.85.39、192.168.85.36,192.168.85.33

サーバーのディスクスペースを探し、および共有ディレクトリのNFSは、搭載されている設定。これは、例えば、192.168.85.63されています

アプリケーションシナリオ:ES 3ノードクラスタ192.168.85.39,192.168.85.33,192.168.85.36
NFSストレージサーバー:192.168.5.63

I.共有ストレージ構造NFSサーバ(作動5.63)

1.安装 nfs服务  
yum install -y nfs-utils

2. 开机启动
systemctl enable rpcbind.service
systemctl enable nfs-server.service

3.  分别启动rpcbind和nfs服务:
systemctl start rpcbind.service
systemctl start nfs-server.service

4.firewalld 防火墙针对es节点内网ip开放NFS服务监听端口:
111 udp端口    20048 tcp端口    2049 tcp 和 udp全开

5.创建本地数据共享目录 并设置权限  
mkdir /data/db/elasticsearch/backup
chmod 777 /data/db/elasticsearch/backup
chown -R elasticsearch:elasticsearch /data/db/elasticsearch/backup

6.配置NFS目录访问权限
vim etc/exports
/data/db/elasticsearch/backup 192.168.85.39(rw,sync,all_squash)     192.168.85.33(rw,sync,all_squash) 192.168.85.36(rw,sync,all_squash)
exports -r //生效
exports -s //查看

7.es节点上安装客户端(85.39 85.33 85.36 上操作)
     yum -y install showmount
开启服务:
     systemctl enable rpcbind.service
     systemctl start rpcbind.service
8.创建挂载目录(85.39 85.33 85.36 上分别操作)
mkdir /mnt/elasticsearch
chmod 777 elasticsearch

挂载共享目录到本地
mount -t nfs 192.168.5.63:/data/db/elasticsearch/backup  /mnt/elasticsearch

df -h //查看确认是否成功挂载

II。スナップショットの倉庫を作成します

curl -XPUT http://192.168.85.39:9002/_snapshot/backup -d'
{
"type": "fs",
"settings": {
"location": "/mnt/elasticsearch/backup",
"compress": true,
"max_snapshot_bytes_per_sec" : "50mb",
"max_restore_bytes_per_sec" : "50mb"
}
}'

备注说明:
1.可在es任一节点操作
2.backup: 指定仓库名称为backup  ,生成的备份文件存放路径为/mnt/elasticsearch/backup
3.max_snapshot_bytes_per_sec,max_restore_bytes_per_sec 限定备份和恢复的数据字节内容大小为50mb,
为了防止磁盘IO过高。数值越大,备份恢复速度越快。50mb为推荐值,IO性能高的机器可不限制

curl -XPUT http://192.168.85.39:9002/_snapshot/backup -d '
{
    "type": "fs",
    "settings": {
        "location": "/mnt/elasticsearch/backup",
        "compress": true
    }
}'

III。スナップショットバックアップを作成する
完全なインデックスのための1.バックアップスナップショットを

curl -XPUT 192.168.85.39:9002/_snapshot/backup/snapshot_all?pretty

备注说明:
1.指定备份到仓库backup
2.快照名称为 snapshot_all

2.スナップショットバックアップ用に別の指標を指定(異なる屈折率を区別するために、バックアップディレクトリ、インデックス名によって指定提案倉庫)

单独快照备份user_event_201810这个索引
2.1先针对索引创建仓库
curl -XPUT http://192.168.85.39:9002/_snapshot/user_event_201810 -d'
{
"type": "fs",
"settings": {
"location": "/mnt/elasticsearch/user_event_201810",
"compress": true,
"max_snapshot_bytes_per_sec" : "50mb",
"max_restore_bytes_per_sec" : "50mb"
}
}'

2.2 快照备份索引user_event_201810操作
curl -XPUT http://192.168.85.39:9002/_snapshot/user_event_201810/user_event_201810?wait_for_completion=true -d '
{
"indices":"user_event_201810",
"ignore_unavailable": "true",
"include_global_state": false
}'

备注说明:
1.创建的仓库名为user_event_201810
2.存放的文件目录为/mnt/elasticsearch/user_event_201810
3.indices:指定索引源为user_event_201810
4.增加?wait_for_completion=true参数是为了执行完成返回结果状态

IV。エス・リカバリ・スナップショットバックアップデータクラスタに
1の完全なインデックスのスナップショットバックアップのリストア操作

curl -XPOST http://192.168.85.39:9200/_snapshot/backup/snapshot_all/_restore

备注说明:
1.指定仓库名称backup
2.指定快照备份名称snapshot_all

2.指定したインデックスのスナップショットバックアップ操作を復元

针对索引user_event_201810快照恢复
curl -XPOST http://192.168.85.39:9002/_snapshot/user_event_201810/user_event_201810/_restore

备注说明:
1.指定仓库名称user_event_201810
2.指定快照备份名称user_event_201810

5:補助操作コマンド
1.レビュー既存の倉庫

curl 192.168.85.39:9002/_cat/repositories?

2.既存のスナップショットを確認

curl -XGET http://192.168.85.39:9002/_snapshot?   //查看全部
curl -XGET http://192.168.85.39:9002/_snapshot/user_event_201810/user_event_201810//查看指定索引

3.スナップショットを削除します。

curl -XDELETE http://192.168.85.39:9002/_snapshot/user_event_201810/user_event_201810
//删除快照user_event_201810

4.倉庫を削除

curl -XDELETE http://192.168.85.39:9002/_snapshot/user_event_201810
//删除仓库user_event_201810

前記ノード構成ファイルelasticsearch

cluster.name:私の-アプリケーション1
node.name:ノード-3
path.data:/データ/ DB / elasticsearch
path.logs:/データ/ログ/ elasticsearch /ログ
path.repo:[ "を/ mnt / elasticsearch"]
ネットワーク。ホスト:192.168.85.33
たhttp.port:9002
transport.tcp.port:9102
node.master:真
node.data:真
discovery.zen.ping.unicast.hosts:[ "192.168.85.39:9102","192.168.85.36 :9102" 、 "192.168.85.33:9102"]
discovery.zen.minimum_master_nodes:2
indices.query.bool.max_clause_count:10240
http.cors.enabled:真
http.cors.allow起源: "*"

NFS
マウント-t nfsの192.168.5.63:/data/db/elasticsearch/backupを/ mnt / elasticsearch

おすすめ

転載: blog.51cto.com/soul455879510/2446915