Elasticsearch hot & warm 구조의 간단한 실현

2287 단어 ELK
hot &warm 구조는 간단하게 말하면 Elasticsearch 집단 배치를 hot 데이터 노드와 warm 데이터 노드로 나누어 time based 인덱스 데이터에 적용한다.그 중에서 핫 데이터 노드는 끊임없이 문서에 새로 쓰는 인덱스를 처리하는 데 사용되고,warm 데이터 노드는 더 이상 새 문서에 쓰지 않지만 조회에 필요한 인덱스를 처리합니다.
이 구조의 실현은 홈페이지를 참고할 수 있다https://www.elastic.co/guide/en/elasticsearch/reference/7.2/shard-allocation-filtering.html 
구체적인 실현: 여기는 두 개의 노드를 포함하는 집단으로 설명하는데 node-1은 hot 노드에 대응하고 node-2는 warm 노드에 대응한다
1) node를 사용합니다.attr 태그 노드
node-1의elasticsearch.yml 구성:
cluster.name: test
node.name: node-1
path.data: /home/elk/elasticsearch-7.2.0/data
path.logs: /home/elk/elasticsearch-7.2.0/logs
http.port: 9200
network.host: 0.0.0.0
discovery.seed_hosts: ["192.168.52.127"]
cluster.initial_master_nodes: ["node-1"]
node.attr.type: hot

node-2의elasticsearch.yml 구성:
cluster.name: test
node.name: node-2
path.data: /home/elk/elasticsearch-7.2.0/data
path.logs: /home/elk/elasticsearch-7.2.0/logs
http.port: 9200
network.host: 0.0.0.0
discovery.seed_hosts: ["192.168.52.127"]
cluster.initial_master_nodes: ["node-1"]
node.attr.type: warm

node-1, node-2를 시작합니다.kibana에서 보기: GET/_cat/nodeattrs?v&h=node,attr,value
node   attr              value
node-2 ml.machine_memory 8201084928
node-2 ml.max_open_jobs  20
node-2 xpack.installed   true
node-2 type              warm
node-1 ml.machine_memory 8201076736
node-1 xpack.installed   true
node-1 ml.max_open_jobs  20
node-1 type              hot

2) node-1 노드, 즉 hot 노드에 인덱스 만들기
PUT logs-2020.07.05
{  
"settings": {    
"number_of_shards": 2,    
"number_of_replicas": 0,    
"index.routing.allocation.require.type": "hot"  
}
}

색인 분포 보기: GET/_cat/shards/logs-2020.07.05?v&h=index,node
index           node
logs-2020.07.05 node-1
logs-2020.07.05 node-1

3) logs-2020.07.05에 새로운 데이터가 기록되지 않는다고 가정하고 색인을 node-2 노드, 즉warm 노드로 이동합니다
PUT logs-2020.07.05/_settings
{
  "index.routing.allocation.require.type": "warm"
}

색인 분포 보기: GET/_cat/shards/logs-2020.07.05?v&h=index,node
index           node
logs-2020.07.05 node-2
logs-2020.07.05 node-2

좋은 웹페이지 즐겨찾기