2 분 소요

이 글은 2022년 당시 HDP 2.6.5 버전 기준으로 작성된 설치 기록이다. 최신 버전에서는 명령이 다를 수 있다.

Hortonworks Data Platform(HDP)는 분산 스토리지 및 대규모 멀티 소스 데이터 세트 처리를 위한 오픈소스 프레임워크다. 도커 내에 HDP를 설치해본다.

윈도우10 내 도커(docker) 설치

HDP 설치

  • HDP 샌드박스를 사용하면 Apache Hadoop, Apache Spark, Apache Hive, Apache HBase, Druid 및 DAS(Data Analytics Studio)를 쉽게 시작할 수 있는 장점이 있다.
    • 즉, 모든 빅데이터 저장 및 처리를 위한 툴이 모두 설치되어 있다.
  • Get Started with Hortonworks Sandbox 를 클릭해 Hortonworks HDP에서 Download Now를 클릭한다.
    • 계정 등록이 있다면 간단히 해준다.

  • Installation TYpe에 Docker를 선택해 LET'S GO!를 클릭한다.

  • 그럼 아래 설치가 뜨는데, 3.0.1은 램이 22GB 이상 필요하기 때문에, 16GB이상 필요한 2.6.5를 설치해준다.(최소는 10GB 이상 필요하다.) 물론, 램이 여유가 있다면 3.0.1을 설치해도 된다.

  • 2.6.5 버전에 기본 포함된 프로젝트들은 다음과 같다. 1

  • 다운로드받은 파일은 다음과 같다. 파일을 다운 받아, wsl2 내 경로로 파일을 이동시켜 준다.

WSL2 내 명령어 실행

  • 다음은 mkdir HDP_2.6.5로 HDP_2.6.5 폴더를 생성해 다운받은 파일을 넣은 결과이다.
  • 그 후, bash docker-deploy-hdp265.sh 명령어로 스크립트를 실행한다.

    image

  • 설치가 끝나면 자동으로, sandbox-proxy 컨테이너와 sandbox-hdp 컨테이너 2개가 실행될 것이다.
  • 아래는 docker ps 명령어를 통해 해당 컨테이너가 실행되는 것을 확인할 수 있다.

  • docker desktop으로 확인하면 다음과 같다.

기타 설정

  • 그 후 해당 명령어를 통해 hosts 파일을 수정해준다. 1
  • echo '127.0.0.1 sandbox-hdp.hortonworks.com sandbox-hdf.hortonworks.com' | sudo tee -a /etc/hosts
  • 그리고, port conflict가 있다면, 포트를 변경해준다. 단계는 다음과 같다. 1
    • vi sandbox/proxy/proxy-deploy.sh 명령어를 실행한다.
    • 6001:6001를 16001:6001로 바꿔준다.

      image

    • esc를 누른 후 :wq로 저장 후 파일을 나간다.
    • 그리고 bash sandbox/proxy/proxy-deploy.sh로 bash 스크립트를 실행한다.

기타 명령어

  • HDF sandbox를 중지하고 싶다면, 다음 명령어를 실행한다.

      $ docker stop sandbox-hdp
      $ docker stop sandbox-proxy
    
  • HDF sandbox를 시작하고 싶다면, 다음 명령어를 실행한다.

      $ docker start sandbox-hdp
      $ docker start sandbox-proxy
    

Ambari 접속

  • 접속은 127.0.0.1:8080로 간다.
  • 그럼, 로그인 화면이 뜨는데, 다음을 입력한다.
    • 계정 : maria_dev
    • 비밀번호 : maria_dev

  • 다음 화면이 뜬다면 설치가 완료된 것이다.

만약 이런 에러가 뜬다면, Ports are not available: listen tcp 0.0.0.0/50070: bind: An attempt was made to access a socket in a way forbidden by its access permissions

  • 해결책
    • 명령 프롬프트에서 다음과 같은 명령어를 실행해준다.
    net stop winnat
    docker start container_name
    net start winnat
    

한계 및 주의사항

  • HDP 2.6.5 샌드박스는 2018년 Hortonworks와 Cloudera 합병 이후 CDP(Cloudera Data Platform)로 통합되어 더 이상 갱신되지 않는다. 학습·재현 목적 외에는 최신 배포판 사용을 검토해야 한다. 1
  • 샌드박스는 컨테이너 2개(2.6.5는 10GB 이상, 3.0.1은 22GB 이상 램)를 요구하므로, WSL2에 할당한 메모리가 부족하면 컨테이너가 시작되지 않는다.
  • Windows의 winnat 포트 예약 문제로 50070 같은 포트 바인딩이 막힐 수 있어, net stop winnat / net start winnat으로 예약을 풀어야 하는 경우가 있다.
  • Ambari(8080) 외의 서비스(Hive 10000, YARN ResourceManager 8088 등)는 hosts 파일 수정과 프록시 포트 매핑에 의존하므로, 프록시 스크립트의 포트를 바꾸면 접속 주소도 함께 바꿔야 한다.

References

댓글남기기