기술_Elasticsearch

Docker로 Elasticsearch 설치

구일칠구 2022. 6. 22. 09:15

Docker로 Elasticsearch 설치

Elasticsearch는 Docker 이미지로도 제공됩니다. 이미지는 centos : 8 을 기본 이미지로 사용합니다.

게시 된 모든 Docker 이미지 및 태그 목록은 www.docker.elastic.co 에서 확인할 수 있습니다 . 소스 파일은 Github에 있습니다.

이러한 이미지는 Elastic 라이선스에 따라 무료로 사용할 수 있습니다. 여기에는 오픈 소스 및 무료 상용 기능과 유료 상용 기능에 대한 액세스가 포함되어 있습니다. 30 일 평가판 시작하여 모든 유료 상용 기능을 사용해보십시오. Elastic 라이선스 수준에 대한 정보 구독 페이지를 참조하십시오 .

이미지 당기기

Elasticsearch for Docker를 얻는 것은 docker pullElastic Docker 레지스트리에 대해 명령 을 실행하는 것만 큼 간단 합니다.

또는 Apache 2.0 라이선스에서 사용할 수있는 기능 만 포함 된 다른 Docker 이미지를 다운로드 할 수 있습니다. 이미지를 다운로드하려면 www.docker.elastic.co 로 이동 하십시오 .

Docker로 단일 노드 클러스터 시작

개발 또는 테스트를 위해 단일 노드 Elasticsearch 클러스터를 시작하려면 부트 스트랩 검사 를 우회하도록 단일 노드 검색 지정 합니다 .

Docker Compose로 다중 노드 클러스터 시작

Docker에서 3 노드 Elasticsearch 클러스터를 시작하고 실행하려면 Docker Compose를 사용할 수 있습니다.

  1. docker-compose.yml파일 생성 :

이 샘플 Docker Compose 파일은 3 노드 Elasticsearch 클러스터를 가져옵니다. 노드 es01에서 수신 localhost:9200및 es02과 es03에 대한 이야기 es01도커 네트워크를 통해.

이 구성은 모든 네트워크 인터페이스에서 포트 9200을 노출하고 Docker iptables가 Linux에서 조작하는 방식을 고려할 때 Elasticsearch 클러스터가 공개적으로 액세스 가능하며 잠재적으로 방화벽 설정을 무시할 수 있음을 의미합니다.

당신은 포트 9200을 노출 대신 역방향 프록시를 사용하여 교체하지 않을 경우 9200:9200에 127.0.0.1:9200:9200고정 표시기-compose.yml 파일에. 그러면 Elasticsearch는 호스트 머신 자체에서만 액세스 할 수 있습니다.

부두 노동자라는 이름의 볼륨 data01 , data02그리고 data03다시 시작에서 데이터이 지속되도록 노드 데이터 디렉토리를 저장합니다. 아직 존재하지 않는 경우 docker-compose클러스터를 가져올 때 생성합니다.

  1. Docker Engine에 최소 4GiB의 메모리가 할당되어 있는지 확인하십시오. Docker Desktop에서 기본 설정 (macOS) 또는 설정 (Windows)의 고급 탭에서 리소스 사용량을 구성합니다.

로그 메시지는 콘솔로 이동하고 구성된 Docker 로깅 드라이버에 의해 처리됩니다. 기본적으로 docker logs.

클러스터를 중지하려면을 실행하십시오

docker-compose down. Docker 볼륨의 데이터는 .NET을 사용하여 클러스터를 다시 시작할 때 유지되고로드됩니다 docker-compose up. 클러스터를 종료 할 때 데이터 볼륨 삭제 하려면 다음 -v옵션을 지정하십시오 docker-compose down -v..

TLS가 활성화 된 다중 노드 클러스터 시작

Elasticsearch Docker 컨테이너에서 통신 암호화 TLS가 활성화 된 Docker에서 Elastic Stack 실행을 참조하십시오 .

프로덕션에서 Docker 이미지 사용

프로덕션 환경의 Docker에서 Elasticsearch를 실행할 때 다음 요구 사항 및 권장 사항이 적용됩니다.

vm.max_map_count최소한으로 설정262144편집하다

vm.max_map_count커널 설정은 최소한으로 설정해야합니다 262144생산 사용.

설정 방법 vm.max_map_count은 플랫폼에 따라 다릅니다.

  • 리눅스
  • vm.max_map_count설정은 영구적으로 설정해야합니다 /etc/sysctl.conf: