阿里云ElasticSearch从OSS快照恢复总消耗时长统计方法

本文涉及的产品
检索分析服务 Elasticsearch 版,2核4GB开发者规格 1个月
对象存储 OSS,20GB 3个月
对象存储 OSS,恶意文件检测 1000次 1年
简介: 阿里云ElasticSearch从OSS快照恢复包含其他云厂商ES实例或本地IDC的ES实例中所有的索引,GET /_recovery包含独立索引从快照恢复的开始及结束时长,本方法统计ES实例级别的所有索引快照恢复时间,包含手动输入GET /_recovery及http请求两种信息获取方式。

1. ES实例OSS快照恢复

创建仓库

PUT _snapshot/仓库名
{
"type": "oss",
"settings": {
"endpoint": "oss-cn-beijing-internal.aliyuncs.com",
"access_key_id": "LTA*********",
"secret_access_key": "*********",
"bucket": "test_bucket",
"compress": true    }
}

索引全量恢复

POST _snapshot/仓库名/快照名/_restore
{
"indices":"*,-.*,-ilm-*",
"ignore_unavailable":"true"}

2. 查看快照恢复情况

  1. 语法
GET/_recovery
  1. 可以看到所有索引的相关信息,常见形式如下图所示,如索引「test0617」可以看到不同的shard恢复耗时,开始时间start_time_in_millis,结束时间stop_time_in_millis,总恢复耗时时长total_time_in_millis,单位都是毫秒

image.png

3. 总恢复时间实现代码

GET /_recovery包含每个独立索引(包含客户侧业务自建索引和ES系统索引)从快照恢复的开始及结束时长,但不包含整个从OSS快照恢复的耗时统计。

在进行ES跨云、上云迁移时,采用快照恢复的迁移方式需要在压测阶段进行全量、增量快照恢复时长的统计用于评估业务切割时的不可用、停写时间用以进行业务宣导,方案评定等工作。

本方法统计ES实例级别的所有索引快照恢复时间,包含手动输入GET /_recovery及http请求两种信息获取方式。

################ author:sunyf###############fromdatetimeimportdatetime, timedeltaimportjsonimportrequestsdeftimestamp2str(timestamp: int):
"""    # # 时间戳转字符串    :param timestamp: bigint    :return: string format timestamp    """# timestamp = 1690965380890 / 1000dt=datetime.fromtimestamp(timestamp/1000)
s=dt.strftime("%Y-%m-%d %H:%M:%S:%f")
# print(s)returnsdefget_recovery_by_input() ->str:
out=""stdin=input("请粘贴GET /_recovery结果,完成后连按两个enter键\n")
whilestdin:
out+=stdin+'\n'stdin=input()
print(f'-------------输入内容为:\n{out}-------------如上为输入内容\n')
returnoutdefget_recovery_by_request() ->str:
res=requests.get('http://localhost:9200/_recovery',
auth=('user', 'pwd'))
returnres.textif__name__=='__main__':
_input=get_recovery_by_input()
# 2选1# _input = get_recovery_by_request()_in=json.loads(_input)
indices= []
start= []
stop= []
print(f'-------------如下非系统索引被纳入统计')
fork, vin_in.items():
ifnotstr(k).startswith("."):
print(k)
indices.append(k)
for_inv.get('shards'):
start.append(_.get('start_time_in_millis'))
stop.append(_.get('stop_time_in_millis'))
print(f'-------------recovery开始时间:\n{timestamp2str(min(start))}')
print(f'-------------recovery结束时间:\n{timestamp2str(max(stop))}')
print(
f'-------------recovery持续时间:\n{datetime.fromtimestamp(max(stop) /1000) -datetime.fromtimestamp(min(start) /1000)}')


相关实践学习
借助OSS搭建在线教育视频课程分享网站
本教程介绍如何基于云服务器ECS和对象存储OSS,搭建一个在线教育视频课程分享网站。
相关文章
|
6月前
|
安全 API 开发工具
oss加密的配置方法
阿里云OSS提供多种加密选项:SSE-OSS(默认或对象级AES-256加密)、SSE-KMS(使用KMS托管CMK)、临时密钥加密和客户端加密(CSE)。可通过控制台或API设置Bucket策略,使用HTTP头部指定加密方式。KMS和临时密钥可能涉及更复杂的密钥管理和权限配置。
660 5
|
6月前
|
存储 Linux
ElasticSearch集群快照
ElasticSearch集群快照
408 2
|
6月前
|
存储 SQL 分布式计算
数据计算MaxCompute读取外部表(数据在oss gz压缩)速度非常慢,有什么方法可以提升效率么?
数据计算MaxCompute读取外部表(数据在oss gz压缩)速度非常慢,有什么方法可以提升效率么?
96 1
|
6月前
|
JavaScript
ElasticSearch快照脚本
ElasticSearch快照脚本
67 0
|
6月前
|
存储 监控 开发工具
对象存储OSS产品常见问题之python sdk中的append_object方法支持追加上传xls文件如何解决
对象存储OSS是基于互联网的数据存储服务模式,让用户可以安全、可靠地存储大量非结构化数据,如图片、音频、视频、文档等任意类型文件,并通过简单的基于HTTP/HTTPS协议的RESTful API接口进行访问和管理。本帖梳理了用户在实际使用中可能遇到的各种常见问题,涵盖了基础操作、性能优化、安全设置、费用管理、数据备份与恢复、跨区域同步、API接口调用等多个方面。
213 9
|
6月前
|
存储 API
Elasticsearch快照备份与恢复 - 蓝易云
以上步骤可以帮助你在Elasticsearch中实现快照备份和恢复。注意,这些操作可能需要特定的权限和配置,所以在进行操作前,确保你具备足够的权限并已正确配置Elasticsearch。
111 0
|
6月前
|
缓存 安全 API
对象存储OSS产品常见问题之多租户系统用程序统计每个租户的下行流量如何解决
对象存储OSS是基于互联网的数据存储服务模式,让用户可以安全、可靠地存储大量非结构化数据,如图片、音频、视频、文档等任意类型文件,并通过简单的基于HTTP/HTTPS协议的RESTful API接口进行访问和管理。本帖梳理了用户在实际使用中可能遇到的各种常见问题,涵盖了基础操作、性能优化、安全设置、费用管理、数据备份与恢复、跨区域同步、API接口调用等多个方面。
354 0
|
6月前
|
存储 弹性计算 API
ECS快照问题之绑定oss失败如何解决
阿里云ECS用户可以创建的一个虚拟机实例或硬盘的数据备份,用于数据恢复和克隆新实例;本合集将指导用户如何有效地创建和管理ECS快照,以及解决快照过程中可能遇到的问题,确保数据的安全性和可靠性。
|
Java 对象存储 流计算
阿里云ElasticSearch迁移-基于OSS全增量快照
阿里云ElasticSearch迁移-基于OSS全增量快照
阿里云ElasticSearch迁移-基于OSS全增量快照
|
4月前
|
机器学习/深度学习 人工智能 专有云
人工智能平台PAI使用问题之怎么将DLC的数据写入到另一个阿里云主账号的OSS中
阿里云人工智能平台PAI是一个功能强大、易于使用的AI开发平台,旨在降低AI开发门槛,加速创新,助力企业和开发者高效构建、部署和管理人工智能应用。其中包含了一系列相互协同的产品与服务,共同构成一个完整的人工智能开发与应用生态系统。以下是对PAI产品使用合集的概述,涵盖数据处理、模型开发、训练加速、模型部署及管理等多个环节。

热门文章

最新文章