首页
/ Elasticsearch Curator v8.0.18发布:全面兼容Elasticsearch 7.x系列的重大更新

Elasticsearch Curator v8.0.18发布:全面兼容Elasticsearch 7.x系列的重大更新

2025-06-16 18:26:31作者:伍霜盼Ellen

Elasticsearch Curator是一个用于管理Elasticsearch索引的强大工具,它可以帮助用户自动化执行日常的索引管理任务,如创建、优化等操作。最新发布的Curator v8.0.18版本带来了一个重要的改进:全面兼容Elasticsearch 7.14.x及更高版本,这对于仍在使用Elasticsearch 7.x系列的用户来说是一个重大利好。

版本兼容性扩展

Curator v8.0.18通过升级其依赖的es_client库至8.17.2版本,实现了对Elasticsearch 7.14.x及更高版本的全面支持。经过严格测试,该版本已确认可以与Elasticsearch v7.14.0、v7.14.2、v7.17.7、v7.17.25和v7.17.27等版本完美配合工作。虽然由于M系列处理器上的JVM问题(OpenJDK 16至19之间的版本存在兼容性问题)导致无法在MacBook Pro上测试v7.15.x至v7.17.6版本,但由于7.14和7.17系列之间没有影响Curator的API变更,我们有理由相信这些版本也能正常工作。

系统索引默认排除

新版本中,Curator默认会排除系统索引,这一改进增强了操作的安全性。默认排除的系统索引模式包括:

-.kibana*,-.security*,-.watch*,-.triggered_watch*,-.ml*,-.geoip_databases*,-.logstash*,-.tasks*

这一变更减少了意外操作系统索引的风险,特别适合在生产环境中使用。

功能增强

在测试过程中,开发团队发现了一个与恢复功能相关的重要问题。原先的恢复操作类要求用户提供确切的索引名称来进行恢复,而实际上Elasticsearch的恢复API支持使用多目标语法(逗号分隔的模式)来选择和取消选择索引。虽然这种模式匹配功能并未明确禁止使用,但由于无法正确验证和匹配模式而非精确名称,导致功能存在缺陷。

为解决这一问题,开发团队在helpers.utils模块中新增了三个关键函数:

  1. multitarget_match:用于多目标模式匹配
  2. multitarget_fix:用于修复多目标模式
  3. regex_loop:提供正则表达式循环支持

现在,Restore类在其_get_expected_output方法中调用multitarget_match来从列表对象中获取名称,这使得使用模式匹配成为可能,相关测试也已更新以确保这一功能的可靠性。

代码质量提升

本次发布还包含了大量代码风格改进,使其更加符合PEP8规范。这些改进包括:

  • 大量注释和代码换行的优化
  • 集成测试的相应更新
  • 在curator.defaults中新增了VERSION_MAX和VERSION_MIN常量,用于版本兼容性检查(VERSION_MIN设置为7.14.0)

日期数学功能修复

开发团队还修复了包含冒号的日期模式(datemath)的集成测试问题。过去由于Elasticsearch将冒号字符评估为远程索引的潜在指示符,导致这一问题。该问题已在Elasticsearch 8.7.0版本中得到修复。

迁移注意事项

虽然Curator v8可以使用v7版本的动作配置文件,但客户端配置文件需要进行调整。文档中详细说明了这些语法差异,用户在升级时应当仔细阅读相关说明以确保平滑过渡。

这一版本的发布为仍在使用Elasticsearch 7.x系列的用户提供了升级到Curator v8的机会,使他们能够享受到新版本带来的各种改进和增强功能,同时保持与现有Elasticsearch版本的兼容性。

登录后查看全文
热门项目推荐

项目优选

收起
kernelkernel
deepin linux kernel
C
22
6
docsdocs
OpenHarmony documentation | OpenHarmony开发者文档
Dockerfile
162
2.05 K
nop-entropynop-entropy
Nop Platform 2.0是基于可逆计算理论实现的采用面向语言编程范式的新一代低代码开发平台,包含基于全新原理从零开始研发的GraphQL引擎、ORM引擎、工作流引擎、报表引擎、规则引擎、批处理引引擎等完整设计。nop-entropy是它的后端部分,采用java语言实现,可选择集成Spring框架或者Quarkus框架。中小企业可以免费商用
Java
8
0
openGauss-serveropenGauss-server
openGauss kernel ~ openGauss is an open source relational database management system
C++
146
191
leetcodeleetcode
🔥LeetCode solutions in any programming language | 多种编程语言实现 LeetCode、《剑指 Offer(第 2 版)》、《程序员面试金典(第 6 版)》题解
Java
60
16
ohos_react_nativeohos_react_native
React Native鸿蒙化仓库
C++
198
279
apintoapinto
基于golang开发的网关。具有各种插件,可以自行扩展,即插即用。此外,它可以快速帮助企业管理API服务,提高API服务的稳定性和安全性。
Go
22
0
RuoYi-Vue3RuoYi-Vue3
🎉 (RuoYi)官方仓库 基于SpringBoot,Spring Security,JWT,Vue3 & Vite、Element Plus 的前后端分离权限管理系统
Vue
950
556
ShopXO开源商城ShopXO开源商城
🔥🔥🔥ShopXO企业级免费开源商城系统,可视化DIY拖拽装修、包含PC、H5、多端小程序(微信+支付宝+百度+头条&抖音+QQ+快手)、APP、多仓库、多商户、多门店、IM客服、进销存,遵循MIT开源协议发布、基于ThinkPHP8框架研发
JavaScript
96
15
Cangjie-ExamplesCangjie-Examples
本仓将收集和展示高质量的仓颉示例代码,欢迎大家投稿,让全世界看到您的妙趣设计,也让更多人通过您的编码理解和喜爱仓颉语言。
Cangjie
346
1.33 K