ES升级--05--快照生成 和备份

2024-06-11 22:12
文章标签 es 生成 05 备份 升级 快照

本文主要是介绍ES升级--05--快照生成 和备份,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档

文章目录

  • 备份ES数据
    • 1.关闭集群自动均衡
    • 2.执行同步刷新
    • 3.停止集群节点的Elasticsearch服务
    • 4.修改Elasticsearch配置文件,开启快照功能,配置仓库目录为共享存储
    • 5.重启集群节点的Elasticsearch服务
    • 6.通开启集群分片重建、恢复集群写入配置
    • 7.注册快照存储
    • 8.执行快照
    • 9.查看快照执行情况
    • 10 删除多余快照
  • 恢复数据 ----环境es7.9
    • 1.将备份数据复制到新版es目录
      • 传输用rsync
      • 检查文件夹和权限
    • 2.elasticsearch.yml 配置
    • 3.重新启动es服务
    • 4.注册备份仓库
    • 5.恢复数据
      • 可以制定恢复索引
      • 如果出现索引重复 导致报错
    • 4. 验证


备份ES数据

1.关闭集群自动均衡

有密码加上 -u ‘elastic:escdms’

curl -XPUT "http://192.168.2.89:9200/_cluster/settings?pretty" -H 'Content-Type:application/json' -d '{"persistent": {"cluster.blocks.read_only": true,"cluster.routing.rebalance.enable": "none"},"transient": {"cluster.blocks.read_only": true,"cluster.routing.rebalance.enable": "none"}
}'

curl命令可以在kibana平台替换为如下命令:

PUT /_cluster/settings
{"persistent": {"cluster.blocks.read_only": true,"cluster.routing.rebalance.enable": "none"},"transient": {"cluster.blocks.read_only": true,"cluster.routing.rebalance.enable": "none"}
}

在这里插入图片描述

2.执行同步刷新

curl -X POST "http://192.168.2.89:9200/_flush/synced"
POST /_flush/synced

在这里插入图片描述

3.停止集群节点的Elasticsearch服务

ps aux | grep elasticsearch
kill -9  xxxxxx
pkill -f elasticsearch 

4.修改Elasticsearch配置文件,开启快照功能,配置仓库目录为共享存储

如果没有这个

# 设置备份路径
path.repo: ["/home/data/elastic-6.3.2/mybackup"]

5.重启集群节点的Elasticsearch服务

bin/elasticsearch -d

6.通开启集群分片重建、恢复集群写入配置

先执行

curl -XPUT -H "Content-Type: application/json" http://localhost:9200/_cluster/settings -d '{"persistent": {"cluster.blocks.read_only": false}
}'

后执行

curl -XPUT "http://192.168.2.89:9200/_cluster/settings?pretty" -H 'Content-Type: application/json' -d '{"persistent": {"cluster.blocks.read_only": false,"cluster.routing.rebalance.enable": "ALL"},"transient": {"cluster.blocks.read_only": false,"cluster.routing.rebalance.enable": "ALL"}
}'
PUT /_cluster/settings
{"persistent": {"cluster.blocks.read_only": false,"cluster.routing.rebalance.enable": "ALL"},"transient": {"cluster.blocks.read_only": false,"cluster.routing.rebalance.enable": "ALL"}
}

在这里插入图片描述

7.注册快照存储

  • 通过http提交注册快照存储,需指定到快照仓库目录下
curl -X PUT "http://192.168.2.89:9200/_snapshot/mybackup" -H 'Content-Type: application/json'  -d'
{"type": "fs","settings": {"location": "/home/data/elastic-6.3.2/mybackup"}
}'

8.执行快照

  • IaaS环境执行生成快照,通过http提交,第一次为全量,后面再执行则为增量
curl -XPUT "http://192.168.2.89:9200/_snapshot/mybackup/snapshot_20240606?wait_for_completion=true"  -H 'Content-Type: application/json' -d '{"ignore_unavailable": true,"include_global_state": true
}'

在这里插入图片描述
也可以选定某个索引

curl -XPUT "http://192.168.2.54:9200/_snapshot/my_backup/snapshot_20240607?wait_for_completion=true"  -H 'Content-Type: application/json' -d '{"indices": "cbsp_appform_index","ignore_unavailable": true,"include_global_state": true
}'

在这里插入图片描述

9.查看快照执行情况

有密码加上 -u ‘elastic:escdms’

curl -X GET "http://192.168.2.89:9200/_snapshot/mybackup/_all" 
GET _snapshot/mybackup/_all

在这里插入图片描述

10 删除多余快照

  • 查看所有快照仓库
GET _snapshot/_all

在这里插入图片描述

  • 查看此仓库的快照情况
GET _snapshot/my_backup/_all
  • 删除之前的有的快照
curl -X DELETE "localhost:9200/_snapshot/<repository_name>/*"
DELETE /_snapshot/<repository_name>/*

恢复数据 ----环境es7.9

1.将备份数据复制到新版es目录

  • app账号登录新环境,将备份数据复制到新版es目录

传输用rsync

安装命令

sudo yum install rsync

在这里插入图片描述

传输命令 :账号 root ,会弹窗口要求输入密码

rsync -avz /home/data/elastic-6.3.2/es_bak  root@192.168.2.79:/home/es/

在这里插入图片描述

检查文件夹和权限

等待传输完成 查看文件夹

/data/es/mybackup
  • 注意文件夹和权限问题

在这里插入图片描述

  • 注意权限
chown -R es:es  /data/es    

2.elasticsearch.yml 配置

path.repo: ["/data/es/mybackup"]

3.重新启动es服务

 bin/elasticsearch -d

4.注册备份仓库

curl -XPUT "http://192.168.2.79:9200/_snapshot/mybackup" -H 'Content-Type: application/json' -d '{"type": "fs","settings": {"location": "/data/es/mybackup"}
}'

在这里插入图片描述

5.恢复数据

  • mybackup :备份仓库
  • snapshot_20240607:快照版本
curl -XPOST "http://192.168.2.79:9200/_snapshot/mybackup/snapshot_20240607/_restore" -H 'Content-Type: application/json' -d '{"ignore_unavailable": true,"include_global_state": true
}'

在这里插入图片描述

可以制定恢复索引

curl -XPOST "http://192.168.2.89:9200/_snapshot/mybackup/snapshot_20240606/_restore" -H 'Content-Type: application/json' -d '{"indices": "laas_*","ignore_unavailable": true,"include_global_state": true
}'

如果出现索引重复 导致报错

curl -XPOST "http://192.168.2.89:9200/_snapshot/mybackup/snapshot_20240606/_restore" -H 'Content-Type: application/json' -d '{"ignore_unavailable": true,"include_global_state": true,"rename_pattern": ".monitoring-es-6-2024.06.06","rename_replacement": "restored_monitoring_es"
}'

4. 验证

http://192.168.2.79:9200/_cat/indices?v
http://192.168.2.79:9200/cbsp_appform_index/_count
http://192.168.2.79:9200/cbsp_appform_index/_search?q=:&pretty

在这里插入图片描述

这篇关于ES升级--05--快照生成 和备份的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/1052397

相关文章

IDEA自动生成注释模板的配置教程

《IDEA自动生成注释模板的配置教程》本文介绍了如何在IntelliJIDEA中配置类和方法的注释模板,包括自动生成项目名称、包名、日期和时间等内容,以及如何定制参数和返回值的注释格式,需要的朋友可以... 目录项目场景配置方法类注释模板定义类开头的注释步骤类注释效果方法注释模板定义方法开头的注释步骤方法注

Python如何自动生成环境依赖包requirements

《Python如何自动生成环境依赖包requirements》:本文主要介绍Python如何自动生成环境依赖包requirements问题,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑... 目录生成当前 python 环境 安装的所有依赖包1、命令2、常见问题只生成当前 项目 的所有依赖包1、

MySQL中动态生成SQL语句去掉所有字段的空格的操作方法

《MySQL中动态生成SQL语句去掉所有字段的空格的操作方法》在数据库管理过程中,我们常常会遇到需要对表中字段进行清洗和整理的情况,本文将详细介绍如何在MySQL中动态生成SQL语句来去掉所有字段的空... 目录在mysql中动态生成SQL语句去掉所有字段的空格准备工作原理分析动态生成SQL语句在MySQL

Java利用docx4j+Freemarker生成word文档

《Java利用docx4j+Freemarker生成word文档》这篇文章主要为大家详细介绍了Java如何利用docx4j+Freemarker生成word文档,文中的示例代码讲解详细,感兴趣的小伙伴... 目录技术方案maven依赖创建模板文件实现代码技术方案Java 1.8 + docx4j + Fr

将Mybatis升级为Mybatis-Plus的详细过程

《将Mybatis升级为Mybatis-Plus的详细过程》本文详细介绍了在若依管理系统(v3.8.8)中将MyBatis升级为MyBatis-Plus的过程,旨在提升开发效率,通过本文,开发者可实现... 目录说明流程增加依赖修改配置文件注释掉MyBATisConfig里面的Bean代码生成使用IDEA生

Java编译生成多个.class文件的原理和作用

《Java编译生成多个.class文件的原理和作用》作为一名经验丰富的开发者,在Java项目中执行编译后,可能会发现一个.java源文件有时会产生多个.class文件,从技术实现层面详细剖析这一现象... 目录一、内部类机制与.class文件生成成员内部类(常规内部类)局部内部类(方法内部类)匿名内部类二、

使用Jackson进行JSON生成与解析的新手指南

《使用Jackson进行JSON生成与解析的新手指南》这篇文章主要为大家详细介绍了如何使用Jackson进行JSON生成与解析处理,文中的示例代码讲解详细,感兴趣的小伙伴可以跟随小编一起学习一下... 目录1. 核心依赖2. 基础用法2.1 对象转 jsON(序列化)2.2 JSON 转对象(反序列化)3.

java中使用POI生成Excel并导出过程

《java中使用POI生成Excel并导出过程》:本文主要介绍java中使用POI生成Excel并导出过程,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录需求说明及实现方式需求完成通用代码版本1版本2结果展示type参数为atype参数为b总结注:本文章中代码均为

在java中如何将inputStream对象转换为File对象(不生成本地文件)

《在java中如何将inputStream对象转换为File对象(不生成本地文件)》:本文主要介绍在java中如何将inputStream对象转换为File对象(不生成本地文件),具有很好的参考价... 目录需求说明问题解决总结需求说明在后端中通过POI生成Excel文件流,将输出流(outputStre

使用Python实现网络设备配置备份与恢复

《使用Python实现网络设备配置备份与恢复》网络设备配置备份与恢复在网络安全管理中起着至关重要的作用,本文为大家介绍了如何通过Python实现网络设备配置备份与恢复,需要的可以参考下... 目录一、网络设备配置备份与恢复的概念与重要性二、网络设备配置备份与恢复的分类三、python网络设备配置备份与恢复实