ES索引备份还原

这篇具有很好参考价值的文章主要介绍了ES索引备份还原。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。


一、规划

es数据出于线上数据安全考虑,对于es已有的索引数据可以进行安全备份,通常可以将es备份到共享文件目录或者一些其它的数据存储的文件系统eg:HDFS、Amazon S3、Azure Cloud。备份会生成索引的快照存储到指定的仓库路径下,当需要进行数据还原的时候,就可以通过访问备份还原的接口快速实现数据还原。

二、备份

ES备份存储的仓库可以为:Shared filesystem(NAS等)、 Amazon S3, HDFS和Azure Cloudde等常用文件系统,本文档只提供备份到Shared filesystem和HDFS

方案一:备份到集群共享目录

步骤:
1)、搭建集群共享目录 (这里使用NFS也可以使用其它共享目录技术)
安装NFS服务端:
a、选择集群中某一个节点,可以选择ES的Master节点,检查是否安装NFS

rpm -qa | grep nfs  
rpm -qa | grep rpcbind

b、如果没有安装,则安装NFS

yum install nfs-utils  rpcbind
离线环境需要自己去下载相关包安装

c、设置开机启动

systemctl  enable  rpcbind.service
systemctl  enable  nfs-server.service

d、启动NFS

systemctl  start   rpcbind.service
systemctl  start   nfs-server.service

e、创建共享目录

mkdir  /mont/backups/my_backup   具体目录名可以自己设置
chown  -R  用户名  /mont/backups/my_backup

这里的用户名必须是启动ES的用户

f、设置可以访问的地址和权限

vi  /etc/exports 添加下面内容:
/mont/backups/my_backup  *(rw,sync,no_root_squash,no_subtree_check)

代表所有网段都可以访问,如果想配置为特定ip,可以添加为es集群中所有节点的ip

g、刷新配置并查看

exportfs  -a     刷新配置并立刻生效
showmount  -e  ip    这里ip为当前创建共享目录主机ip

配置NFS客户端(所有除开上一步中的外的所有ES节点都需执行如下操作)

a、检查是否安装NFS

rpm -qa | grep nfs  
rpm -qa | grep rpcbind

b、如果没有安装,则安装NFS

yum install nfs-utils  rpcbind
离线环境需要自己去下载相关包安装

c、设置开机启动

systemctl  enable  rpcbind.service
systemctl  enable  nfs-server.service

d、启动NFS

systemctl  start   rpcbind.service
systemctl  start   nfs-server.service

e、创建共享目录

mkdir  /mont/backups/my_backup  保持和NFS服务端目录一致
chmod -R  用户名  /mont/backups/my_backup
这里的用户名必须是启动ES的用户

f、挂载目录

showmount  -e   ip   ip为NFS服务端ip
mount -t nfs  ip:/mont/backups/my_backup  /mont/backups/my_backup  ip同上

h、设置开机挂载

vi /etc/fstab
ip:/mont/backups/my_backup  /mont/backups/my_backup nfs defaults 0 0
ip为NFS服务端ip

2)、修改es配置

修改elasticsearch.yml,配置path.repo的属性为上述共享目录,然后重启集群

3)、注册快照仓库
ES索引备份还原

通过post操作可以对备份仓库信息作出变更

ES索引备份还原

4)、创建快照

创建所有索引快照:
ES索引备份还原

my_backup:仓库名
snapshot_1:快照名

创建部分索引快照:
ES索引备份还原

my_backup:仓库名
snapsot_2:快照名

通过indices属性可以指定哪些索引需要生成快照信息

5)、快照删除
ES索引备份还原

my_backup:仓库名
snapshot_2:快照名,查看存在的快照可用:

ES索引备份还原

my_backup:仓库名,其余为固定参数
方案二:备份到HDFS

HDFS快照/还原插件是针对最新的Apache Hadoop 2.x(当前为2.7.1)构建的。如果您使用的发行版与Apache Hadoop协议不兼容,请考虑使用自己的发行版替换plugin文件夹内的Hadoop库(可能必须调整所需的安全权限)
步骤:

1)、安装repository-hdfs插件
2)、注册仓库

ES索引备份还原

my_hdfs_repository:仓库名
uri:hdfs访问路径
path:hdfs上存储目录

如果hadoop设置了kerberos安全认证则:
把kerberos认证文件放到es config目录下repository-hdfs目录之中并命名为:krb5.keytab
然后创建hdfs快照仓库:
ES索引备份还原

如果每个节点使用的是不同的服务主体则需要使用_HOST参数:
ES索引备份还原

其余步骤参考方案一

ES还原

还原快照所有:
ES索引备份还原

my_backup:索引仓库名
snapshot_1:快照名

还原快照特定索引:

POST /_snapshot/my_backup/snapshot_1/_restore{
    "indices": "index_1", 
  }

index_1:需要还原的索引名
my_backup:仓库名
snapshot_1:快照名文章来源地址https://www.toymoban.com/news/detail-458630.html


到了这里,关于ES索引备份还原的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • mysql 数据备份和还原

    MySQL 数据备份和还原有哪些方式?你可以使用以下几种方式: 使用 mysqldump 命令来备份和还原数据。这是一种逻辑备份方法,将数据以 SQL 格式导出。你可以使用以下命令来备份和还原数据: mysqldump -u username -p database_name backup_file.sql mysql -u username -p password database_name backup_fi

    2024年02月11日
    浏览(41)
  • 数据备份和还原的简单操作

    两个表如图所示,完成一下操作 1、使用mysqldump命令备份数据库中的所有表 先创建存储数据的目录 使用mysqldump命令备份数据库中的所有表 去查看已经备份 2、备份booksDB数据库中的books表 备份数据库中的某些表,在库后面空格间隔 备份完毕 3、使用mysqldump备份booksDB和test数据库

    2024年02月15日
    浏览(38)
  • SQLServer数据库备份与还原

            Microsoft SQL Server Management Studio,顾名思义,是微软 SQL Server的管理工具,说白了,就是微软官方管理自家数据库的软件。可以对数据库和表操作,本章我们用到它强悍的备份和还原功能。       (1)  选中需要备份的数据库,右键选择备份   (2)添加目标 (3)此

    2024年02月13日
    浏览(48)
  • 达梦数据库的备份和还原

    简要介绍一下达梦数据库备份还原的概念以及如何进行备份还原及故障恢复。 物理备份:拷贝有效数据页。 联机备份 联机即在数据库运行状态下进行备份,必须开归档模式,支持库备份、表空间备份、表备份、归档备份·。它包括完全备份(拷贝所有有效数据页)和增量备

    2024年02月02日
    浏览(52)
  • 达梦数据库的备份与还原

    目录 一、物理备份还原 1、冷备 (1)使用DM控制台工具console备份 (2)使用dmrman工具进行备份 2、热备 (1)开启归档 (2)联机备份 3、还原恢复 (1)表联机还原,需要通过执行sql语句还原 (2)DM控制台工具还原,需要关闭数据库服务 (3)dmrman工具,需要关闭数据库服务

    2024年02月03日
    浏览(41)
  • ES索引规划方案

    《ES索引规划方案》是研发部门针对审计系统需求,对海量日志数据进行实时存储和查询的解决方案,经过不断完善整理成册,以供后续相关开发人员学习使用 序号 用语 说明 1 时序索引 以时间为轴,数据只有增加,没有变更,并且必须包含time stamp(日期时间,名称随意)字

    2024年02月06日
    浏览(26)
  • Docker容器MySQL数据库的备份与还原,以及每天定时自动备份.

    根据自己需要,我这个是Debian的5.7版本的镜像。 这个地方一定要注意: 有些版本的docker镜像里面移除了MySQL自带的工具。包括Mysqlbinlog,Mysqlcheck等。所以即使你开启了binlog,也是没有办法还原数据的,这里要注意一下镜像的选择。 mkdir三个文件夹,方便持久化。 /home/mysql/c

    2024年02月05日
    浏览(69)
  • 第二十三天:mysql数据备份及还原

    一、备份类型 完全备份,部分备份 完全备份:整个数据集 部分备份:只备份数据子集,如部分库或表 完全备份、增量备份、差异备份 增量备份:仅备份最近一次完全备份或增量备份(如果存在增量)以来变化的数据,备份较快,还原复杂 差异备份:仅备份最近一次完全备

    2024年02月19日
    浏览(39)
  • MySQL的数据备份与还原--练习题

    MySQLdump是MySQL提供的一个非常有用的数据库备份工具。MySQLdump命令执行时,可以将数据库备份成一个文本文件,该文件中实际上包含了多个CREATE 和 INSERT语句,使用这些语句可以重新创建表和插入数据。  看题: CREATE DATABASE booksDB;     use booksDB;     CREATE TABLE books     (   

    2024年02月17日
    浏览(39)
  • MySQL 数据库的备份与还原案例分享 2023.07.12

        1、使用mysqldump命令备份数据库中的所有表     2、备份booksDB数据库中的books表     3、使用mysqldump备份booksDB和test数据库     4、使用mysqldump备份服务器中的所有数据库     5、使用mysql命令还原第二题导出的book表     6、进入数据库使用source命令还原第二题导出的bo

    2024年02月16日
    浏览(52)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包