zoukankan      html  css  js  c++  java
  • ELSTICSEARCH 将数据从热节点转到冷节点

    在ES查询时,有些数据是热点数据,这些数据是需要需要更好的机器配置的节点,当数据变得不是那么重要的时候,我们需要转到配置相对低的节点上。

    比如热点新闻专题,我们需要更好的机器,热点过后,这些数据不再需要那么快的查询效率。这种情况我们可以通过ES的配置来实现。

    热节点要求:

    cpu,内存,io 配置比较高,建议使用SSD

    冷节点要求

    磁盘比较大

    具体配置方法

    给节点打标签

    # 标记一个 Hot 节点
    bin/elasticsearch  -E node.name=hotnode -E cluster.name=geektime -E path.data=hot_data -E node.attr.my_node_type=hot
    
    # 标记一个 warm 节点
    bin/elasticsearch  -E node.name=warmnode -E cluster.name=geektime -E path.data=warm_data -E node.attr.my_node_type=warm

    增加
    my_node_type 属性,一个节点为 hot,一个为 warm 节点。

    # 通过下面的命令再kibana查看节点
    GET /_cat/nodeattrs?v

    将索引创建到热节点

    PUT xinwen2019
    {
      "settings":{
        "number_of_shards":2,
        "number_of_replicas":0,
        "index.routing.allocation.require.my_node_type":"hot"
      }
    }
    创建索引时指定热节点。
    index.routing.allocation.require.my_node_type


    PUT xinwen2019/_doc/1 
    {
    "key":"value"
    }

     当热点过后将数据转移到冷节点。

    PUT xinwen2019/_settings 
    {
    "index.routing.allocation.require.my_node_type":"warm"
    }
    配置副本到不同的rack
    通过配置主副本配置不同的rack保证 ES节点的高可用性。

    # 标记一个 rack 1
    bin/elasticsearch  -E node.name=node1 -E cluster.name=geektime -E path.data=node1_data -E node.attr.my_rack_id=rack1
    
    # 标记一个 rack 2
    bin/elasticsearch  -E node.name=node2 -E cluster.name=geektime -E path.data=node2_data -E node.attr.my_rack_id=rack2
    
    PUT _cluster/settings
    {
      "persistent": {
        "cluster.routing.allocation.awareness.attributes": "my_rack_id"
      }
    }
    
    PUT my_index1
    {
      "settings":{
        "number_of_shards":2,
        "number_of_replicas":1
      }
    }
    
    PUT my_index1/_doc/1
    {
      "key":"value"
    }
    
    
    GET _cat/shards?v
    DELETE my_index1/_doc/1
    

     这样配置后,可以看到 shard 的主分片和副本 被分配到了不同的 节点上。

     
     
     

     

  • 相关阅读:
    FastAPI(60)- 针对 WebSocket 进行单元测试
    FastAPI(59)- 详解使用 OAuth2PasswordBearer + JWT 认证
    FastAPI(58)- 使用 OAuth2PasswordBearer 的简单栗子
    FastAPI(57)- 安全相关的概念
    FastAPI(56)- 使用 Websocket 打造一个迷你聊天室
    FastAPI(55)- Events: startup
    FastAPI(54)- 详解 Request 请求对象
    FastAPI(53)- Response Headers 响应设置 Headers
    FastAPI(52)- Response Cookies 响应设置 Cookies
    FastAPI(51)- 自定义响应之 StreamingResponse、FileResponse
  • 原文地址:https://www.cnblogs.com/yg_zhang/p/12114550.html
Copyright © 2011-2022 走看看