일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- build
- s3
- Windows
- 영어
- mariadb
- elasticsearch
- 설정
- Kibana
- Linux
- ssh
- JavaScript
- Python
- docker
- MySQL
- ChatGPT
- unity
- AWS
- JS
- 유니티
- sample
- logstash
- Ai
- Es
- 구글
- nodejs
- error
- API
- 엘라스틱서치
- MSSQL
- Today
- Total
가끔 보자, 하늘.
Elasticsearch 저장 용량 이슈 본문
운영하는 인프라 중 elasticsearch가 있다. 심지어 버전은 7.11. 5개 node를 운영하고 있으며, 일 데이터가 7GB 정도 누적된다. 오래된 데이터를 자동으로 S3로 백업되면서 용량 이슈도 거의 없어 최근에 2년 정도는 손 댄 기억이 거의 없었다.
(* 최근 여러 서비스의 data pipeline을 통합하려고 aws glue, athena, quicksight로 통합하려고 보고 있는데 가성비가 es를 따라가기는 어려울 것으로 판단된다. 이거 다음에 이야기할 기회가 있을 듯 하고.. 어쨌든 PB 운영 용량이 아니면 거의 문제없을 정도로 뛰어난 제품이다.)
node 중 하나가 갑자가 샤드 할당에 문제가 발생한 듯 보였다. 현상은 아래와 같았다.
- Kibana에서 확인하니 Status 이미 yellow.
- Unassigned shards 수치가 존재함. (0이어야만 정상임)
- node 하나가 모니터링 리스트에 안보임.
- 해당 노드의 프로세스는 큰 문제는 없어 보이는 상태.
- 해당 노드를 재시작 했지만 Unassigned shards수치도 그대로, 노드 모니터링도 안됨.
- 하지만 node 개수는 5개로 보임.
- es의 log에도 특이 사항이 안보이는 중.
일단 해당 node의 elasticsearch.yml에 디버깅을 위한 설정 추가 후 노드를 재시작했다.
# ./elasticsearch-7.11/config/elasticsearch.yml
.
.
.
# ----------------------------------- logs -------------------------------------
logger.org.elasticsearch: DEBUG
.
.
.
그리고 reroute 시도해 봄.
# kibana dev tool에서 시도할 수 있습니다.
POST /_cluster/reroute?retry_failed=true
아래와 같은 에러 확인.
... [NO(the node is above the low watermark cluster setting [cluster.routing.allocation.disk.watermark.low=85%],
using more disk space than the maximum allowed [85.0%], actual free: [12.051007925103088%])] ...
이전에 디스크 용량 문제 없도록 세팅은 했었지만, 최근 서비스에 로그가 추가되면 일일 누적용량 증가, 오랜 시간 그대로 뒀더니 disk 의 90%가량을 사용중이었다.
cluster.routing.allocation.disk.watermark.low 를 초과할 경우 클러스터 리밸런싱이나 샤드 할당이 제한되는 상황이 발생함.
cluster.routing.allocation.disk.watermark.low 기본값은 85%. 참고로 cluster.routing.allocation.disk.watermark.high값(default 90%)도 있으며 이 값을 초과할 경우 shard relocate를 실행함.
이 설정값의 수정은 이 링크를 참조.
해결 방법은 어려가지 ...
node를 추가하거나 기존 sdd를 큰 용량의 sdd로 대체하는 방법. 일단 저는 노는 server로 node 추가해서 해결.
조만간 버전도 올려야되는데 최근에는 AI 작업 때문에 영... ㅠ_ㅜ
다들 평안 하시길..
'개발 이야기 > DB, 데이터분석, AI' 카테고리의 다른 글
Ubuntu에 Mariadb 11 설치하기 - C&P (0) | 2023.10.10 |
---|---|
Apache Superset 을 Windows에 설치하기(feat. Elasticsearch driver) (0) | 2023.09.26 |
mssql transaction log 파일 강제 삭제 (0) | 2023.07.27 |
AWS Glue, Athen, Quicksight 첫 사용기 (31) | 2023.07.03 |
LLM 작동방식 및 용어 알아보기 (0) | 2023.05.15 |