首页 > 其他分享 >elasticsearch 数据远程备份与还原

elasticsearch 数据远程备份与还原

时间:2024-05-10 17:01:06浏览次数:25  
标签:快照 备份 bak snapshot elasticsearch data 远程 es

官方文档:

备份集群:https://www.elastic.co/guide/cn/elasticsearch/guide/current/backing-up-your-cluster.html#backing-up-your-cluster

恢复数据:https://www.elastic.co/guide/cn/elasticsearch/guide/2.x/_restoring_from_a_snapshot.html

es官方默认是备份数据到本地的,如果要备份数据到远程服务器,可以采用nfs等实现

安装nfs:https://www.cnblogs.com/rtnb/p/15584847.html

一、配置nfs

cat /etc/exports
/data/es-bak-test  172.16.0.0/16(rw,sync,no_root_squash)

挂载

mkdir /data/es-bak
临时挂载
mount -t nfs 172.16.77.166:/data/es-bak-test /data/es-bak/

永久挂载
172.16.77.166:/data/es-bak-test /data/es-bak  nfs defaults 0 0

更改权限
chown -R es:es /data/es-bak/

二、更改es配置文件,更改权限并重启

vim /data/es7/config/elasticsearch.yml

path.repo: ["/data/es-bak"]

三、备份数据

2、创建存储库

PUT  _snapshot/my_backup

{
  "type": "fs",
  "settings": {
    "location": "/data/es-bak",   # 挂载目录
    "compress": true,    # 压缩
    "chunk_size": "1g",  # 数据块大小
    "max_snapshot_bytes_per_sec": "50m",  # 快照传输速率
    "max_restore_bytes_per_sec": "50m"    # 恢复数据速率
  }
}

# 查看所有存储库

GET   _snapshot/_all

3、拍摄快照

快照拍照分为全量备份与按需备份

全量备份

PUT  _snapshot/my_backup/snapshot_1


{
  "ignore_unavailable": true,   # 快照备份报错继续
  "include_global_state": false  # 不备份集群状态信息
}

按需备份

PUT  _snapshot/my_backup/snapshot_2

{
  "indices": "lexicon_data*,kibana_sample_data_ecommerce*,monitor_data,plan_misre_data,plan_special_data",
  "ignore_unavailable": true,
  "include_global_state": false
}

如果后续需要增量备份,则直接备份即可,比如snapshot_2,那么增量直接写snapshot_3即可。

查看状态

查看单独任务
GET  _snapshot/my_backup/snapshot_2

查看所有任务
GET  _snapshot/my_backup/_all


{
      "snapshot" : "cloud-snapshot-2021.01.07-xqtcabrnt-2qkxxdhhasaa",     //快照名称
      "uuid" : "nOZxM36MScGkBIlbhjRjGg",
      "version_id" : 7100099,
      "version" : "7.10.0",                     //es版本
      "indices" : [                        //快照内包含的索引
        ".kibana_security_session_1",
        ".kibana_task_manager_1",
        ".apm-custom-link",
        ".apm-agent-configuration",
        ".kibana_1",
        ".kibana-event-log-7.10.0-000001",
        "ilm-history-3-000001",
        ".security-7",
        ".security-tokens-7"
      ],
      "data_streams" : [ ],
      "include_global_state" : true,            //带有全局状态(系统索引)
      "metadata" : {
        "policy" : "cloud-snapshot-policy"        //快照策略
      },
      "state" : "SUCCESS",                                //完成状态
      "start_time" : "2021-01-07T07:21:04.723Z",            //开始时间
      "start_time_in_millis" : 1610004064723,                
      "end_time" : "2021-01-07T07:21:11.130Z",            //结束时间
      "end_time_in_millis" : 1610004071130,
      "duration_in_millis" : 6407,
      "failures" : [ ],                                    //失败的索引
      "shards" : {
        "total" : 9,                                    //总计分片数
        "failed" : 0,
        "successful" : 9                                //成功分片数
      }
    }

四、恢复数据

官网:https://www.elastic.co/guide/cn/elasticsearch/guide/2.x/_restoring_from_a_snapshot.html

授权

chown  -R es:es /data/es-bak/

创建存储库

POST  _snapshot/my_backup

{
  "type": "fs",
  "settings": {
    "location": "/data/es-bak",   # 跟配置文件中的repo目录保持一致
    "compress": true,
    "chunk_size": "1g",
    "max_snapshot_bytes_per_sec": "50m",
    "max_restore_bytes_per_sec": "50m"
  }
}

恢复命令

POST   _snapshot/my_backup/snapshot_1/_restore

对比数据

GET  plan_special_data/_count

{ - 
  "count": 969916,
  "_shards": { - 
    "total": 2,
    "successful": 2,
    "skipped": 0,
    "failed": 0
  }
}

 

标签:快照,备份,bak,snapshot,elasticsearch,data,远程,es
From: https://www.cnblogs.com/rtnb/p/18184866

相关文章

  • K2P路由器安装frp远程管理N1机顶盒
    下一步计划:由于scrcpy的audioforwarding需要Android11+;可有其他方案能传输语音?usbaudio如果存在的话就可以使用web端的scrcpy共享出机顶盒的TVBOX点播功能朗读全文Yourbrowserdoesnotsupporttheaudioelement.有什么用frp内网穿透后,可以主动发起远程控制处于无......
  • gitlab权限管理,远程仓库(旧)
    gitlab权限管理,远程仓库(旧)6.gitlab权限管理,远程仓库在组中设置的权限会继承到组中的所有项目中在项目中添加权限只影响该项目创建后项目中的成员后,管理员手动设置成员密码(8位以上),成员登陆后系统会要求重设密码dev1登陆,添加host6的公钥,yuminstallgit,[email protected]......
  • 6-gitlab备份和恢复
    6.gitlab备份和恢复建议备份策略:本地保留3-7天,异地永久备份查看版本cat/etc/redhat-releasecat/opt/gitlab/embedded/service/gitlab-rails/VERSION备份修改配置文件vim/etc/gitlab/gitlab.rbgitlab_rails['manage_backup_path']='true'gitlab_rails['backup_path......
  • elasticsearch初步使用学习
    通过使用elasticsearch,我们可以加快搜索时间(直接使用SQL的模糊查询搜索耗时会比较久,而且elasticsearch的响应耗时与数据量关系不大)es主要用于存储,计算,搜索数据依次部署elasticsearch,kibanadockerrun-d\--namees\-e"ES_JAVA_OPTS=-Xms512m-Xmx512m"\-e"disco......
  • 集群备份、升级、扩容
    集群备份、升级、扩容哪些内容需要备份1.集群中各种资源和应用程序,例如:podservicedeployment等等2.集群本身、集群内其他资源的信息如何备份1.如果是以声明式的方式创建资源,可以将其保存到代码库(如github)。如果是以命令式的方式创建的资源,使用下面的命令,将群集上创建的所......
  • linux ssh 远程执行命令
    双引号#!/bin/bash#此脚本用于测试ssh工具远程执行多条命令方式#使用的前提是已经设置密钥对并以默认私钥文件名存放在默认路径~/.ssh/下(即ssh免密登录)#或者使用-i参数手动指定私钥位置host=192.168.126.101sshtomandersen@$host"source/etc/profileecho\$JA......
  • Oracle数据库 定时备份
    说明学习了如何Oracle如何备份数据库,实际开发过程中数据库应该每隔一段时间就要备份一次,所以我们就需要一个定时执行这个代码的功能,同时备份的文件可能进行一些处理,比如压缩。步骤建一个文本文件,添加以下内容,后缀名修改为.bat::代码页更改为Unicode(UTF-8)chcp65001@......
  • Windows备份和恢复驱动程序详解
    在进行系统重装后,驱动程序的重新安装通常是一项繁琐的任务。为了简化这一过程并降低数据丢失的风险,建议对Windows驱动程序进行备份。以下是一个指南,用于备份和恢复驱动程序。备份驱动程序启动PowerShell:首先,点击“开始”菜单,在搜索框中输入“WindowsPowerShell”,并以管理员权......
  • 【container】【docker-compose】【mysql】【redis】【rabbit mq】【mongo】【elastic
    @目录写在前面mysqlredisrabbitmqmongoelasticsearch单节点多节点参考资料dockerkuberneteshelmk3s写在前面相关博文个人博客首页免责声明:仅供学习交流使用!开源框架可能存在的风险和相关后果将完全由用户自行承担,本人不承担任何法律责任。mysqlversion:'3'services:......
  • Mysql脚本——备份客户自建数据库
    #!/bin/bashDATE=$(date+%F_%H-%M-%S)HOST=127.0.0.1USER=rootPASS=Linux@123PORT=3306BACKUP_DIR=./db_backup#删选客户自建数据库(排除系统库)DB_LIST=$(mysql-u$USER-p$PASS-h$HOST-P$PORT-s-e"showdatabases;"2>/dev/null|egrep-v"Database|......