免费注册
帮助文档(华北一、二)

  • SSD磁盘类型的集群随着数据的不断写入,节点的磁盘数据逐渐增大。可能对于一些较老的数据,不需要太多的查询或不再做查询使用,那么这些数据就会占用大量的SSD性能资源和存储空间。数据冷热分离通过配置使最新的数据保存在ssd磁盘节点上,较老的数据自动迁移到廉价sata节点,使用有限的ssd节点资源来实现同时支持高并发读写和大数据量的存储。

    ES服务也给出了数据冷热分离的策略,过程如下:

    ● 准备

    集群实例:

    SSD(愿集群):ues-qwerty,前三个节点ip分别为 ues-qwerty-ip1、ues-qwerty-ip2、ues-qwerty-ip3

    SATA(新集群):ues-asdfgh

    1、愿集群(ues-qwerty)修改配置。

    控制台上修改 参数管理 中 node.attr.tag 项为 hot 。

    2、线性重启原集群(ues-qwerty)

    3、固定原索引在原集群节点上(ues-qwerty)

     

    # Ecs

    curl -XPUT localhost:9200/*/_settings -d '{"settings": {"index.routing.allocation.require.tag": "hot"}}'

    # Kibana

    PUT /*/_settings

    {

      "settings": {

        "index.routing.allocation.require.tag": "hot"

      }

    }

    4、新集群(ues-asdfgh)修改配置,同1

    cluster.name: ues-qwerty

    discovery.zen.ping.unicast.hosts: [ues-qwerty-ip1,ues-qwerty-ip2,ues-qwerty-ip3]

    node.attr.tag: cold

    5、重启新集群(ues-asdfgh)

    6、老数据迁移到 cold 节点

     
    # Ecs 
    curl -XPUT localhost:9200/cold_index/_settings -d '{"settings": 
    {"index.routing.allocation.require.tag": "cold"}}' 
    # Kibana 
    PUT /cold_index/_settings 
    {   
      "settings": {     
        "index.routing.allocation.require.tag": "cold"   
      } 
    }

    定时迁移脚本示例:

     
    #!/bin/bash 
    #author: Inspur 
    #created at 2017/08/30 19:00 
    time=`date -d last-day "+%Y.%m.%d"` 
    # 请将下行当中的localhost改成自己elasticsearch服务对应的Ip 
    curl -XPUT http://localhost:9200/*-${time}/_settings -d' 
    {   
      "index.routing.allocation.require.tag": "cold" 
    }'

    本章主要参考:

    https://www.elastic.co/guide/cn/elasticsearch/guide/current/administration.html


文档是否已解决您的问题?

  已解决   未解决

如您有其它疑问,您也可以与我们技术专家联系探讨。

联系技术专家