阿里云Elasticsearch 7.10内核增强版(Indexing Service)将索引构建写入部分全部托管在云端的Elasticsearch集群中,以满足海量时序日志数据的快速写入要求。本文介绍如何通过索引管理功能实现云端索引管理。
使用限制
仅开启Indexing Service索引构建服务或Openstore存储的7.10版本实例支持在ES控制台使用索引管理功能。
如果通用商业版实例要使用索引管理功能,可以登录Kibana控制台,进入Management页面使用Kibana的索引管理功能进行索引管理。由于不同版本的Kibana操作页面有差异,进入索引管理页面的路径均不同,使用时可以参考对应版本的Kibana官方文档。
注意事项
- 开启Indexing Service索引构建服务后,默认为所有索引开启云端写入托管(系统索引除外)。集群中的数据流Data Stream索引以及非Data Stream数据集的独立索引均默认在云端服务进行写入托管。 
- Indexing Service按照写入托管索引总大小和写入流量进行按量计费,业务上建议使用数据流(Data Stream)和索引生命周期管理(ILM)滚动策略实现云端托管空间最优化。 
- Indexing Service托管索引默认3天将自动取消托管,请根据具体业务场景评估取消托管时间,支持在控制台上手动关闭和API关闭。 
- Indexing Service场景,索引处于托管状态,不兼容ILM Action中的shrink操作,建议当索引处于未托管状态时,执行shrink配置。详细信息,请参见ILM-shrink。 
- Indexing Service内核增强版实例与用户集群进行数据同步时,依赖于apack/cube/metadata/sync任务(可通过 - GET _cat/tasks?v命令获取该任务信息),不建议手动清理该任务。如果被清理,请尽快使用- POST /_cube/meta/sync命令恢复,否则会影响业务写入。
- 频繁的Put Mapping将消耗大量的计算资源,对托管服务稳定性影响极大。建议您写数据前提前定义索引模板,降低Put Mapping操作。 
操作步骤
- 登录阿里云Elasticsearch控制台。
- 在左侧导航栏,单击Elasticsearch实例。
- 进入目标实例。- 在顶部菜单栏处,选择资源组和地域。
- 在Elasticsearch实例中单击目标实例ID。
 
- 在左侧导航栏,选择。 
- 单击索引管理页签,查看并管理集群中的索引。 - 系统默认展示全部索引,您也可以根据需求筛选或查找对应索引: - 对于OpenStore自定义冷热存储版本,您可以通过仅查看托管中的索引和查看OpenStore冷索引筛选相关索引。  
- 对于OpenStore智能混合存储版本,只支持通过仅查看托管中的索引筛选相关索引,且索引管理页面最上方会展示OpenStore索引总大小及索引个数。  
 - 关键参数 - 说明 - 仅查看托管中的索引 说明- 仅7.10内核增强版Indexing Service系列支持此参数。 - 选中该选项时,支持查看以下信息: - 云端托管索引总大小:当前时刻,正处于云端写入托管中的索引总大小。 
- 索引个数:当前时刻,正处于云端写入托管中的索引总个数。该数值为当前系统中的实时数值。 
 说明- 云端托管索引总大小与索引个数均为实时变化数值,不是历史数值。 - 查看OpenStore冷索引 说明- 仅7.10内核增强版实例开启OpenStore自定义冷热存储功能后,支持此参数。 - 选中该选项时,支持查看以下信息: - OpenStore索引总大小:当前时刻,正处于OpenStore冷阶段存储的索引总大小。 
- 索引个数:当前时刻,正处于OpenStore冷节点存储的索引总个数。该数值为当前系统中的实时数值。 
 说明- 如果是非数据流场景,数据写入到OpenStore存储后,索引名称将以 - openstore-*开头,不影响业务查询。- 当前生命周期阶段 - 用于查看索引当前生命周期状态的信息,例如当前执行的阶段、在每个阶段中执行的操作等。显示每个索引何时进入运行阶段、运行阶段的定义以及有关任何故障的信息。详情请参见Explain lifecycle API。 说明- 开启OpenStore智能混合存储功能的索引仅支持热阶段和删除阶段,不支持冷阶段。 - 写入托管状态 说明- 仅7.10内核增强版Indexing Service系列支持此参数。 - 支持以下两种状态: - 开启(默认):该索引的云端写入托管处于开启状态。 
- 关闭:取消该索引的云端写入托管。支持手动关闭,关闭后不支持开启。 
 说明- 在独立索引的云端写入托管过程中,索引数据全量存储在云托管服务Indexing Service中,将会增加云托管费用。请根据业务使用场景(如索引是否仍有数据写入)评估是否需要手动关闭该索引的写入托管功能。 
- 手动关闭某一索引的云端写入托管,数据将直接写入集群中。请在关闭前确认该索引是否持续有数据写入,以及集群的负载情况,否则可能出现集群负载高的风险。 
- 业务上建议使用数据流(Data Stream)和索引生命周期管理(ILM)滚动策略,实现云端托管空间最优化。 
 
相关API
- 取消索引托管。 - POST /<yourIndexName>/_cube/unfollow- 强制取消索引托管:取消托管过程中索引需完成段合并后才会结束托管,段合并耗时一般与segment数量、数据写入情况及数据量等有关系,如果耗时较长,对于内核版本为1.6及以上的内核增强版实例可通过如下命令,强制取消索引托管。 - POST /<yourIndexName>/_cube/unfollow?force=true- <yourIndexName>:需要替换为您实际的索引名称。 重要- 取消/强制取消索引托管API无法批量取消索引托管,频繁取消索引托管,对托管服务影响较大,建议不要频繁操作。 
- 仅内核版本为1.6及以上的内核增强版实例支持强制取消索引托管。对于内核版本低于1.6的实例,可升级内核版本,具体操作请参见升级版本。 
 
- 获取托管状态信息。 - GET /<yourIndexName>/_cube/stats- <yourIndexName>:需要替换为您实际的索引名称。 
- 获取集群托管到Indexing Service的整体状态。 - GET /_cube/stats
- 将快照恢复到Indexing Service实例。 - 例如将my_backup仓库中,snapshot_1快照中的index_1索引数据恢复到Indexing Service实例中,示例如下。 说明- 实际使用时,您需要将对应信息替换为您实际的信息。 - POST /_snapshot/my_backup/snapshot_1/_restore { "indices": "index_1", "ignore_index_settings": [ "index.apack.cube.following_index" ] }
- 手动触发数据流Rollover。 - POST <yourDatastreamName>/_rollover- <yourDatastreamName>:需要替换为您实际的数据流名称。