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

本文涉及的产品
对象存储 OSS,20GB 3个月
检索分析服务 Elasticsearch 版,2核4GB开发者规格 1个月
对象存储 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,搭建一个在线教育视频课程分享网站。
相关文章
|
4月前
|
机器学习/深度学习 人工智能 专有云
人工智能平台PAI使用问题之怎么将DLC的数据写入到另一个阿里云主账号的OSS中
阿里云人工智能平台PAI是一个功能强大、易于使用的AI开发平台,旨在降低AI开发门槛,加速创新,助力企业和开发者高效构建、部署和管理人工智能应用。其中包含了一系列相互协同的产品与服务,共同构成一个完整的人工智能开发与应用生态系统。以下是对PAI产品使用合集的概述,涵盖数据处理、模型开发、训练加速、模型部署及管理等多个环节。
|
19天前
|
分布式计算 Java 开发工具
阿里云MaxCompute-XGBoost on Spark 极限梯度提升算法的分布式训练与模型持久化oss的实现与代码浅析
本文介绍了XGBoost在MaxCompute+OSS架构下模型持久化遇到的问题及其解决方案。首先简要介绍了XGBoost的特点和应用场景,随后详细描述了客户在将XGBoost on Spark任务从HDFS迁移到OSS时遇到的异常情况。通过分析异常堆栈和源代码,发现使用的`nativeBooster.saveModel`方法不支持OSS路径,而使用`write.overwrite().save`方法则能成功保存模型。最后提供了完整的Scala代码示例、Maven配置和提交命令,帮助用户顺利迁移模型存储路径。
|
3月前
|
存储 机器学习/深度学习 弹性计算
阿里云EMR数据湖文件系统问题之OSS-HDFS全托管服务的问题如何解决
阿里云EMR数据湖文件系统问题之OSS-HDFS全托管服务的问题如何解决
|
4月前
|
消息中间件 分布式计算 DataWorks
DataWorks产品使用合集之如何使用Python和阿里云SDK读取OSS中的文件
DataWorks作为一站式的数据开发与治理平台,提供了从数据采集、清洗、开发、调度、服务化、质量监控到安全管理的全套解决方案,帮助企业构建高效、规范、安全的大数据处理体系。以下是对DataWorks产品使用合集的概述,涵盖数据处理的各个环节。
|
4月前
|
存储 运维 安全
阿里云OSS的优势
【7月更文挑战第19天】阿里云OSS的优势
193 2
|
4月前
|
存储 API 开发工具
阿里云OSS
【7月更文挑战第19天】阿里云OSS
188 1
|
4月前
|
存储 弹性计算 对象存储
预留空间是什么?阿里云OSS对象存储预留空间说明
阿里云OSS预留空间是预付费存储产品,提供折扣价以锁定特定容量,适用于抵扣有地域属性的Bucket标准存储费用及ECS快照费。通过购买预留空间,如500GB通用预留+100GB标准-本地冗余存储包,用户可优化成本。
206 4
|
4月前
|
人工智能 对象存储
【阿里云AI助理】自家产品提供错误答案。阿里云OSS 资源包类型: 下行流量 地域: 中国内地通用 下行流量包规格: 300 GB 套餐: 下行流量包(中国内地) ,包1年。那么这个是每月300GB,1年是3600GB的流量;还是1年只有300GB的流量?
自家产品提供错误答案。阿里云OSS 资源包类型: 下行流量 地域: 中国内地通用 下行流量包规格: 300 GB 套餐: 下行流量包(中国内地) ,包1年。那么这个是每月300GB,1年是3600GB的流量;还是1年只有300GB的流量?
128 1
|
5月前
|
SQL 分布式计算 DataWorks
DataWorks产品使用合集之如何将CSV文件从阿里云OSS同步到ODPS表,并且使用列作为表分区
DataWorks作为一站式的数据开发与治理平台,提供了从数据采集、清洗、开发、调度、服务化、质量监控到安全管理的全套解决方案,帮助企业构建高效、规范、安全的大数据处理体系。以下是对DataWorks产品使用合集的概述,涵盖数据处理的各个环节。
DataWorks产品使用合集之如何将CSV文件从阿里云OSS同步到ODPS表,并且使用列作为表分区
|
6月前
|
SQL 分布式计算 监控
基于阿里云 EMR Serverless Spark 版快速搭建OSS日志分析应用
本文演示了使用 EMR Serverless Spark 产品搭建一个日志分析应用的全流程,包括数据开发和生产调度以及交互式查询等场景。
56595 7
基于阿里云 EMR Serverless Spark 版快速搭建OSS日志分析应用