본문 바로가기
Download & Setting

[Elastic] - Window 환경에서 Docker로 ElasticSearch, Kibana 설치하기

by nam_ji 2024. 4. 8.

Window 환경에서 Docker로 ElasticSearch, Kibana 설치하기

Docker - ElasticSearch / Kibana

1) Docker Pull

  • 터미널에 도커 명령어를 입력
  • elasticsearch pull 명령어
    docker pull docker.elastic.co/elasticsearch/elasticsearch:원하는버전​

  • kibana pull 명령어
    docker pull docker.elastic.co/kibana/kibana:원하는버전

2) Docker Network 생성

  • 도커에서 새로운 네트워크를 생성해줍니다.
  • 이 네트워크를 통해 나중에 컨테이너끼리 통신을 할 수 있습니다. (kibana와 통신)
    docker network create elastic​

3) ElasticSearch 실행

  • 도커에서 elasticsearch를 실행해줍니다.
    docker run --name 이름 --net elastic -p 9200:9200 -it docker.elastic.co/elasticsearch/elasticsearch:원하는버전

    • 이런 설정들이 여러개 채워집니다.
    • 여기서 출력되는 설정 중에서 마지막에 ------------이렇게 나눠져 있는 부분은 복사해서 따로 관리합니다.
      비밀번호 같은 설정값들이기 때문에 중요합니다.
    • 에러 발생 시
      더보기
      ERROR: Elasticsearch did not exit normally - check the logs at /usr/share/elasticsearch/logs/docker-cluster.log
      ....생략....
      ....생략....
      ERROR: [1] bootstrap checks failed. You must address the points described in the following [1] lines before starting Elasticsearch.

      로그를 확인해 보면 최소로 사용 가능한 가상 메모리 영역이 작아서 생긴 에러입니다.
      해결 방법으로 vm memory를 늘려주면 됩니다.

      docker-machine ssh
      sudo sysctl -w vm.max_map_count=262144

4) ElsticSearch 비밀번호 초기화

  • 혹시라도 비밀번호를 까먹었다면 명령어를 통해 비밀번호를 찾을 수 있습니다.
    docker exec -it 내가 설정한 이름 /usr/share/elasticsearch/bin/elasticsearch -reset -password -u elastic

5) ElasticSearch 인증서 로컬로 복제

  • ElasticSearch는 인증서가 필수이기 때문에 인증서를 설치된 도커 폴더에서 가져와야 합니다.
    docker cp 내가 설정한 이름:/usr/share/elasticsearch/config/certs/http_ca.crt /저장할 폴더명
    * 저장할 폴더를 미리 만들어 두셔야 합니다.

6) ElasticSearch 접속 인증

  • 저는 테스트기 때문에 인증서 없이 사용하겠습니다.
    docker exec -it 내가 설정한 이름 curl --insecure --cacert /usr/share/elasticsearch/config/certs/http_ca.crt -u elastic https://localhost:9200​
  • 위 명령어를 입력하면 비밀번호를 입력하라고 요청합니다. 이때, 위에서 복사해두라 했던 설정값 중에 password를 찾아 복붙하면 됩니다.

7) ElasticSearch 확인

  • 이제 엘라스틱 서치가 완벽하게 설치 되었는지 확인해보기 위한 조회를 해보겠습니다.

8) Kibana 설치

  1. kibana 실행
    • 위에서 kibana를 pull 받았으니 kibana를 실행시켜 보겠습니다.
      docker run --name 이름 --net elastic -p 5601:5601 docker.elastic.co/kibana/kibana:원하는버전

  2. kibana 접속
    • localhost:5601
  3. Enrollment token
    • elasticsearch 컨테이너에서 Enrollment token을 가져와야 합니다.
      docker exec -it es01 /usr/share/elasticsearch/bin/elasticsearch-create-enrollment-token -s kibana
    • Enrollment token 입력
  4. 보안코드
  5. 보안코드 받아오기
    cd\
    docker exec -it -u 0 kibana /bin/bash
    cd bin
    kibana-verification-code​

    • 이렇게 하면 보안코드가 보입니다. 입력하면
  6. 아이디 & 비밀번호
    • 여기서 username은 elastic이며 password는 위에서 저장하라 했던 설정값의 비밀번호나 재설정한 비밀번호를 입력하면 됩니다.
  7. welcome to elastic