elasticsearch 생명주기 냉열 데이터 분리

4395 단어 elasticsearch
공식 문서 주소:
https://www.elastic.co/guide/en/elasticsearch/reference/7.4/index-lifecycle-management.html
필요: 1.5일 후 이전 색인을 난방기 단계로 이동하여 읽기 전용으로 표시한 다음 하나의 조각으로 축소합니다.2.30일 후에 색인을 냉각 상태로 옮긴 다음 비교적 저렴한 하드웨어로 옮깁니다.3. 필요한 90일 보존 기간이 되면 색인을 삭제합니다.
실시
1. 모든 데이터 노드에 tag
node.attr.box_type: hot
node.attr.box_type: warm
node.attr.box_type: cold

2. 스크롤 데이터 노드 재시작
1) 데이터 밸런싱 해제:
curl -XPUT /_cluster/settings
{
  "transient" : {
    "cluster.routing.allocation.enable " : "none"
  }
}

2) 캐시 새로 고침:
curl -XPOST /_flush/synced

3) 노드 재부팅
4) 데이터 균형 설정
curl -XPUT /_cluster/settings
{
  "transient" : {
    "cluster.routing.allocation.enable " : "all"
  }
}

5) 클러스터가 녹색으로 변하기를 기다립니다
  • 다른 노드를 스크롤하여 다시 시작합니다

  • 3. index 라이프 사이클 설정
    1) 라이프 사이클 정책 정의
    PUT _ilm/policy/my_policy
    {
      "policy": {
        "phases": {
          "hot": {
            "min_age": "0ms",
            "actions": {
              "set_priority": {
                "priority": 97
              }
            }
          },
          "warm": {
            "min_age": "5d",
            "actions": {
              "allocate": {
                "include": {},
                "exclude": {},
                "require": {
                  "box_type": "warm"
                }
              },
              "forcemerge": {
                "max_num_segments": 1
              },
              "set_priority": {
                "priority": 50
              }
            }
          },
          "cold": {
            "min_age": "30d",
            "actions": {
              "allocate": {
                "include": {},
                "exclude": {},
                "require": {
                  "box_type": "cold"
                }
              },
              "set_priority": {
                "priority": 1
              }
            }
          },
          "delete": {
            "min_age": "90d",
            "actions": {
              "delete": {}
            }
          }
        }
      }
    }
    

    주: 1)complete가 완료되면 이 정책은 실행이 끝난 셈이다. 즉, 이 단계가 존재하지 않는다. 만약에 다음에 상반된 조작을 촉발하면 이 정책을 촉발하지 않는다. 예를 들어cold를 수동으로 hot로 옮기면 자동으로 이동하지 않는다. 2)segment를 합병한 후 데이터 감소량은 약 1G/200G 정도이고,segmentmerge 후 검색 속도가 높아진다
    3) priority 우선순위: 노드가 붕괴되면 우선순위가 높으면 가장 먼저 복구된다
    4) hot: 롤오버와 우선순위 정책만 설정할 수 있으며, 다른 액션을 설정하면 오류가 발생합니다.
    2. 존재하는 모든 index에 생명주기 정책 적용
    PUT _all/_settings
    {
      "index.routing.allocation.require.box_type": "hot",
      "index.lifecycle.name": "my_policy"
    }
     : index hot 
    

    3. template 수정
    PUT _template/datastream_template
    {
      "index_patterns": ["datastream-*"],                 
      "settings": {
        "number_of_shards": 5,
        "number_of_replicas": 2,
        "index.lifecycle.name": "my_policy",      
        "index.routing.allocation.require.box_type": "hot"   
      }
    }
    

    4. 현재 index 상태 보기
    GET datastream-20191005/_ilm/explain
    

    5. 기타 명령
     :
    POST /datastream-20191005/_forcemerge?only_expunge_deletes=false&max_num_segments=100&flush=true
    
     index segment :GET /_cat/segments?datastream-20191005
    
     tag :GET /_cat/nodeattrs
    
     exclude_ip:
    PUT /_cluster/settings
    {
      "transient": {
        "cluster.routing.allocation.exclude._ip": "xx.xx.x.xx,xx.xx.x.xx"
      }
    }
    
     exclude_ip :
    PUT /_cluster/settings
    {
      "transient": {
        "cluster.routing.allocation.exclude._ip": null
      }
    }
    
     :
    PUT datastream-20191005/_settings
    {
      "index": {
        "routing": {
          "allocation": {
            "require": {
              "box_type": "cold"
            }
          }
        }
      }
    }
    
     :
    GET datastream-20191005/_settings
    
     policy :
    GET _ilm/policy/my_policy
    

    6. 기타 node tag 방식
     tag
    node.zone: hot
    node.zone: warm
    node.zone: cold
    
     box_type zone
    PUT /datastream-20191005/_settings
    {
      "index.routing.allocation.include.zone": "cold"
    }
    
     :index.routing.allocation include/require/exclude, , 
    
    

    좋은 웹페이지 즐겨찾기