이번에는 도커의 가장 강력한 기능중 하나인 docker compose에 대해서 알아보고
이걸 이용해서 빅데이터 분석 도구로 사용되고 있는 Elasticsearch-Logstash-Kibana(ELK)를 설치해보겠습니다.
먼저 도커 컴포즈(docker compose)에 대해서 알아봐야겠죠?
복수개의 컨테이너가 하나의 애플리케이션으로 구동되는 경우 컨테이너 조합이 복잡해지기 쉽습니다. 예를 들어서 웹 애플리케이션을 하나 구축하려고 하면 web 서버 컨테이너 + WAS 서버 컨테이너 + DB 컨테이너 등을 생성해야하죠.
근데 이걸 하나하나 run 시킨다?? 이건 너무 불편하죠.
그래서 docker compose가 나옵니다. 도커 컴포즈는 여러개의 컨테이너를 개별 서비스로 인지하게 해서 컨테이너 묶음으로 관리하게 해줍니다. 그 파일은 YAML 방식으로 관리하죠. 보통 docker-compose.yml 이라고 이름을 명명합니다.
자 이제 도커 컴포즈(docker compose)를 설치하고 이거를 이용해 ELK 스택을 설치해봅니다
이 글을 올릴때는 1.23.1이 docker compose가 가장 최신이네요.
저는 이걸 받겠습니다.
sudo curl -L "https://github.com/docker/compose/releases/download ~ 를 통해서 위와 같은 명령어로 다운을 받습니다.
그럼 /usr/local/bin/쪽에 받아질 것입니다
그리고 이거에 접근이 가능하도록 x를 chmod로 붙여야 합니다
chmod +x로 docker-compose를 설정해줍니다.
이 상태에서 docker-compose -v를 하면
제대로 잘 되셨으면 version 정보가 나올 것입니다!
자 이제 설치는 끝났습니다.
이제 elk를 설치해보죠
저는 docker라는 디렉토리를 하나 만들었습니다
여기서 docker-compose.yml을 하나 만들었구요
이 상태로 일단 둡니다.
이제 sudo docker pull sebp/elk를 통해서 도커에 올라와져 있는 elk를 받습니다.
https://github.com/deviantony/docker-elk
여기를 이용해서
git clone을 해서 받아도 상관없습니다.
보통은 이걸 많이 사용하더라구요
일단은 여기서는 sebp/elk를 이용해보죠
다 다운이 완료 되었으면 실행시켜봅니다.
5601은 키바나 포트, 9200은 엘라스틱 서치 포트 등입니다.
올라가졌죠??
잘 동작 되는 것을 확인하셨으면
이 상태에서 이제 stop 시키고 container도 삭제합니다
이제 docker-compose.yml을 설정해보죠
안에 값에다가 이렇게 넣어줍니다.
image 이름과 포트에 관한 정보입니다.
이제 sudo docker-compose up elk를 통해서 올리는데!
에러가 나오네요
이게 ELK는 메모리 요구사항이 있습니다
그리고 java가 설치되어 있어야 하구요
메모리에 관해서 설정해주고
자바를 설치해줍니다.
자바를 설치하는 과정은
https://lsjsj92.tistory.com/394
를 참고하시면 되겠습니다.
잘 설치되셨으면 버전이 나올겁니다.
이제 다시 docker-compose up elk를 통해 올려보죠
아 그리고 yml파일에 environment 값으로 java 메모리 값도 설정해줍니다
근데 또 실패하네요..
이거 실패하는 것 때문에 좀 애먹었는데요
결론은 제 pc 메모리 부족입니다.
아니 정확히는 이게 vmware의 가상환경에서 했는데요
vmware의 환경에서 메모리를 1G로 잡았었네요.. (최소 2G가 필요합니다)
이걸 4G로 늘리겠습니다.
늘렸습니다
확인해보니 4G가 되네요
자 이제 fail이 뜨지 않고 진행됩니다!
막 뭐라고 나오네요!
확인 결과 잘 나오는 것이 확인됩니다! 이제 이걸로 ELK 시스템을 구축하면 되겠죠??
수고하셨습니다.
'빅데이터' 카테고리의 다른 글
도커(docker) centos7 환경에 하둡(hadoop), spark 설치하기 - 1 (0) | 2018.12.27 |
---|---|
도커 centos7 설치 및 에러 해결하기 (2) | 2018.12.18 |
우분투 도커(docker)실습 - cenots7 설치 및 컨테이너 삭제 (0) | 2018.11.21 |
ELK 스택 설치 - logstash(로그스태시) 설치 및 장고(django) 연동 (6) | 2018.11.14 |
ELK 스택 설치 - 키바나(kibana) 설치 및 elasticsearch와 연동하기 (0) | 2018.11.11 |