Docker로 Cloudera Manager 시작

4123 단어 도커hadoop
Hadoop 초보자의 미국 거주 Java 여자입니다.
Cloudera가 제공하는 Cloudera Quickstart의 docker image를 사용하여 Cloudera Manager를 시작해 보았습니다.

운영 환경


  • Mac OS
  • Docker 설치됨

  • 절차



    Cloudera Quickstart image 설치
    우선 터미널에서$ docker pull cloudera/quickstart:latest(상당히 오래 기다렸다···)

    Docker 이미지 시작
    인터넷에서 자주 보는 절차서에는 이 명령이 실려 있지만,
    $ docker run --hostname=quickstart.cloudera \ 
       --privileged=true -t -i cloudera/quickstart:latest \
       /usr/bin/docker-quickstart`
    

    이것이라고 Docker 내에서 일어난 서비스에 호스트 OS(Mac OS)로부터 액세스 할 수 없다. 요컨대 브라우저에서 GUI 조작을 할 수 없다. 그래서 포트 설정을 추가했습니다. 7180과 80의 두 가지.
    7180은 Cloudera manager의 기본 포트, 80은 Quick start tutorial.
    $ docker run --hostname=quickstart.cloudera \
       --privileged=true -t -i -d  -p 7180 -p 80 \
      cloudera/quickstart:latest /usr/bin/docker-quickstart
    

    Port-mapping 확인
    docker ps로 port mapping을 확인해 보면,
    $ docker ps
    CONTAINER ID        IMAGE                        COMMAND                  CREATED             STATUS              PORTS                                                                     NAMES
    f99fd392c809        cloudera/quickstart:latest   "/usr/bin/docker-quic"   33 minutes ago      Up 33 minutes       0.0.0.0:32800->80/tcp, 0.0.0.0:32799->7180/tcp    amazing_engelbart
    

    7180은 32799, 80은 32800에 매핑된다.
    Docker가 자동으로 호스트 OS의 빈 포트를 할당해 준다.

    그리고 위의 docker run 명령을 실행하면 컨테이너가 시작되고 자동으로 서비스를 시작합니다.

    빠른 시작 가이드에 액세스해 보세요.

    시동 과정이 끝나면 먼저 퀵 스타트 가이드에 액세스해 봅니다.
    Docker Host의 IP 주소를 살펴보면,
    $ docker-machine ip default
    192.168.99.100
    

    음, 192.168.99.100이다. 조만간 docker ps에 따르면 포트 80은 32800으로 매핑되었습니다.
    그래서 Mac 브라우저에서 192.168.99.100:32800에 액세스해 본다.


    Yay!

    Cloudera Manager 시작
    튜토리얼을 튕겨 Cloudera Manager를 시작합니다.
    [root@quickstart cloudera]# sudo /home/cloudera/cloudera-manager --force --express
    [QuickStart] Shutting down CDH services via init scripts...
    [QuickStart] Disabling CDH services on boot...
    [QuickStart] Starting Cloudera Manager daemons...
    [QuickStart] Waiting for Cloudera Manager API... <<< ここでかなり待たされる
    [QuickStart] Configuring deployment...
    [QuickStart] Deploying client configuration...
    [QuickStart] Starting Cloudera Management Service...
    [QuickStart] Enabling Cloudera Manager daemons on boot...
    
    Success! You can now log into Cloudera Manager from the QuickStart VM's browser:
    
        http://quickstart.cloudera:7180
    
        Username: cloudera
        Password: cloudera
    

    친절하게 username과 password 표시하여 시작이 끝났습니다.
    「브라우저로부터 http://quickstart.cloudera:7180 에 액세스 해 보아라!」라고 쓰고 있지만, Docker내에서 움직이고 있으므로 이 URL은 사용할 수 없다.

    아마도 docker ps에 따르면 포트 7180은 Mac OS의 포트 32799에 매핑되므로 브라우저에서 192.168.99.100:32799에 액세스합니다.

    Username과 Password는 "cloudera"로 로그인할 수 있다.
    (어쩐지 버릇으로 admin이라고 입력해 버리고 있지만··땀)
    입력 후 Cloudera Manager 화면.



    빠진 점



    문서에 「Quickstart tutorial를 기동하지 않는 경우는, docker run 커멘드에/bin/bash 를 건네주면 좋겠다」라고 써 있었으므로, 이하의 커멘드를 실행.
    $ docker run --hostname=quickstart.cloudera --privileged=true \
      -t -i -d  -p 7180 -p 80 cloudera/quickstart:latest /bin/bash
    

    무사히 docker는 기동할 수 있었지만, HDFS에 에러가 나오고 있고, Cloudera Manager도 전혀 액세스 할 수 없는 울음

    Quickstart tutorial은 모든 서비스를 자동으로 시작해 주므로, 그것을 헹구면 HDFS, Hive, Spark 등 수동으로 시작하지 않으면 안되는 모양 T-T

    좋은 웹페이지 즐겨찾기