Cloudera ManagerとCDHをAWS EC2にインストールしてみた
こちらのエントリ、きっかけは下記イベントでの内容でした。
弊社で行われたTableau(※BIツール) x AWSな組み合わせのこのイベントにて、Tableau Japanの並木 正之さんの解説の元、TableauからCloudera Impalaという仕組み(リアルタイムクエリ)を介してデータに接続するデモが行われ、その反応の早さに参加者一同驚きました。
それを受けて、『AWS上でこれが動かせるのであれば、またひとつ面白い事が出来るんじゃないか』と思った部分もありキーワードで検索を掛けてみたところ、以下の情報を発見。んじゃぁまずはインストールしてみましょう!って事で投稿準備を始めた次第です。
では早速スタート!
事前準備
環境構築の点では、アクセス制御の為に以下情報を持つセキュリティグループが必要となります。配備予定のVPCに紐付く形で前以て作成。
- TCP:7180, 7182, 7183, 7432
- ICMPを許可(Echo Reply)
また、EC2作成時のキーペアが必要となりますので無ければ前以て作っておきましょう。
EC2インスタンスの起動
EC2に関しては、Ubuntu12.04若しくはCloudera ManagerがサポートしているOSを導入する必要があります。サポートしているものについては以下リンクを参照。
このエントリでは、指定のあるUbuntu12.04を使ってみる事にします。対応するAMIを選択。
先のドキュメントには、動作させるためには『m1.large以上が必要』との記述もありました。(Select the Instance Type: Cloudera recommends using at least "M1 Large" instances.)というわけで今回はm1.largeを選択。
VPC及びサブネットは所定の配備予定となる場所を指定。
EC2に割り当てるグループは先程作成したものに加えて、SSH(22)を許可する設定も併せて追加。
内容確認。その他の要素についてはひとまずそのままの設定値で進めました。
KeyPairの指定を行い、起動。
Cloudera ManagerをEC2にインストール
EC2の起動完了後、SSHでログインします。Ubuntuの場合はユーザー名『ubuntu』でログイン。
$ ssh -i XXXXXXXXXXXXXXX-key.pem ubuntu@xx.xxx.xxx.xxx Welcome to Ubuntu 12.04.3 LTS (GNU/Linux 3.2.0-54-virtual x86_64) * Documentation: https://help.ubuntu.com/ System information as of Wed Nov 6 15:25:40 UTC 2013 System load: 0.0 Processes: 65 Usage of /: 11.1% of 7.87GB Users logged in: 0 Memory usage: 0% IP address for eth0: xxx.xx.x.xx Swap usage: 0% Graph this data and manage this system at https://landscape.canonical.com/ Get cloud support with Ubuntu Advantage Cloud Guest: http://www.ubuntu.com/business/services/cloud Use Juju to deploy your cloud instances and workloads: https://juju.ubuntu.com/#cloud-precise 0 packages can be updated. 0 updates are security updates. The programs included with the Ubuntu system are free software; the exact distribution terms for each program are described in the individual files in /usr/share/doc/*/copyright. Ubuntu comes with ABSOLUTELY NO WARRANTY, to the extent permitted by applicable law. To run a command as administrator (user "root"), use "sudo <command>". See "man sudo_root" for details. ubuntu@ip-xxx-xx-x-xx:~$
wgetコマンドでインストーラをダウンロード&起動。
$ wget http://archive.cloudera.com/cm4/installer/latest/cloudera-manager-installer.bin $ sudo su root@ip-xxx-xx-x-xx:/home/ubuntu# chmod +x cloudera-manager-installer.bin root@ip-xxx-xx-x-xx:/home/ubuntu# ./cloudera-manager-installer.bin
ここからしばらくGUIモードに。基本OK、次へと進めて行きます。
インストール完了後は、ブラウザ上で作業が進んで行きます。
Cloudera Manager Cloud Express上での作業 - CDHのインストール
インストール完了後、ブラウザを開き http://(EC2サーバのホスト名):7180/ にアクセス。ログイン画面が表示されるので、admin/adminでログインします。
エンタープライズ版のライセンスを持っている場合はアップロードが行えますが、今回は持っていないのでトライアル版のまま次へ。
進んで行くと、サーバの再起動を求められます。表示されているテキスト通りにサーバ再起動を実施。
$ ssh -i xxxxxxxxxxxxxxx-key.pem ubuntu@xx.xxx.xxx.xxx $ sudo su # service cloudera-scm-server restart
再起動後ログインし直すと先に進めるようになります。[続行]押下。
インスタンス仕様の入力。先程の入力内容に倣い、ここはOS:Ubuntu12.04、インスタンスタイプ:m1.largeを選択。クラスタへ追加するインスタンス数も最小の1を設定し[続行]押下。
資格情報の入力。ここではアクセスキーIDとシークレットキーを入力するのですが、当初『EC2起動の際に利用していたアカウント(に紐付く情報)で行けるのかなと思いきや、それでは宜しくない様でした。
上記画面指示内容にあるように、別途管理コンソールでIAMを開き、新しくアクセスキーを生成します。生成した情報は保存・退避しておきましょう。
ここはそのまま、プロビジョニングを開始。
プロビジョニングが完了したらキーをダウンロードしておきましょう。次へ。
インストールが始まります。
インストール完了。
導入内容の検査が始まります。しばらく放置。
クラスタサービスも諸々起動し始めます。
インストール完了!
改めてログインし直して見ます。諸々サービスが立ち上がってますね!
まとめ
ひとまず、ゼロからEC2に環境を立ち上げる所までは出来ました。画面ウィザードに従って作業を進めた部分も多く、そこまで苦労したという訳でも無かったです。進行が日本語で進むのも地味にありがたいところですね。
この時点ではまだ何も動かせてないので、本来の目的の1つであるImpalaの実行、そしてTableau(Desktop)からの接続検証等も進めて行ければと思います。