엘라스틱서치 버전 7.12 입니다.
Elasticsearch의 샤드 재배치는 클러스터 내의 한 노드에서 다른 노드로 샤드(인덱스 파티션)를 이동하는 프로세스입니다. 샤드 재배치는 종종 노드 간 데이터 분포의 균형을 맞추거나 클러스터 성능을 최적화하기 위해 수행됩니다.
다음은 Elasticsearch에서 샤드 재배치를 수행하는 단계입니다.
클러스터 상태 확인 :
샤드 재배치를 수행하기 전에 Elasticsearch 클러스터의 상태를 확인하는 것이 중요합니다. 다음 명령을 실행하여 이를 수행할 수 있습니다.
curl -X GET "http://localhost:9200/_cluster/health"
- 샤드 재배치를 진행하기 전에 클러스터 상태가 녹색 또는 노란색인지 확인하십시오.
- Enable Shard Allocation : 기본적으로 Elasticsearch는 자동 샤드 할당을 허용합니다. 샤드 할당이 비활성화된 경우 샤드 재배치를 수행하려면 활성화해야 합니다.
curl -X PUT "http://localhost:9200/_cluster/settings" -H 'Content-Type: application/json' -d '{
"transient": {
"cluster.routing.allocation.enable": "all"
}
}'
이 명령은 클러스터의 모든 노드에서 샤드 할당을 활성화합니다.
샤드 재배치 :
Elasticsearch는 클러스터 재조정 프로세스의 일부로 샤드 재배치를 자동으로 처리합니다. 그러나 "reroute" API를 사용하여 샤드 재배치를 명시적으로 트리거할 수 있습니다.
curl -X POST "http://localhost:9200/_cluster/reroute" -H 'Content-Type: application/json' -d '{
"commands": [
{
"move": {
"index": "your_index_name",
"shard": shard_number,
"from_node": "current_node_name",
"to_node": "target_node_name"
}
}
]
}'
your_index_name재배치하려는 샤드가 포함된 인덱스의 이름으로 바꿉니다 . shard_number이동하려는 특정 샤드 번호(예: 0, 1, 2, ...)로 바꿉니다 . current_node_name현재 샤드가 있는 노드의 이름과 target_node_name샤드를 옮기고자 하는 노드의 이름으로 바꿉니다 .
참고: _cat/nodesAPI를 사용하여 Elasticsearch 클러스터의 모든 노드와 해당 이름을 나열할 수 있습니다.
샤드 재배치 확인 :
샤드 재배치 명령을 실행한 후 클러스터 상태 및 샤드 할당 상태를 확인하여 샤드가 재배치되었는지 확인할 수 있습니다.
curl -X GET "http://localhost:9200/_cluster/health"
curl -X GET "http://localhost:9200/_cat/shards"
클러스터 상태가 녹색 또는 노란색으로 유지되고 샤드 할당 상태가 샤드가 대상 노드로 이동했음을 나타내는지 확인합니다.
샤드 할당 비활성화 :
2단계에서 샤드 할당을 비활성화했고 Elasticsearch가 샤드의 자동 균형을 더 이상 원하지 않는 경우 다시 비활성화할 수 있습니다.
curl -X PUT "http://localhost:9200/_cluster/settings" -H 'Content-Type: application/json' -d '{
"transient": {
"cluster.routing.allocation.enable": "none"
}
}'
샤드 재배치는 Elasticsearch의 샤드 할당 및 밸런싱 메커니즘에 의해 자동으로 관리됩니다. 대부분의 경우 균형 잡힌 클러스터를 유지하기 위해 Elasticsearch가 이 프로세스를 처리하므로 샤드 재배치를 수동으로 트리거할 필요가 없습니다. 그러나 특정 사용 사례나 요구 사항이 있는 경우 위에서 언급한 단계를 사용하여 샤드 재배치를 수동으로 수행할 수 있습니다.
'Elasticsearch' 카테고리의 다른 글
엘라스틱서치(Elasticsearch) - 동시성 제어 (0) | 2023.09.19 |
---|---|
엘라스틱서치에서 인덱스 생명주기 (elasticsearch- index_lifeCycle management) 설정 (1) | 2023.08.23 |
Elasticsearch - node repurpose tool to clean up (0) | 2023.02.27 |
elasticsearch 클러스터간 검색 (0) | 2023.02.25 |
elasticsearch 백업/복원 (클러스터간 백업/복원) (0) | 2023.02.25 |