基于节点磁盘介质的冷热数据分离
更新时间:2022-12-01
创建带冷数据节点集群
冷数据节点集群创建
登录百度智能云Elasticsearch 控制台,选择【创建集群】
开启冷数据节点,并选择对应的计算资源及磁盘配置进行创建
冷热数据节点对比
节点类型 | 磁盘类型 | 参数配置 | 是否绑定百度云blb接受用户请求 |
---|---|---|---|
热数据节点 | 建议使用ssd云磁盘 | node.attr.data_tier: hot | 是 |
冷数据节点 | 高性能云磁盘 | node.attr.data_tier: warm | 否 |
创建成功后可以通过以下命令查看节点属性:
GET /_cat/nodeattrs?v&s=value
例如创建单个热节点及单个冷节点则节点配置如下:
冷热数据分离的集群建议使用热数据节点存储近期数据(如近7天数据)来保证热数据的查询效率,使用冷数据节点来存储历史数据(如7天之前的数据)来降低存储成本。
注意:创建集群时,只有启用了冷数据节点,数据节点才会变成热数据节点。
索引操作冷热变更
冷热数据属性说明
index.routing.allocation.require.data_tier
属性用于设置索引为热数据(hot)还是冷数据(warm)。
创建热索引:
PUT hot_warm_data
{
"settings" : {
"index.routing.allocation.require.data_tier": "hot",
"number_of_shards": 5
}
}
设置索引数据为冷数据
PUT hot_warm_data/_settings
{
"index.routing.allocation.require.data_tier": "warm"
}
数据开始由热数据节点向冷数据节点迁移,迁移进度可以通过以下命令查看:
GET /_cat/recovery?v&active_only=true
迁移完成后shard分布情况,数据已被迁移到冷数据节点
设置索引数据为热数据
PUT hot_warm_data/_settings
{
"index.routing.allocation.require.data_tier": "hot"
}
数据开始由冷数据节点向热数据节点迁移,迁移进度可以通过以下命令查看:
GET /_cat/recovery?v&active_only=true
迁移完成后shard分布情况,数据已被迁移到热数据节点