반응형
Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |
Tags
- 부스트코스
- 네트워크
- Swift
- NGINX
- kubernetes
- 도커
- 운영체제
- 쿠버네티스
- 도커 명령어
- AWS
- centOS
- 도커 이미지
- 클라우드
- C++
- 도커 컨테이너
- devops
- k8s
- 데브옵스
- 컨테이너
- centOS7
- 프로세스
- 리눅스
- 인프라
- Python
- linux
- boj
- docker
- ios
- swift 클로저
- os
Archives
- Today
- Total
귀염둥이의 메모
[ElasticSearch] cluster.routing.allocation.disk.watermark.low / cluster.routing.allocation.disk.watermark.high / cluster.routing.allocation.disk.watermark.flood_stage 본문
Infra & Devops/ElasticSearch
[ElasticSearch] cluster.routing.allocation.disk.watermark.low / cluster.routing.allocation.disk.watermark.high / cluster.routing.allocation.disk.watermark.flood_stage
겸둥이xz 2023. 3. 7. 19:30반응형
cluster.routing.allocation.disk.watermark.low
- 기본값은 85%이며, 디스크 사용량 85%를 초과하는 노드에 샤드를 할당하지 않는다.
- 비율 값(예: 0.85)으로도 설정 가능하며, 절대 byte 값(예: 500MB)으로 설정도 가능.
- 새로 생성된 primary shards에는 영향을 주진 않고, replica가 할당되는 것을 방지한다.
- 모든 노드가 low watermark를 초과하면 새로운 shards 할당 불가.
cluster.routing.allocation.disk.watermark.high
- 기본값은 90%이며, 디스크 사용량 90%를 초과하는 노드에서 일부 shards를 다른 노드로 이동시킴.
- low watermark처럼 비율 값, 절대 값으로 설정 가능.
cluster.routing.allocation.disk.watermark.flood_stage
- 기본값은 95%이며, 디스크 사용량 95%를 초과하는 노드에 할당된 모든 인덱스를 read-only 상태로 만듦.
- read-only 상태가되면 아래와 같은 에러가 발생하며 인덱싱을 멈춤.
Elasticsearch exception [type=cluster_block_exception, reason=blocked by: [FORBIDDEN/12/index read-only / allow delete (api)];]
- 디스크 공간을 확보하고, 아래 명령어를 통해 read-only 를 해제 가능.
# 모든 read-only 인덱스에 대하여
curl -XPUT -H "Content-Type: application/json" \
localhost:9200/_all/_settings \
-d '{"index.blocks.read_only_allow_delete": false}'
# 특정 read-only 인덱스에 대하여
curl -XPUT -H "Content-Type: application/json" \
localhost:9200/${INDEX}/_settings \
-d '{"index.blocks.read_only_allow_delete": false}'
예시 : watermark.low 를 초과한 경우
# watermark.low : 90%로 설정되어 있음
{
"persistent" : {
"cluster.routing.allocation.disk.threshold_enabled" : "true",
"cluster.routing.allocation.disk.watermark.high" : "95%",
"cluster.routing.allocation.disk.watermark.low" : "90%",
...
..
.
},
# 모든 노드 디스크 사용량 91%로 watermark.low : 90%를 초과
xxx-data01 91% (1606/1776GB)
xxx-data02 91% (1605/1776GB)
xxx-data03 91% (1604/1776GB)
xxx-data04 91% (1605/1776GB)
# 새로운 replica shards 할당 불가
xxx-index 3 r UNASSIGNED
xxx-index 2 r UNASSIGNED
xxx-index 1 r UNASSIGNED
xxx-index 0 r UNASSIGNED
해결 방법
- 오래된 인덱스를 제거.
- ILM(Index Lifecycle Management) 등을 이용하여 데이터 보관 주기 조정.
- 데이터 노드 추가.
- 그 외 여러가지 방법...
반응형
'Infra & Devops > ElasticSearch' 카테고리의 다른 글
Comments