카테고리 없음

docker 기반 Elasticsearch, Kibana 설치

오개발 2021. 10. 25. 12:23

aws ec2 인스턴스생성과 ssh 접속 셋팅은 완료된 상태로 인지하고 작성한 문서입니다.

ec2 스팩

amazon linux2

인스턴스 유형 t2.medium

  •  

yum 업데이트

sudo yum update -y

 


  •  - sudo amazon-linux-extras install docker
    • sudo service docker start
    • sudo usermod -a -G docker ec2-user   
    • ec2-user 계정에 docker 실행 권한을 부여합니다.
    • sudo chkconfig docker on 
    • 부팅시  docker 자동 실행입니다.
    • sudo reboot 
    • 재부팅을 하여 docker 설치 완료 합니다.
  • Docker CE (Community Edition)설치

Docker-compose 설치

  • sudo curl -L https://github.com/docker/compose/releases/download/1.22.0/docker-compose-$(uname -s)-$(uname -m) -o /usr/local/bin/docker-compose
  • GitHub에서 docker-compose 바이너리를 복사 합니다.
  • sudo chmod +x /usr/local/bin/docker-compose
  • docker-compose에 권한을 부여합니다.
  • docker-compose version
  • 성공적으로 설치 되었는지 버전 확인 합니다.

Docker-compose yaml 파일 만들기

 

 

 

파일 경로는 고민하다가 이쪽이 적당한거 같아서

/usr/src 에 docker 파일 만듬

cd /usr/src

mkdir docker

그다음 yaml을 만듭니다.

sudo vim docker-compose.yaml

docker-compose yaml 파일을 인터넷에서 가져옵니다.

version: '3'
  
services:

  elasticsearch:
    user: $USER
    container_name: elasticsearch
    image: elasticsearch:7.9.0
    ports:
     - 9200:9200
     - 9300:9300
    networks:
     - default
    volumes:
      - ./esdata:/usr/share/elasticsearch/data
    environment:
     - discovery.type=single-node
     - "ES_JAVA_OPTS=-Xms512m -Xmx512m"
     - TZ=Asia/Seoul
    user: root
    restart: always
    privileged: true

  kibana:
    container_name: kibana
    image: kibana:7.9.0
    ports:
     - 5601:5601
    networks:
     - default
    environment:
     ELASTICSERCH_UTL: http://elasticsearch:9200
     ELASTICSEARCH_HOSTS: http://elasticsearch:9200
    environment:
     - TZ=Asia/Seoul
    restart: always
    privileged: true

networks:
  default:
    external:
      name: elastic

ElasticSearch와 Kibana는 7.9.0버전을 사용하였으며, 네트워크는 미리 생성해둔 elastic 네트워크를 사용합니다.

 

docker network create elastic

 

엘라스틱서치 실행과정에서

 

 

에러가 생겨서 검색결과를 반영하여 파일을 수정하였습니다.

수정된 내용은 다음과 같다.

  1. volumes: - ./esdata:/usr/share/elasticsearch/data
  2. user: $USER

이것저것 찾다보니 엘라스틱 서치 실행과정 에러 해결방법

https://techoverflow.net/2020/04/18/how-to-fix-elasticsearch-docker-accessdeniedexception-usr-share-elasticsearch-data-nodes/

해당 docker 파일에 있는 path 에서 실행하여 해결

sudo chown -R 1000:root esdata
sudo chown -R 1000:root elasticsearch/
udo chown -R 1000:root elasticsearch/data/

3개를 그냥 다 실행하였다….

docker 기본 명령어

  • 컨테이너 확인

docker ps

  • 전체 스텁
    docker stop $(docker ps -a -q)
  • 전체 삭제
    docker rm $(docker ps -a -q)
  • 전체 이미지 삭제
    docker rmi $(docker images -q)

docker-compose up -d

-d 를 주는 이유는 백그라운드 실행

https://docs.docker.com/compose/reference/up/

엘라스틱 서치 정상 동작

 

 

키바나 정상 동작

 

 

참고자료 :

https://dog-developers.tistory.com/235

https://changhyunit.tistory.com/71

https://sean-ma.tistory.com/36

https://gist.github.com/npearce/6f3c7826c7499587f00957fee62f8ee9