Elascticsearch 노드 최적화: 더미 메모리 크기 조정
docker run -d \
--name=espn-50 \
-p 9200:9200 \
-p 9300:9300 \
-v \
/var/espn/config/elasticsearch.yml:/usr/share/elasticsearch/config/elasticsearch.yml \
-v \
/var/espn/data:/usr/share/elasticsearch/data elasticsearch:5.6.3
4개의 노드 시작 명령은 92009300 포트를 노출하고elasticsearch를 마운트합니다.yml 및 데이터 디렉터리.3개월간의 데이터를 시뮬레이션하여 매일 하나의 인덱스, 인덱스 수량 90, 인덱스마다 200W~300W의 데이터가 다르다.
데이터 양이 증가함에 따라 서버 CPU가 너무 많이 사용되고 있음(맞아, 그 두 데이터 노드)
두 데이터 노드에 대한 elasticsearch 로그를 보려면 다음과 같이 하십시오.
[gc][1779997] overhead, spent [45.2s] collecting in the last [45.8s] // ,
노드 상황 조회하기:
curl 'localhost:9200/_cat/nodes?v=pretty'
데이터 노드의 힙을 발견합니다.퍼센트 99.조회 자료를 통해 나는 대략 이렇게 요약했다.
인터넷의 자료를 한 바퀴 뒤졌는데 홈페이지를 포함해서 알이 아프다는 사실을 발견했다. 버전별로 ES가 JVM을 조정하는 방법이 다르다.제가 사용한 것은 Elasticsearch 5.6.3입니다. 다시 한 번 강조합니다.
해결 방법은 간단합니다.elasticsearch의config 폴더에서 jvm를 고쳐 씁니다.옵션 파일이면 됩니다.(5.6.3의docker 용기에 이 파일이 없습니다. 용기에 마운트해도 효력이 발생합니다.)
jvm.options:
-Xms10g
-Xmx10g
익숙하지 않다면 JVM에 대한 지식을 배워보세요.
시작 명령:
docker run -d \
--name=espn-50 \
-p 9200:9200 \
-p 9300:9300 \
-v \
/var/espn/config/elasticsearch.yml:/usr/share/elasticsearch/config/elasticsearch.yml \
-v \
/var/espn/config/jvm.options:/usr/share/elasticsearch/config/jvm.options \
-v \
/var/espn/data:/usr/share/elasticsearch/data elasticsearch:5.6.3
jvm.옵션도docker 용기에 마운트됩니다.주의, jvm.옵션의 권한은 읽을 수 있고 쓸 수 있고 실행할 수 있어야 합니다.
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
다양한 언어의 JSONJSON은 Javascript 표기법을 사용하여 데이터 구조를 레이아웃하는 데이터 형식입니다. 그러나 Javascript가 코드에서 이러한 구조를 나타낼 수 있는 유일한 언어는 아닙니다. 저는 일반적으로 '객체'{}...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.