Curl 命令方式对elasticsearch备份和恢复—— 筑梦之路

这篇具有很好参考价值的文章主要介绍了Curl 命令方式对elasticsearch备份和恢复—— 筑梦之路。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

前提条件:

修改elasticsearch的配置文件elasticsearch.yml:

# 配置示例

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


创建备份仓库:

# curl命令如下

curl -XPOST '192.168.0.100:9200/_snapshot/bro_backup' \
-H  'Content-Type: application/json' -d \
'{ 
    "type": "fs",  
    "settings": { 
       "location": "/data/es/snapshot",
       "compress": true, 
       "chunk_size": "1g", 
       "max_snapshot_bytes_per_sec": "50m", 
       "max_restore_bytes_per_sec": "50m"
      }
}'


# max_snapshot_bytes_per_sec 和max_restore_bytes_per_sec 为了限制备份和恢复时的速度

# 如果新建仓库的时候报错 "reason": "failed to create blob container"  access_denied_exception  请检查/data/es/snapshot文件夹权限

备份数据:

curl -XPUT "192.168.0.100:9200/_snapshot/bro_backup/ss_2022100905?wait_for_completion=true"

# 如果不希望快照作为后台进程运行,可以通过添加wait_for_completion=true参数,使其在前台运行,知道备份完成。
# 如果想备份部分索引,可以加上indices 参数

curl -XPUT http://192.168.0.100:9200/_snapshot/bro_backup/ss_2022100905 -d '
    {
        "indices": "index_1,index_2"
    }'

中止备份:

# 

curl -XDELETE http://192.168.0.100:9200/_snapshot/bro_backup/ss_2022100905


查看备份信息:

# 

curl -XGET http://192.168.0.100:9200/_snapshot/bro_backup/ss_2022100905
 

恢复数据:

恢复前准备:

将备份数据打包传到新机器上,并解压到/data/es/snapshot目录下

1. 修改配置

path.repo:["/data/backup/elasticsearch"],

2. 创建备份仓库

curl -XPOST 'http://192.168.0.200:9200/_snapshot/bro_backup' \
     -H  'Content-Type: application/json' \
     -d '{ 
            "type": "fs",  
            "settings": { 
               "location": "/data/es/snapshot", 
               "compress": true, 
               "chunk_size": "1g", 
               "max_snapshot_bytes_per_sec": "50m", 
               "max_restore_bytes_per_sec": "50m"
         }
}'


3. 恢复数据

curl -XPOST '192.168.0.200:9200/_snapshot/bro_backup/ss_20220905/_restore' \
     -H 'Content-Type: application/json' \
     -d'{ "ignore_unavailable": true, "include_global_state": false }'

如果只想恢复某些分片的数据,还可以在json参数里加{"indices": "game_info"},以指定只恢复game_info分片数据。

4. 查看恢复的分片数据

curl '192.168.0.200:9200/_cat/indices?v'

# elasticsearch快照方式备份和恢复

1. 配置elasticsearch.yml快照存储位置
```yaml
path.repo: ["/data/backups/my_backup"]
```
配置添加后需要重启elasticsearch

2. 注册仓库
```bash
curl -XPUT ' http://localhost:9200/_snapshot/my_backup' -d '{
    "type":"fs",
    "settings":{
        "location":"/data/backups/my_backup", 
        "compress":"true"
    }
}'
```

3. 查看仓库信息
```bash
curl -XGET ' http://localhost:9200/_snapshot/my_backup?pretty'
{
  "my_backup" : {
    "type" : "fs",
    "settings" : {
      "compress" : "true",    # 指定是否对快照文件进行压缩. 默认是 true.
      "location" : "/data/backups/my_backup" #指定快照的存储位置。必需要有
    }
  }
}
```

4. 删除仓库
```bash
curl -XDELETE 'localhost:9200/_snapshot/my_backup'
```

5. 建立快照
同一个集群中,一个仓库中能够存放多个快照。快照在集群中的名称是惟一的
```bash
#全部索引进行快照:
curl -XPUT "localhost:9200/_snapshot/my_backup/snapshot_1?wait_for_completion=true?pretty"
#某个索引进行快照:
curl -XPUT "localhost:9200/_snapshot/my_backup/snapshot_1?wait_for_completion=true?pretty" -d '{"indices":"customer"}'
```

6. 恢复快照
(恢复的意思是经过接口删除节点中的索引,不是删除备份的快照)
```bash
#恢复全部索引:
curl -XPOST "localhost:9200/_snapshot/my_backup/snapshot_1/_restore?wait_for_completion=true"
#恢复某个索引:
curl -XPOST "localhost:9200/_snapshot/my_backup/snapshot_1/_restore?wait_for_completion=true" -d '{"indices":"customer","ignore_unavailable":"true"}'

#注意:
#快照恢复前须要关掉索引
curl -XPOST "localhost:9200/my_index/_close"
curl -XPOST "localhost:9200/customer/_close"
 
#开启索引
curl -XPOST "localhost:9200/my_index/_open"
 
#查看索引状态
curl 'localhost:9200/_cat/indices?v'
curl -XGET "localhost:9200/_recovery/"
```

7. 查看快照状态信息
```bash
#a.列出全部当前正在运行的快照以及显示他们的详细状态信息
curl -XGET 'localhost:9200/_snapshot/_status?pretty'

#b.查看指定仓库正在运行的快照以及显示他们的详细状态信息
curl -XGET 'localhost:9200/_snapshot/my_backup/_status?pretty'
 
#c.查看指定快照的详细状态信息即便不是正在运行
curl -XGET 'localhost:9200/_snapshot/my_backup/snapshot_1/_status?pretty'
 
#d.支持同时指定多个快照ID查看多个快照的信息
curl -XGET 'localhost:9200/_snapshot/my_backup/snapshot_1,snapshot_2/_status?pretty'
```

 

参考资料:

Elasticsearch使用:Snapshot备份与恢复 - 腾讯云开发者社区-腾讯云

ES集群数据迁移 - 简书

https://www.elastic.co/guide/en/elasticsearch/reference/current/snapshot-restore.html

https://www.cnblogs.com/koktlzz/p/14521583.html文章来源地址https://www.toymoban.com/news/detail-519343.html

到了这里,关于Curl 命令方式对elasticsearch备份和恢复—— 筑梦之路的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

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

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

相关文章

  • docker-compose搭建elasticsearch 8.6.0集群 —— 筑梦之路

    docker-compose.yml es1.yml es2.yml es3.yml kibana.yml 参考资料: docker-compose 搭建elasticsearch 集群及kibana - 简书 更新_Docker安装ElasticSearch8.6.0 Docker安装ElasticSearch8.6.0

    2024年02月13日
    浏览(38)
  • PostgreSQL 16数据库的yum、编译、docker三种方式安装——筑梦之路

    随手一记:生成密码的密文sha256加密

    2024年02月07日
    浏览(57)
  • DBA之路--RMAN备份与恢复01_RMAN体系架构

    1.1、服务器管理的恢复与RMAN实用程序: RMAN目的时实现SMR(服务器管理恢复)的工具,依赖于oracel rdbms内部代码实现功能,是在出于减少用户操作针对越来越复杂的数据库脚本维护所提出。 RMAN属于oracle一个单独的应用程序,数据库即使处于nomount状态,rman包任然可以启用。

    2024年02月08日
    浏览(40)
  • elasticsearch备份恢复,elasticdump使用

    准备环境 1. 将node-v10.23.1-linux-x64.tar.xz上传到服务器/usr/local目录下 2. tar xf node-v10.23.1-linux-x64.tar.xz 3. 将node_modules.tar.gz上传到服务器/usr/local目录 4. tar -zxvf node_modules.tar.gz 5. 设置NODE环境   5.1 vim /etc/profile     export NODEJS_HOME=/usr/local/node-v10.23.1-linux-x64     export PATH=$NODEJS_HOME/bin:

    2024年01月19日
    浏览(38)
  • ElasticSearch 数据备份与恢复

    以下为背景 Elasticsearch 7.6.2单点,8.3.3单点 Docker 部署 当前使用场景:部分index,数据量较大,需要在跨版本的ES之间进行迁移 一、前提说明 1. Elasticsearch备份 2. 备份恢复方案 二、Elasticsearch 环境准备 1.查看Elasticsearch所有版本 2.部署2个Elasticsearch单点服务 三、数据备份 1. 增加

    2024年02月10日
    浏览(41)
  • Elasticsearch 的数据备份和恢复

    1.1 Elasticsearch 数据备份 数据备份是一项重要的任务,用于保护数据免受意外数据丢失、硬件故障等不可预测的事件。 Elasticsearch 提供了一些机制来备份和恢复数据,以确保数据的可靠性和持久性。 1.2 Elasticsearch 数据恢复 数据恢复是指从备份中恢复数据并将其重新加载到 El

    2024年02月08日
    浏览(41)
  • Elasticsearch集群进行索引的备份与恢复

    准备需要三台服务器 ip如下: 10.1.40.110,10.1.40.12,10.1.40.8 我们要进行集群部署首先要进行,创建备份共享文件存储地址 由于是集群部署且服务器不同所以这边用到了NFS进行文件的共享 备份到集群共享目录 步骤: 1) 、搭建集群共享目录 (这里使用NFS也可以使用其它共享目录

    2024年02月03日
    浏览(38)
  • Elasticsearch的Snapshot and Restore(快照备份与恢复)

    简介:  Elasticsearch提供的Snapshot api就是从正在运行的集群中获取备份用的,可以根据情况选择整个集群,也可以指定index和data stream。Elasticsearch是以增量的方式获取Snapshot,节约了时间和空间,小开销意味着可以适当增加备份的频率。每一个Snapshot在逻辑上相互独立,所以删除

    2024年03月24日
    浏览(44)
  • 如何通过curl方式进行ElasticSearch增删改查

    点击上方蓝字关注我 关于ElasticSearch增删改查的方法有很多,使用curl操作命令总结如下,如有需要可以点击收藏。 1. ElasticSearch新增数据 如果进行一个类似于SQL的 insert的操作 具体示例如下: 上面的命令使用HTTP POST方法向名为\\\"users\\\"的索引中添加一条文档,文档包含\\\"name\\\"、

    2024年02月14日
    浏览(41)
  • 【教程】Linux使用git自动备份和使用支持文件恢复的rm命令

    转载请注明出处:小锋学长生活大爆炸[xfxuezhang.cn]         首先非常不幸地告诉你:Linux 系统的 标准 rm 命令不支持文件恢复功能 。一旦使用 rm 删除了文件或目录,它们就会从文件系统中永久删除,除非你使用专门的文件恢复工具尝试恢复这些文件。         不过,

    2024年02月21日
    浏览(41)

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

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

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

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

二维码1

领取红包

二维码2

领红包