はじめに
Cloudera QuickStart VMs を触ってみます。
前提条件
環境:t2.xlargeのEC2インスタンス(EIP設定済み)
OS:Amazon Linux
$ uname -a
Linux ip-hoge-hoge-hoge-hoge 4.9.58-18.51.amzn1.x86_64 #1 SMP Tue Oct 24 22:44:07 UTC 2017 x86_64 x86_64 x86_64 GNU/Linux
インスタンス初期設定
まずは以下のように初期設定を行っておきます。
# yum update
$ sudo yum update
# タイムゾーン設定(UTC -> JST)
$ sudo mv /etc/localtime /etc/localtime.org
$ sudo ln -s /usr/share/zoneinfo/Asia/Tokyo /etc/localtime
Docker インストール
Dockerをインストールします。
# dockerインストール&サービス起動
$ sudo yum install -y docker
$ sudo service docker start
# dockerグループにec2-userを追加
$ sudo usermod -a -G docker ec2-user
$ cat /etc/group |grep docker
docker:x:497:ec2-user
ログアウト & 再度ログイン
$ docker info
Containers: 0
Running: 0
Paused: 0
Stopped: 0
Images: 0
Server Version: 17.03.2-ce
Storage Driver: overlay2
Backing Filesystem: extfs
Supports d_type: true
Native Overlay Diff: true
Logging Driver: json-file
Cgroup Driver: cgroupfs
Plugins:
Volume: local
Network: bridge host macvlan null overlay
Swarm: inactive
Runtimes: runc
Default Runtime: runc
Init Binary: docker-init
containerd version: 4ab9917febca54791c5f071a9d1f404867857fcc
runc version: 54296cf40ad8143b62dbcaa1d90e520a2136ddfe
init version: 949e6fa
Security Options:
seccomp
Profile: default
Kernel Version: 4.9.51-10.52.amzn1.x86_64
Operating System: Amazon Linux AMI 2017.09
OSType: linux
Architecture: x86_64
CPUs: 4
Total Memory: 15.67 GiB
Name: ip-hoge-hoge-hoge-hoge
ID: 4AKT:BX72:LWYE:7KFY:ZWX2:TW2I:374J:C7XP:D6QZ:QYHO:RSAC:TKEB
Docker Root Dir: /var/lib/docker
Debug Mode (client): false
Debug Mode (server): false
Registry: https://index.docker.io/v1/
Experimental: false
Insecure Registries:
127.0.0.0/8
Live Restore Enabled: false
Cloudera Quick Start Docker Image取り込み
以下のドキュメントを参考にDocker Imageを取り込みます。
https://www.cloudera.com/documentation/enterprise/5-6-x/topics/quickstart_docker_container.html
イメージはあらかじめcloudera.comからダウンロードしたものをEC2インスタンスへアップロードしておきます。
※「Downloads > QuickStart VMs > Docker Image」からダウンロード
# Cloudera Quick Start Dockerイメージ展開
$ tar xzf cloudera-quickstart-vm-*-docker.tar.gz
# Dockerイメージ取り込み
$ docker import - cloudera/quickstart:latest < cloudera-quickstart-vm-*-docker/*.tar
Cloudera Quick Start 起動
Cloudera Quick Startを起動します。
# 起動
$ docker run --hostname=quickstart.cloudera --privileged=true -t -i -d -p 7180:7180 -p 80:80 -p 8888:8888 -p 3306:3306 -p 10000:10000 cloudera/quickstart:latest /usr/bin/docker-quickstart
# コンテナ情報を調べる
$ docker ps
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
4ad6c4325d1c cloudera/quickstart:latest "/usr/bin/docker-q..." 8 seconds ago Up 8 seconds 0.0.0.0:80->80/tcp, 0.0.0.0:3306->3306/tcp, 0.0.0.0:7180->7180/tcp, 0.0.0.0:8888->8888/tcp, 0.0.0.0:10000->10000/tcp agitated_albattani
コンテナ情報から、コンテナ側のポートがホスト側のポートにマップされたことが分かります。
ポート | 利用対象 |
---|---|
80 | QuickStart VM ガイドページ |
3306 | MySQL |
7180 | Cloudera Manager |
8888 | Hue |
10000 | Hive |
以下でQuickStart VMのガイドページが表示されます。
http://[EC2インスタンスのEIP]
Cloudera Manager 起動
Cloudera Managerはデフォルトでは起動しないそうなので、下記の通り起動させます。
注意点として、ntpサービスが動いていないとステータス画面でエラーが出るので、事前に起動させておきます。
# コンソールにログイン
$ docker attach fb4d3b01b00b
# nptサービスが動いていないので、事前に動かす
$ service ntpd start
# Cloudera Managerを起動 (起動には時間が掛かります)
$ /home/cloudera/cloudera-manager --enterprise
[QuickStart] Shutting down CDH services via init scripts...
(略)
Success! You can now log into Cloudera Manager from the QuickStart VM's browser:
http://quickstart.cloudera:7180
Username: cloudera
Password: cloudera
# コンソールから抜けるときはCtrl+P⇒Ctrl+Q
無事に起動したら、先ほどdocker psでみた情報を元にマッピングされたポートにアクセスします。
http://[EC2インスタンスのEIP]:7180
先程のUsername/Passwordであるcloudera/clouderaでログイン
ステータスにある通り、Hueも起動しているのでログインしてみます。
http://[EC2インスタンスのEIP]:8888
あとはHueからテーブルを作成したり、データを投入したりして試してみることができます。