스파크 도커 쉽게 설치 방법

Docker|2022. 10. 21. 00:43
728x90

es-spark 연동겸 스파크 공부겸(엘라스틱 능력 대비 실력이 로우 하다) 일단 할려면 설치를 해야 되니 설치를 알아보던중 이전 회사에서 사용하던 bash 자동설치 스크립트 (물론 회사에 있는걸 가져온게 아니라 집에서 만들어서 쓰던걸 회사에 가져간 경우이니 오해가 없기를)의 경우 괭장히 오래전에 만든거라 하둡2 스파크2 버전으로 되어 있다. 이왕하는거 최신버전으로 해야 하지 않을까 싶기도 하고 자동 설치 스크립트도 좋지만 요즘 도커의 매력에 빠져 있던 터라 도커 기반으로 해보고 싶어졌다.

 

예전에 사용하던 HDP3.1 가상 이미지도 있긴 한데 집에서 개발환경을 도커로 통합 할겸 해서 도커로 진행하는 방향으로 가닥 잡았다. 다만 핵심 공부 목적은 설치가 아니라 es-spark 연동과 스칼라 공부 인데 굳이 설치로 너무 스트레스 받기 싫어서 이미지를 찾다가 괜찮은 이미지가 있어서 남겨 둔다. 

 

해당 깃들어가면 설명이 되어 있으나 컴포즈 내용까지 적어둔다.

포트 정도면 적당히 바꿔주면된다.

 

docker-compose up 하면 특별한게 없다면 잘 실행 된다.

https://github.com/big-data-europe/docker-spark

 

GitHub - big-data-europe/docker-spark: Apache Spark docker image

Apache Spark docker image . Contribute to big-data-europe/docker-spark development by creating an account on GitHub.

github.com

해당 깃 방문하면 하둡 제펠린 등등도 많다. 

나중에 시간 날떄 나도 나만의 셋팅으로 하나 만들어 둬야 겠다.

git clone https://github.com/big-data-europe/docker-spark

docker-compose.yml
version: '3'
services:
  spark-master:
    image: bde2020/spark-master:3.3.0-hadoop3.3
    container_name: spark-master
    ports:
      - "8080:8080"
      - "7077:7077"
    environment:
      - INIT_DAEMON_STEP=setup_spark
  spark-worker-1:
    image: bde2020/spark-worker:3.3.0-hadoop3.3
    container_name: spark-worker-1
    depends_on:
      - spark-master
    ports:
      - "8081:8081"
    environment:
      - "SPARK_MASTER=spark://spark-master:7077"
  spark-worker-2:
    image: bde2020/spark-worker:3.3.0-hadoop3.3
    container_name: spark-worker-2
    depends_on:
      - spark-master
    ports:
      - "8082:8081"
    environment:
      - "SPARK_MASTER=spark://spark-master:7077"
  spark-history-server:
      image: bde2020/spark-history-server:3.3.0-hadoop3.3
      container_name: spark-history-server
      depends_on:
        - spark-master
      ports:
        - "18081:18081"
      volumes:
        - /tmp/spark-events-local:/tmp/spark-events

 

'Docker' 카테고리의 다른 글

Vagrant  (0) 2022.12.04
라즈베리파이4 깃랩 도커 구축  (0) 2022.10.20
리눅스 Docker Web UI 설치 Portainer.IO  (0) 2022.09.22

댓글()

라즈베리파이4 깃랩 도커 구축

Docker|2022. 10. 20. 00:06
728x90

잠시 백수가 된 지금 집에서 개발할일이 많다. 공부겸 해서  하다 보니 깃이 필요 하여 깃허브를 그대로 쓸가 하다가 자체

구축 하여 사용 하고 싶어 졌다. 다만 자체 구축을 노트북이나 피시에 하면 항상 켜둘수도 없고 전기를 상대적으로 많이 먹으니 전에 사다둔 라즈베리파이4 굴러다니는 걸로 구축해볼려고 했다.  

 

일반적으로 공식홈 내용을 보고 하면 크게 문제가 없다. 예전에 구형 노트북에 해봤을때 그대로 하면 잘되었다.

x86 기반 구축시 공홈 참조 :  https://docs.gitlab.com/ee/install/docker.html

 

GitLab Docker images | GitLab

Documentation for GitLab Community Edition, GitLab Enterprise Edition, Omnibus GitLab, and GitLab Runner.

docs.gitlab.com

 

근데 라즈베리파이에 할려니 동일하게 여려번 하여도 죽어도 구동이 되지 않았다. 뭘까? 하다가 아키텍쳐 문제인가? (예전에 다른 도커 이미지 사용시 몇번 이런 경우가 있긴 했다) 싶어서 찾아 봤더니 역시 부지런한 누군가가 arm기반 깃랩 도커 이미지를 만들어 두었다. arm기반 따로 있는거 보니 아키텍쳐 문제가 맞긴 한듯 싶다.

 

https://hub.docker.com/r/yrzr/gitlab-ce-arm64v8

 

Docker Hub

 

hub.docker.com

사용법은 크게 어렵지 않다. 해당 도커 허브에 들어가면 모든 설명이 써있기도 하다.

 이미지를 내려 받은 후 사이트에 나와있듯 그대로 하면 된다. 

--hostname gitlab.example.com \ 가능하면 hostname은 사용할 아이피로 바꿔주자 안그럼 클론깃 주소에 저주소로 나온다. 이후 변경은 가능 하나 애초에 잘 맞춰 놓자.

 

포트나 호스트 볼륨 경로는 입맛에 맞게 변경 하면 된다. 

 

root계정 초기 비번은 /srv/gitlab-ce/conf 아래 경로에서 확인 가능 하다.

 

hanu@gitlab:/# cat /srv/gitlab-ce/conf/initial_root_password  | grep Pass
#          2. Password hasn't been changed manually, either via UI or via command line.
Password: JDF1iojfiehwi0hp12j3podsafnk;vnas   <=대충이런식

docker run \
  --detach \
  --restart always \
  --name gitlab-ce \
  --privileged \
  --memory 4096M \
  --publish 22:22 \
  --publish 80:80 \
  --publish 443:443 \
  --hostname gitlab.example.com \
  --env GITLAB_OMNIBUS_CONFIG=" \
    nginx['redirect_http_to_https'] = true; "\
  --volume /srv/gitlab-ce/conf:/etc/gitlab:z \
  --volume /srv/gitlab-ce/logs:/var/log/gitlab:z \
  --volume /srv/gitlab-ce/data:/var/opt/gitlab:z \
  yrzr/gitlab-ce-arm64v8:latest

도커 컴포즈는 집에서는 잘 쓰질 않아서 그냥 위에 그대로 실행했다. 컴포즈는 다음 기회에...

구동 후 라즈베리파이 아이피로 접속하면 (깃랩이 라즈베리파이 성능대비 무거운 느낌이라 다른건 사용이 없어 난 포트로 디폴트로 사용하여 그대로 하여 아이피만 입력하여 접속 했다) 아래와 같은 화면이 나오고 root//기본패스워드 접속 하면 사용이 가능 하다.

'Docker' 카테고리의 다른 글

Vagrant  (0) 2022.12.04
스파크 도커 쉽게 설치 방법  (0) 2022.10.21
리눅스 Docker Web UI 설치 Portainer.IO  (0) 2022.09.22

댓글()

리눅스 Docker Web UI 설치 Portainer.IO

Docker|2022. 9. 22. 15:37
728x90

개발 환경을 구성할때 도커로만 하다보니 이미지가 몇개 안될땐 크게 신경 안썻는데 많아지니 ssh 로만 관리하기가 힘들어 졌다. 귀차니즘으로 compose 셋팅도 등한시 했더니 더헬맛이다.. 윈도우 버전 처럼 클라이언트가 없나 하고 찾다가 알게 되어 설치해보았다.

 

설치는 기존 도커가 설치되어 있다면 어려울게 없다. 

아래와 같이 입력하면 자동 설치 실행 된다.

docker volume create portainer_data
docker run -d -p 9000:9000 -v /var/run/docker.sock:/var/run/docker.sock -v portainer_data:/data --restart=always portainer/portainer

실행 후 웹브라우저에서 접속시 아래 그림과 같이 나온다. 적당히 계정 생성 후 

서버ip:9000

 생성 후 단순 개발용도라면 로컬일테니.. 로컬로 선택 후 진행 한다.

로컬로 선택 후 커넥트시 해당과 같은 화면이 나온다.

 

진작 설치 할걸 하는 후회가 살짝 밀려오는 화면도 나온다.  App Templates 화면인데 개발에 필요한 도구를 쉽게 설치하게 도와준다. 내가 다루는 대부분이 있어서 편할듯쉽다. 다만 너무 쓰면 기것 외워놓은 명령어 다 까먹을듯...

 

컨테이너탭에서 Bash 접속도 원클릭으로 가능 하다 커맨드 입력의 경우

docker exec -it 컨테이너ID /bin/bash  인데 원클릭으로 가능 하다

'Docker' 카테고리의 다른 글

Vagrant  (0) 2022.12.04
스파크 도커 쉽게 설치 방법  (0) 2022.10.21
라즈베리파이4 깃랩 도커 구축  (0) 2022.10.20

댓글()

ELK docker 기반 개발 환경 구축

ELK|2022. 9. 15. 00:22
728x90

대충 개발 할땐 그냥 온프레미스 버전 받아서 하는게 더 편한경우도 있지만... 도커 연습겸

한번 설치해놓으면 편리하기도 해서 도커로 해보았다. 방법은 어렵지 않다.

 

사실 오피셜홈에 가면 상세하게 나와있으나 몇가지 팁이 있어 적어본다.

https://hub.docker.com/_/elasticsearch

 

도커 포스팅이 아니므로 도커 설치는 패스 한다.

자동으로 최신버전을 받게 된다.

 

엘라스틱 전용 네트워크 설정을 진행 한다.

이미지 실행시 compose라면 상관 없고 그냥 도커로 실행시 

 

 -e ES_JAVA_OPTS="-Xms4g -Xmx4g" <= 꼭 넣어주자 공홈 도커홈 빠져있다. 뺴먹을 경우 나만 그랬을 수도 있는데

기본메모리를 64m로 잡아서 실행시 gc.log 에러가 나면서 실행이 안된다. 컨테이너 생성 후에는 메모리 셋팅이 변경이 안된다. 개발 테스트 용이긴 했지만 셋팅 이후 알게 되서 최악이였다.....

컴포즈로 해주는게 젤좋지만 나처럼 귀차니스트들은 저렇게 넣어주자

최신버전
docker pull elasticsearch
원하는 버전
docker pull docker.elastic.co/elasticsearch/elasticsearch:8.4.1

네트워크 구성
docker network create elastic

받은 이미지 실행 
docker run  -e ES_JAVA_OPTS="-Xms4g -Xmx4g" --name es-node01 --net elastic -p 9200:9200 -p 9300:9300 -t docker.elastic.co/elasticsearch/elasticsearch:8.4.1

 

댓글()