Elasticsearch Docker 컨테이너를 실행하는 동안 'Elasticsearch가 정상적으로 종료되지 않았습니다' 오류를 해결하는 방법은 무엇입니까?

Elasticsearch Docker Keonteineoleul Silhaenghaneun Dong An Elasticsearchga Jeongsangjeog Eulo Jonglyodoeji Anh Assseubnida Olyuleul Haegyeolhaneun Bangbeob Eun Mueos Ibnikka



Elasticsearch는 오픈 소스이자 유명한 분석 검색 엔진으로 AI 및 기계 학습 분야에서 자주 사용됩니다. 일반적으로 비정형, 반정형 및 정형 데이터를 저장합니다. 많은 사용자가 Docker 컨테이너에 Elasticsearch를 설치하고 사용하여 격리된 환경에서 실행해야 합니다.

그러나 Linux 기반 Docker 컨테이너에서 Elasticsearch를 실행하는 동안 사용자는 ' Elasticsearch가 정상적으로 종료되지 않았습니다. 알 수 없는 이유로 인한 오류이며 ' docker-cluster.log ” 파일.







이 문서에서는 ' Elasticsearch가 정상적으로 종료되지 않았습니다. ' Docker에서 Elasticsearch 컨테이너를 실행하는 동안 오류가 발생했습니다.



Elasticsearch Docker 컨테이너를 실행하는 동안 'Elasticsearch가 정상적으로 종료되지 않았습니다' 오류를 해결하는 방법은 무엇입니까?

간혹 Elasticsearch 컨테이너가 Linux 컨테이너에서 실행되고 기본적으로 가상 메모리 제한이 너무 낮아서 정상적으로 실행되지 않는 경우가 있습니다. 이로 인해 컨테이너가 제대로 실행되지 않고 '라는 오류 메시지가 표시될 수 있습니다. Elasticsearch가 정상적으로 종료되지 않았습니다. ' 아래 그림과 같이:







언급된 문제를 해결하기 위해 사용자는 다음 단계를 사용하여 Linux 컨테이너에 대한 가상 메모리의 mmap 수를 늘릴 수 있습니다.



1단계: WSL을 사용하여 Docker 데스크톱 애플리케이션 시작

먼저 WSL로 Docker Desktop을 시작합니다. 이를 통해 Windows에서 Linux 컨테이너를 실행하고 관리할 수 있습니다.

wsl -디 도커-데스크탑

2단계: 가상 메모리 늘리기

그런 다음 아래 명령을 실행하여 Linux 컨테이너의 가상 메모리 제한을 늘립니다.

시스템 -안에 vm.max_map_count= 262144

그런 다음 'exit' 명령을 실행하여 WSL을 종료합니다.

3단계: 네트워크 생성

이제 Elasticsearch Docker 컨테이너용 네트워크를 생성합니다. 선택 사항이지만 Elasticsearch 네트워크의 백업 목적으로 유용할 수 있습니다.

도커 네트워크 탄력적 생성

4단계: Elasticsearch 실행

이제 Elasticsearch 이미지를 실행하여 컨테이너에 Elastic search를 설치하고 실행합니다.

도커 실행 --이름 에스01 --그물 탄력있는 -피 9200 : 9200 -피 9300 : 9300 -티 docker.elastic.co / 엘라스틱서치 / 엘라스틱서치:8.8.2

위에 주어진 명령에서:

  • -이름 ”는 Elasticsearch 컨테이너 이름을 지정합니다.
  • -그물 ” 플래그는 외부 네트워크를 삽입하는 데 사용됩니다.
  • -피 ” 옵션은 Elasticsearch 컨테이너의 포트를 정의합니다.
  • -티 '는 '를 할당하는 데 사용됩니다. TTY-의사 ” 컨테이너 터미널:

아래 출력은 Elasticsearch 컨테이너를 성공적으로 실행하고 ' Elasticsearch가 정상적으로 종료되지 않았습니다. ” 오류.

여기서 컨테이너는 ' 탄력있는 ” 사용자의 비밀번호. 이러한 자격 증명을 사용하여 사용자는 브라우저에서 Elasticsearch에 액세스할 수 있습니다. 이렇게 하면 Kibana를 구성하기 위한 토큰도 생성됩니다.

5단계: 확인

로 이동 ' http://localhost:9200 ” 브라우저에서 컨테이너가 지정된 포트에서 실행되는지 여부를 확인합니다.

위의 출력은 포트 '에서 컨테이너를 성공적으로 실행했음을 나타냅니다. 9200 ” 및 “ Elasticsearch가 정상적으로 종료되지 않았습니다. ” 오류.

결론

'를 해결하기 위해 Elasticsearch가 정상적으로 종료되지 않았습니다. ” 오류가 발생하면 사용자는 Linux 컨테이너에 대한 가상 메모리 제한을 늘려야 합니다. 이렇게 하려면 먼저 '를 사용하여 WSL로 Docker 데스크톱을 시작합니다. wsl -d 도커-데스크톱 ' 명령. 그런 다음 '를 사용하여 가상 메모리 제한을 늘리십시오. sysctl -w vm.max_map_count=262144 ' 명령. 그런 다음 이미지를 다시 실행하여 Elasticsearch 컨테이너를 만들고 시작합니다. 이 게시물은 'Elasticsearch가 정상적으로 종료되지 않았습니다' 오류를 수정하는 방법을 설명했습니다.