LoginSignup
26
25

More than 5 years have passed since last update.

DockerでCloudera Managerを立ち上げる

Last updated at Posted at 2016-03-24

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の2つ。
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にアクセスしてみる。
Screen Shot 2016-03-24 at 1.37.39 AM.png

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にアクセス。
Screen Shot 2016-03-24 at 1.24.36 AM.png
UsernameとPasswordは"cloudera"でログイン出来る。
(なんとなくクセでadminって入力しちゃってるけど・・汗)
入力後のCloudera Managerの画面。

Screen Shot 2016-03-24 at 1.24.48 AM.png

ハマった点

ドキュメントに「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

26
25
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
26
25