ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

ES之数据迁移篇(使用snapshot快照)

2022-08-01 11:01:55  阅读:198  来源: 互联网

标签:快照 my 集群 snapshot nfs backup ES


1.背景说明:

两个ES集群版本:5.6.8

旧集群:ER­QI­ES

三个节点:192.168.185.70,192.168.185.71,192.168.185.72

新集群:gzes­cluster

五个节点:10.181.92.184,10.181.92.185,10.181.92.186,10.181.92.187,10.181.92.188

2.修改elasticsearch.yml配置文件并重启集群

先禁用两个集群的自动分配:

在两个集群其中一台上面执行即可:

关闭:#curl -XPUT http://127.0.0.1:9200/_cluster/settings -d '{ "transient": {"cluster.routing.allocation.enable": "none"} }'

开启:#curl -XPUT http://127.0.0.1:9200/_cluster/settings -d '{ "transient": {"cluster.routing.allocation.enable": "all"} }'

修改elastticsearch.yml配置文件指定snapshot的共享目录:

旧集群指定:/data/backups/my_backup

#mkdir -p /data/backups/my_backup

修改所属群组使得es可以写入

#chown -R eleasticsearch:elasticsearch /data/backups/my_backup

#chmod 777 /data/backups/my_backup

新集群指定:/cloud/data01/backup

#chown -R eleasticsearch:elasticsearch /cloud/data01/backup

#chmod 777 /cloud/data01/backup

重启两台es集群,先杀掉es进程(tips:一台一台重启比较集群恢复比较快一点)

#su elasticsearch

#bin/elasticsearch -d

3.准备安装nfs共享目录的软件,挂载共享目录

先将每台机器上面安装nfs,执行:

#yum -y install nfs-utils

配置nfs服务器,这里选机器(10.181.92.184)来作为共享文件的服务器

修改所有机器的nfs配置文件指定Domain为10.181.92.184

#vim /etc/idmapd.conf

配置服务器(10.181.92.184)的共享目录和共享的网段范围:

#vim /etc/exports

将本机的/cloud/data02/nfs_data共享目录,开放给网段上面的主机访问,允许这些主机

进行写,使用者如果以root身份登入,那么使用者对这个目录具有root权限

开启nfs服务,并重启nfs服务

#systemctl enable --now rpcbind nfs-server

#service nfs-server restart

设置防火墙如果防火墙有开的话

#firewall-cmd --add-service=nfs --permanent

客户端安装nfs完成,配置domain后设置挂载目录

旧集群的机器挂载:

#mount -t nfs 10.181.92.184:/cloud/data02/nfs_data /cloud/data01/backup

新集群的机器挂载:

#mount -t nfs 10.181.92.184:/cloud/data02/nfs_data /data/backups/my_backup

df -TH查看新旧集群挂载情况:

要在系统重新启动时进行自动挂载#vim /etc/fstab

4.建立es索引快照备份

以下命令在kibana里面执行

#先建立旧集群索引快照库:

PUT /_snapshot/my_backup

{"type": "fs",

  "settings": {

    "compress": true,

    "location": "/data/backups/my_backup"

  }

}

#新集群群索引快照库:

PUT /_snapshot/my_backup

{

  "type": "fs",

  "settings": {

    "compress": true,

    "location": "/cloud/data01/backup"

  }

}

#旧集群指定备份库的索引和备份名称

PUT /_snapshot/my_backup/snapshot_20220502?wait_for_completion=true

{

  "indices":"hnscan_business_t_bs_day_chk_ene_drv,hnscan_business_t_bs_day_ene_drv",

  "ignore_unavailable": true,

  "include_global_state": false

}

#旧集群查看以及备份好的索引名称

GET /_snapshot/my_backup/snapshot_20220502

5.拷贝es快照备份(如果需要的话,这里免了因为共享目录都是在同一台机器上面)

6.恢复快照备份

# 查看所有快照信息

GET /_snapshot/my_backup/_all

#查看快照库里面状态

GET /_snapshot/my_backup/snapshot_20220502/_status

#恢复快照库里面的索引

GET /snapshot_20220502/_recovery

# 从快照信息中恢复(注意要先把已有的索引关闭了)

POST /_snapshot/my_backup/snapshot_20220502/_restore

{

  "indices":"hnscan_business_t_bs_day_ene_drv,hnscan_business_t_bs_day_chk_ene_drv"

}

#关闭索引

POST hnscan_business_t_bs_day_chk_ene_drv/_close?pretty

POST hnscan_business_t_bs_day_ene_drv/_close?pretty

#打开索引

POST hnscan_business_t_bs_day_chk_ene_drv/_open?pretty

POST hnscan_business_t_bs_day_ene_drv/_open?pretty

注意:快照恢复索引是全量覆盖操作。旧集群索引的分片数和新集群索引的分片数必须保持

一致才能恢复操作。

参考资料:

https://www.elastic.co/guide/en/elasticsearch/reference/5.6/modules-snapshots.html

https://www.fwqwd.com/6297.html

https://blog.csdn.net/wzz87/article/details/106896347/

标签:快照,my,集群,snapshot,nfs,backup,ES
来源: https://www.cnblogs.com/lys_013/p/16539388.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有