在使用阿里云Elasticsearch时,如果您希望提高近期数据查询的效率,同时降低历史数据的存储成本,可通过冷热数据分离实现。本文介绍如何创建冷热集群,并设置索引的冷热属性,来实现冷热数据分离。
背景信息
节点类型 | 存储数据要求 | 读写性能要求 | 规格要求 | 存储要求 |
---|---|---|---|---|
热节点 | 近期数据,例如最近2天的日志数据。 | 高 | 高,例如32核64G | 建议使用SSD云盘存储数据,存储空间大小需根据数据大小进行设置。 |
冷节点 | 历史数据,例如2天之前的日志数据。 | 低 | 低,例如8核32G | 建议使用高效云盘存储数据,存储空间大小需根据数据大小进行设置。 |
说明 您也可以通过生命周期管理,将热节点中的数据定期自动迁移至冷节点中,详情请参见ILM(Index lifecycle management) overview。
创建冷热集群
在购买阿里云Elasticsearch实例时,启用冷数据节点,即可创建冷热集群。当您启用了冷数据节点并购买后,系统会在节点启动参数中加入-Enode.attr.box_type参数。
- 热数据节点:-Enode.attr.box_type=hot
注意 购买实例时,只有当启用了冷数据节点后,数据节点才会变成热节点。
- 冷数据节点:-Enode.attr.box_type=warm
设置索引的冷热属性
参见登录Kibana控制台,执行以下命令设置索引数据的冷热属性。
- 设置索引数据为热数据
PUT hot_data/_settings { "index.routing.allocation.require.box_type": "hot" }
- 设置索引数据为冷数据
PUT warm_data/_settings { "index.routing.allocation.require.box_type": "warm" }
在文档使用中是否遇到以下问题
更多建议
匿名提交