Window 환경에서 Docker를 사용하여 Elastic Search, Kibana 설치

짱구·2023년 4월 28일
0

elastic search

목록 보기
1/2
post-thumbnail

목차


1. 터미널에서 Docker Pull 명령어로 elasticsearch 버전 8.6.0 Install
2. Docker Network 생성
3. elastic search 실행
4. elastic search 비밀번호 초기화
5. elastic search 인증서 로컬로 복제
6. elastic search 접속 인증
7. elastic search 확인
8. kibana 설치

Docker Pull

도커에서 터미널에서 elastic search를 install 해줍니다.

$ docker pull docker.elastic.co/elasticsearch/elasticsearch:8.6.0
$ docker pull docker.elastic.co/kibana/kibana:8.6.0

Docker Network 생성

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

$ docker network create elastic

elastic search 실행

docker에서 elastic search를 실행해줍니다.

docker run --name es01 --net elastic -p 9200:9200 -it docker.elastic.co/elasticsearch/elasticsearch:8.6.0

저는 도커로 elastic search를 실행 했더니 에러가 발생했습니다.

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

elastic search 비밀번호 초기화

elastic search의 비밀번호를 만약 까먹는다면 아래 명령어를 통해 비밀번호를 찾을 수 있습니다.

docker exec -it es01 /usr/share/elasticsearch/bin/elasticsearch -reset -password -u elastic

elastic search 인증서 로컬로 복제

elastic search는 이제 인증서가 필수이기 때문에 인증서를 설치된 도커 폴더에서 가져와야합니다.

docker cp es01:/usr/share/elasticsearch/config/certs/http_ca.crt /elasticsearch/

로컬에 잘 저장된 것을 확인 할 수 있습니다.

elastic search 접속 인증

저는 테스트 용으로 사용하기 때문에 --insecure를 사용하여 인증서 없이 사용하겠습니다.

docker exec -it es01 curl --insecure --cacert /usr/share/elasticsearch/config/certs/http_ca.crt -u elastic https://localhost:9200

접속인증 완료

elastic search 확인

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

docker exec -it es01 curl --insecure -u elastic -X GET "https://localhost:9200/_cluster/health?pretty"

조회 결과

Kibana 설치

docker run --name kib01 --net elastic -p 5601:5601 docker.elastic.co/kibana/kibana:8.6.0

실행완료

로컬에 접속

Enrollment token

elastic search 컨테이너에서 Enrollment token을 가져와야합니다.

docker exec -it es01 /usr/share/elasticsearch/bin/elasticsearch-create-enrollment-token -s kibana

Enrollment token 입력

보안코드 등장

보안코드는 위 '실행완료' code의 매개변수를 넣어주면 됩니다.

로그인

여기서 Username은 elastic이며 Password는 elastic search 비밀번호 초기화를 해서 얻은 비밀번호입니다.

키바나 접속

profile
코드를 거의 아트의 경지로 끌어올려서 내가 코드고 코드가 나인 물아일체의 경지

0개의 댓글