如何借助es的snapshot跨集群迁移部分索引

devtools/2025/3/22 21:33:57/

1.创建源集群的快照仓库

使用fs方式,首先需要在所有节点挂载文件系统

然后在elasticsearch.yaml中新增配置path.repo

必须确保对应目录具备读写权限

path.repo: /mount/backups

修改配置重启完之后,开始创建快照仓库

PUT /_snapshot/my_repository
{"type": "fs","settings": {"location": "/mount/backups/my_fs_backup_location"}
}

此时如果报超时可以不用管着先,查一下仓库是否创建成功

GET 10.105.100.71:9200/_snapshot

2.创建快照

对增量的索引批量创建快照

PUT /_snapshot/my_repository/snapshot_1
{"indices": "index_1","ignore_unavailable": true,"include_global_state": false
}

3.恢复快照到目标集群

1)在迁移索引数据开始之前,需要先在目标集群先创建快照仓库,同步骤1

2)因为开发环境新搭了一套skywalking,它自己会每日生成新的索引,需要先删除同名索引,否则会恢复失败

DELETE 10.106.100.117:9200/sw891_zipkin_span-20230607#可以考虑直接批量清除
#!/bin/bash
time=$(date -d '-3days' +'%Y.%m.%d')
curl -XDELETE -u elastic:changeme http://localhost:9200/*-${time}

3)开始进行快照恢复

POST /_snapshot/my_repository/snapshot_1/_restore

需要在master节点执行恢复指令

4.删除快照

DELETE /_snapshot/my_repository/snapshot_1

辅助查询

查看集群状态

curl localhost:9200/_cat/health?v

curl localhost:9200/_cat/nodes?v

curl localhost:9200/_cluster/allocation/explain?pretty

curl localhost:9200/_cat/recovery?v | grep -v done

查看索引

curl localhost:9200/_cat/indices | grep 索引ID

curl localhost:9200/_cat/shards/索引名

关闭索引

curl -XPOST localhost:9200/索引名/_close

查看索引具体状态

curl localhost:9200/_cat/shards/索引名? h=index,shard,prirep,state,unassigned.reason

查看快照状态

curl localhost:9200/_snapshot/backup_test/snapshot_1/_status?pretty

查看恢复状态

curl localhost:9200/index1/_recovery?pretty

删除快照

curl -XDELETE localhost:9200/_snapshot/backup_test/snapshot_1

查看仓库信息

GET /_snapshot/my_backup

当前所有仓库信息

GET /_snapshot

GET /_snapshot/_all

删除仓库信息:仅仅删除index,不会删除hdfs数据

DELETE /_snapshot/my_backup

查询快照

GET /_snapshot/my_backup/snapshot_1 //查询指定快照

GET /snapshot/my_backup/snapshot*,otherSnapshot //支持通配符

GET /_snapshot/my_backup/_all //查询所有快照

删除一个快照:仅删除引用,未删除hdfs数据

DELETE /_snapshot/my_backup/snapshot_1


http://www.ppmy.cn/devtools/169241.html

相关文章

Java面试高频问题深度解析:JVM、锁机制、SQL优化与并发处理

问题列表 Java中如何实现一个工作流引擎?Bean的作用域有哪些?JVM中的锁机制是如何工作的?三个方法分别被 synchronized 锁住,方法 a 调用方法 b,b 能获取到 a 的锁吗?会有什么问题?SQL优化时,EXPLAIN 中需要关注哪些关键点?什么是覆盖索引?SELECT * 一定不会命中索引…

rust Send Sync 以及对象安全和对象不安全

开头:菜鸟小明的疑惑 小明: “李哥,我最近学 Rust,感觉它超级严谨,啥 Send、Sync、对象安全、静态分发、动态分发的,我都搞晕了!为啥 Rust 要设计得这么复杂啊?” 小李(…

Mac使用pycharm+基于Kaggle的社交媒体情绪分析数据集,用python做词云的可视化

pycharm版本 一开始用的专业版,但是太久没有写代码就账户过期了,找半天Activation Code也没有找到,重新下载一个社区版,我点进去是社区版的页面,但是下载结果是专业版,后面仔细看,mad社区版在下…

【HDLBits】Procedures合集

Always blocks 基础定义 由于数字电路是由用导线连接的逻辑门组成的,因此任何电路都可以表示为模块和赋值语句的某种组合。然而,有时这不是最方便的方式来描述电路。过程(以always块为例)为描述电路提供了另一种语法。 对于综合…

Cursor+MCP+Blender快速建模,Windows11环境

环境准备 Cursor (我的版本是0.47.8) Blender 3.0 或更高版本(我的版本是3.3.1) Python 3.10 或更高版本 安装UV https://docs.astral.sh/uv/getting-started/installation/ 1.安装blender-mcp插件 到https://github.com/ahujasid/blender-mcp下载插件…

零基础本地部署 ComfyUI+Flux.1 模型!5 分钟搭建远程 AI 绘图服务器(保姆级教程)

文章目录 前言1. 本地部署ComfyUI2. 下载 Flux.1 模型3. 下载CLIP模型4. 下载 VAE 模型5. 演示文生图6. 公网使用 Flux.1 大模型6.1 创建远程连接公网地址 7. 固定远程访问公网地址 前言 在如今这 AI 技术一路火花带闪电、疯狂往前冲的时代,图像生成模型那可不再是…

拥抱健康生活,开启养生之旅

在快节奏的现代生活中,健康养生愈发重要,它不仅能让我们保持良好状态,更是享受美好生活的基石。​ 饮食养生是健康的关键。我们应秉持均衡原则,一日三餐合理搭配。多摄入新鲜蔬果,它们富含维生素、矿物质与膳食纤维&a…

数组连续和 - 华为OD统一考试(C卷)

题目描述 给定一个含有N个正整数的数组&#xff0c;求出有多少连续区间&#xff08;包括单个正整数&#xff09;&#xff0c;它们的和大于等于 x。 输入描述 第一行为两个整数 N,x。(0<N≤100000, 0≤x≤10000000) 第二行有 N 个正整数 &#xff08;每个正整数小于等于 …