세로형
Recent Posts
Recent Comments
Link
04-24 04:28
«   2024/04   »
1 2 3 4 5 6
7 8 9 10 11 12 13
14 15 16 17 18 19 20
21 22 23 24 25 26 27
28 29 30
Archives
Today
Total
관리 메뉴

꿈 많은 사람의 이야기

도커 docker compose를 이용한 ELK 스택 설치해보기 본문

빅데이터

도커 docker compose를 이용한 ELK 스택 설치해보기

이수진의 블로그 2018. 11. 21. 09:56

이번에는 도커의 가장 강력한 기능중 하나인 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 시스템을 구축하면 되겠죠??

수고하셨습니다.



반응형
그리드형
Comments