728x90
런타임에 환경 설정 변경
elasticsearch.yml 파일을 편집하는 것이 가장 편한 방법이지만, 엘라스틱서치 인스턴스를 재설치 해야하는 문제가 있다.
_cluster API를 이용하면 런타임에 클러스터 환경설정이 가능하다.
PUT /_cluster/settings
{
"persistent": {
"indices.recovery.max_bytes_per_sec": "50mb"
}
}
// 일시적인 설정
/*
PUT /_cluster/settings?flat_settings=true
{
"transient": {
"indices.recovery.max_bytes_per_sec": "50mb"
}
}
*/
- persistent 속성을 사용하면, 영구적으로 엘라스틱서치 설정값을 수정할 수 있다.
- transient 속성을 주면 일시적으로 적용할 수도 있다.
_cluster_api를 사용하면, persistent, transient 속성 모두 볼 수 있으며, persistent 속성 같은 경우에는 elasticsearch로 설정한 내용보다 우선순가 높다. 따라서 클러스터 공통 설정 같은 경우는 _cluster API를 ElasticSearch 단일 설정 같은 경우에는 elasticsearch.yml 파일을 수정하자.
대기중인 클러스터 변경 명령 조회
GET /_cluster/pending_tasks
- _cluster/pending_tasks API를 이용하면 아직 실행되지 않고 대기중인 클러스터 변경과 관련된 Task 목록을 실시간으로 모니터링 할 수 있다.
- (인덱스 생성, 매핑 정보 수정, 샤드 재할당) 클러스터 수준에서 이뤄지는 테스크는 마스터 노드에서 실행되기 때문에 마스터 노드가 부하가 걸리거나 장애 발생 시 처리되지 못하고 큐에 쌓인다.
- _cluster/pending_tasks AP를 이용하면 큐에 쌓인 테스크 목록을 조회할 수 있다.
사용률이 높은 스레드 조회
GET /_nodes/hot_threads
- _nodes/hot_threads API를 이용하면 노드별로 사용률이 높은 스레드 정보를 확인할 수 있다.
- CPU 사용률이 높은 스레드를 보여준다.
노드 간 샤드 이동
POST /_cluster/reroute
{
"commands": [
{
"move": {
"index": "movie",
"shard": 0,
"from_node": "node1",
"to_node": "node2"
}
}
]
}
- _cluster/reroute API를 이용하면 특정 노드의 샤드를 원하는 노드로 이동시킬 수 있다.
- from_node는 이동할 노드 이름을, to_node는 이동될 노드의 이름을 적는다.
- 샤드를 이동하는 작업은 물리적인 데이터가 네트워크를 통해 전송되기 때문에 많은 리소스를 소모한다.
- 샤드의 크기가 클수록 시간도 많이 걸리고 데이터도 크기 때문에 신중하게 해야한다.
실행중인 테스크 조회
GET /_tasks?nodes=T0eKC161SL6QFI3KtBFMog
- _tasks API를 이용하면 현재 클러스터에서 실행중인 모든 태스크 정보를 검색할 수 있다.
- 특정 노드에서 진행중인 태스크 정보만 필터링하려면 nodes 파라미터를 이요하면 된다.
관리 API 호출 통계
GET /_nodes/usage
- _nodes/usage API를 이용하면 관리용 API를 호출한 현황을 조회할 수 있다.
- 모니터링 API, 상태 조회 API, Health 체크 API 등이 대상이다.
- 각종 액션이 종류별로 카운트되어 집계되기 때문에 어떤 API가 얼마큼 호출되고 있는지 한눈에 확인 가능하다.
- 클러스터 운영자는 이정보를 통해 과도한 관리 API 호출이 없는지 주기적 확인이 필요하다.
- 과도한 관리 APi를 사용하면 클러스터에 부담이 되기 떄문
728x90
'Elastic Search' 카테고리의 다른 글
| Ch13. 클러스터 성능 측정 - 엘라스틱서치를 위한 벤치마크 툴 (0) | 2025.11.03 |
|---|---|
| Ch12. 안정적인 클러스터 운영 노하우 - 안정적인 클러스터 운영을 위한 주요 체크포인트 (0) | 2025.10.21 |
| Ch12. 안정적인 클러스터 운영 노하우 - 마스터 노드와 데이터 노드 분리 (0) | 2025.10.21 |
| Ch12. 안정적인 클러스터 운영 노하우 - 노드 부트스트랩 과정의 이해 (0) | 2025.10.21 |
| Ch11. 장애 방지를 위한 실시간 모니터링 - Cat API를 이용해 콘솔에서 모니터링 하기 (0) | 2025.10.15 |