定时调度(公测中)
百度智能云Elasticsearch(BES)提供定时调度功能,使用此功能可实现以下需求:
- 定时创建索引
- 定时删除索引
- 对索引存储进行限制
- 对冷热数据分离的索引定时置冷
- 定时备份数据
- 定时修改集群配置
- 定时rollover
- 定时forcemerge
用户可以按照业务场景创建调度任务,更方便地使用和管理百度智能云Elasticsearch(BES)。
使用方式
- 登录百度智能云Elasticsearch控制台,并点击集群名称,进入集群详情界面。
- 在左侧导航栏,单击定时调度配置进入定时调度界面。
创建任务
在定时调度配置界面,可以按照提示创建任务。
查看任务列表
在定时调度配置界面,用户可以看到已经创建的任务列表,以及定时任务的执行次数和失败次数,并进行后续的修改任务、删除任务操作。
修改任务
点击任务列表中的修改按钮,即可以修改对应定时任务。
删除任务
点击任务列表中的删除按钮,即可删除对应定时任务。
配置任务
时间调度选择
定时调度
用户可以配置定时调度,指定每天、每周、每月的确定时间执行任务。
如图为指定每天凌晨0点执行任务:
如图为指定每周一凌晨1点执行任务:
周期调度
用户可以配置周期调度,指定每间隔一段时间执行一次任务。
如图为指定每30分钟执行一次任务:
如图为指定每3小时执行一次任务:
任务类型
创建索引
功能介绍
定时创建索引。用户可以指定索引的命名规则,以及settings、mappings等信息,并按照设定的时间策略创建索引。
使用方式
例如:用户需求每周一零点创建一个新索引,命名规则为test_index_2020.12.01
,则可以配置一个创建索引任务。配置方式如下图:
注意事项
- 系统会将索引名称前缀和索引名称后缀相结合成索引名称,并按指定时间创建索引。
- 索引名称支持数字、小写字符、下划线(
_
)和横线(-
)。 - 索引信息为JSON格式,可以设置索引的settings和mappings,详见创建索引。可不填写。
- 建议在创建索引前先创建模板。
删除索引
功能介绍
用户可以使用通配符等方式匹配索引,并按照策略定期删除索引。
使用方式
例如:用户需要在每天凌晨0点删除7天前创建的,并且名称符合test*
的索引,则可以配置一个创建索引任务。配置方式如下图:
注意事项
- 索引删除不可恢复,一定要确定索引数据可以删除,才能配置任务。
存储限制
功能介绍
用户可以使用通配符等方式匹配索引,定期检查索引占据的存储空间是否超过设定值,如果超过,则将索引置为只读模式。
使用方式
例如:用户需要名称符合test*
的索引均不允许超过100GB,则可以配置一个存储限制任务。配置方式如下图:
如图代表,每十分钟对集群中所有符合test*
的索引进行检测,如果存储超过100GB,则置为只读模式。
注意事项
- 用户可以将调度周期设置得更短,如“每隔1分钟执行一次”,这样可以更精细地对索引存储进行限制。
- 只读模式可以通过以下API恢复。注意:若索引依旧超过限制的最大存储量,即使恢复后,依旧会再次被置为只读模式。
PUT {index_name}/_settings
{
"index.blocks.write":null
}
索引置冷
功能介绍
对于基于BOS的冷热数据分离的index,用户可以使用通配符等方式匹配索引,定时对其置为冷数据索引并将数据上传到BOS。非冷热数据分离的index则不受影响。
使用方式
例如:用户需要将创建超过3天且名称符合test*
的冷热数据分离索引置为冷索引,则可以配置一个索引置冷任务。配置方式如下图:
注意事项
- 索引置冷仅允许支持冷热数据分离的集群使用。
- 索引置冷后,将变为只读索引且数据上传到BOS。
备份数据
功能介绍
用户可以通过基于BOS的快照与恢复来备份数据。在创建BOS仓库后,用户可以设置需要备份的索引和其他快照策略,系统会根据配置,定时执行快照备份数据,保证数据的安全性。
使用方式
例如:用户需要每周一将集群中my_index1,my_index2,my_index3
等几个索引的数据备份到BOS,则可以配置一个备份数据任务。配置方式如下图:
注意事项
- 用户需要提前创建BOS仓库。使用方式参见基于BOS的快照与恢复。
- 快照任务的最短间隔是1h,若配置较小的时间间隔,也会以1h的时间间隔备份数据。
集群配置
功能介绍
用户可以定期根据需要修改集群配置。
使用方式
例如:用户需要每天21:00关闭配置action.destructive_requires_name
,以便能够使用通配符删除索引,而在每天的23:00完成删除,并开启action.destructive_requires_name
,禁止使用通配符删除索引,以防止误操作导致数据丢失。则配置方式如下图:
rollover
功能介绍
rollover API可以根据索引的大小、文档数、创建时长等规则翻转到新索引。当rollover触发后,将创建新索引,并将写入别名(write alias)指向新索引,后续写入都将写入新索引。用户可以配置索引的大小、文档数、创建时长等策略定时翻转索引。
使用方式
例如:用户需要每周一对别名test_a
的索引进行rollover,则可以配置一个rollover任务。配置方式如下图:
注意事项
- rollover的使用参见rollover API。
forcemerge
功能介绍
用户可以使用通配符等方式匹配索引,并按照策略定期合并segment。合并前,索引会被置为只读。
使用方式
例如:用户需要每天凌晨0点对创建超过10天且名称符合test*
的索引进行segment合并,且将segment合并为10个,则可以配置一个forcemerge任务。配置方式如下图:
注意事项
- forcemerge会将索引先置为只读索引,然后再进行forcemerge,一般适用于不再更新的索引,且执行频率不易过高。
说明
-
索引匹配规则:
- 可以使用通配符(*)来匹配多个索引,如
test*
代表匹配以test
为前缀的所有索引; - 可以直接使用索引名称匹配,如
test
代表匹配名称为test
的索引;也可以输入多个索引名称用逗号分隔,如test1,test2
; - 可以使用减号(-)排除索引,例如,
test*,-test
,代表匹配以test
为前缀且除去名称为test
的所有索引。
- 可以使用通配符(*)来匹配多个索引,如
- 执行定时任务的时间减去索引创建时间称为索引年龄,只有年龄超过索引最小年龄的索引才会执行定时任务。最小年龄可以配置为0,代表符合索引匹配规则的索引都会执行定时任务。