2

ElasticSearch Hot&Warm架构

  • 数据通常不会有Update操作;
  • 适⽤于Time based索引数据(生命周期管理),同时数据量⽐较大的场景。
  • 引⼊Warm节点,低配置大容量的机器存放老数据,以降低部署成本

两类数据节点, 不同的硬件配置

  • Hot 节点(通常使用 SSD):索引有不断有新⽂档写入。通常使用 SSD
  • Warm 节点(通常使用 HDD):索引不存在新数据的写入;同时也不存在⼤量的数据查询

如何配置Hot&Warm

  1. 标记节点

    bin/elasticsearch -E node.name=hotNode -E cluster.name=ljktest -E path.data=hot_data -E node.attr.my_node_type=hot -d
    bin/elasticsearch -E node.name=warmNode -E cluster.name=ljktest -E path.data=warm_data -E node.attr.my_node_type=warm -d

    查看是否生效curl http://localhost:9200/_cat/nodeattrs\?v

    node     host      ip        attr              value
    hotNode  127.0.0.1 127.0.0.1 ml.machine_memory 8589934592
    hotNode  127.0.0.1 127.0.0.1 xpack.installed   true
    hotNode  127.0.0.1 127.0.0.1 my_node_type      hot
    hotNode  127.0.0.1 127.0.0.1 ml.max_open_jobs  20
    warmNode 127.0.0.1 127.0.0.1 ml.machine_memory 8589934592
    warmNode 127.0.0.1 127.0.0.1 ml.max_open_jobs  20
    warmNode 127.0.0.1 127.0.0.1 xpack.installed   true
    warmNode 127.0.0.1 127.0.0.1 my_node_type      warm
  2. 配置索引到Hot Node

    PUT logs-2019-09-23
    {
      "settings": {
        "number_of_shards": 2,
        "number_of_replicas": 0,
        "index.routing.allocation.require.my_node_type":"hot"
        }
    }

    查看索引GET /_cat/shards

    logs-2019-09-23      1 p STARTED 0   230b 127.0.0.1 hotNode
    logs-2019-09-23      0 p STARTED 0   230b 127.0.0.1 hotNode
  3. 配置索引到Warm Node

    假设现在之前hot的索引,我们要移动到warm节点上了。

    PUT logs-2019-09-23/_settings
    {
      "index.routing.allocation.require.my_node_type":"warm"
    }

    查看索引

    logs-2019-09-23      1 p STARTED 0   283b 127.0.0.1 warmNode
    logs-2019-09-23      0 p STARTED 0   283b 127.0.0.1 warmNode

小鸡
214 声望24 粉丝

1.01的365次方=37.8