栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 前沿技术 > 大数据 > 大数据系统

es冷热数据分离

es冷热数据分离

官网
## 
https://www.elastic.co/guide/en/elasticsearch/reference/master/search-request-body.html#request-body-search-preference?q=preference
目的

es冷热数据分离目的是为了节省成本。如下图:

对于开发人员而言即数据的冷热分离,实现此功能有2个前提条件:

硬件:

处理速度不同的硬件,最起码有读写速度不同的硬盘,如SSD、机械硬盘HDD。 软件配置:可以配置不同的数据存储在不同的硬盘,如近期数据存储在SSD,较远历史数据存储在sata。

elasticsearch 的冷热分离配置主要依赖于分片分布规则设置。

冷热分离实践

step1: 划分冷热节点

node.tag: hot
node.tag: cold
node.max_local_storage_nodes: 2   #允许每个机器启动两个es进程(可选)

step2:按时间规律等建索引。比如按天、按周建索引
索引模板logstash:所有 logstash* 的索引匹配的模板。

PUT /_template/logstash
{
        "order": 0,
        "template": "logstash*",
        "settings": {
            "index.routing.allocation.include.tag": "hot",
            "index.refresh_interval": "30s",
            "index.number_of_replicas": "1",
            "index.number_of_shards": "1",
            "index.translog.flush_threshold_ops": "30000"
        }
}

“index.routing.allocation.include.tag”: “hot“: 表示新建索引将分配到 node.tag = hot 的节点下

step3: 定时任务将历史索引分配到 cold 节点下。最新索引保存在hot节点,历史索引定时保存到cold节点。

自己写脚本,将历史索引标记为stale。

PUT /index_name/_settings
{
   "index.routing.allocation.include.tag" : "cold"
}

这样旧索引数据会自动迁移到cold集群上。

冷热数据查询
GET /_search?preference=xyzabc123
{
    "query": {
        "match": {
            "title": "elasticsearch"
        }
    }
}
转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/747324.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号