目的:
Hadoop/HDPでトラブルシューティングなどをする際に、AmbariやHDPの異なるバージョンのVMを作りたい時があると思います。その際いちいちマニュアルで作ると面倒なので、よく使う手順をBASHでまとめてみました。
本スクリプトでできること:
- Dockerのインストールと指定した数のコンテナの作成
- Ambari Serverのインストール(Agentはインストールしません)
- オプション :HDP用のローカルレポジトリの作成
本スクリプトでしないこと:
HDP自体のインストールはしません(-aオプションでします)
HDPのインストールを自動化されたい場合はAmbari Blueprintを参照してください
ステップ:
- Ubuntu OSをVM Guestとしてインストール
AzureやAWSだと(OpenStackやvCenterでも)簡単にUbuntu 14.0.4か16.04をデプロイできるかと思います。 - VirtualBoxやVMWare Workstationなどでは、Ubuntuインストール後のVMをクローンできるようバックアップしておくことをお勧めします。
- Ubuntuに”root”としてログイン
- スクリプトをダウンロード
wget https://raw.githubusercontent.com/hajimeo/samples/master/bash/start_hdp.sh -O ./start_hdp.sh - 現在のユーザに実行権限
chmod u+x ./start_hdp.sh - スクリプトを自動モードで開始
./start_hdp.sh -a
上記は全てデフォルトの設定でHDPのインストールまで完了します。
もしインストール(設定ではなく)がうまくいかない場合、http://public-repo-1.hortonworks.com が繋がるか確認してください。
- スクリプトをインストールモードで開始
./start_hdp.sh -i - いくつかの質問に答えていきます。通常はデフォルトの値でOKです。
- Run apt-get upgrade before setting up? [N]:
- NTP Server [ntp.ubuntu.com]:
- IP address for docker0 interface [172.17.0.1]:
- Network Address (xxx.xxx.xxx.) for docker containers [172.17.100.]:
- Domain Suffix for docker containers [.localdomain]:
- Container OS type (small letters) [centos]:
- Container OS version [6]:
- How many nodes? [4]:
- Hostname for docker host in docker private network? [dockerhost1]:
- Ambari server hostname [node1.localdomain]:
- Ambari version (used to build repo URL) [2.2.0.0]:
- If you have set up a Local Repo, please change below
- Ambari repo [http://public-repo-1.hortonworks.com/ambari/centos6/2.x/updates/2.2.0.0/ambari.repo]:
- Would you like to set up local repo for HDP? (may take long time to downlaod) [N]: Y
- Local repository directory (Apache root) [/var/www/html]:
- HDP (repo) version [2.3.4.0]:
- URL for HDP repo tar.gz file [http://public-repo-1.hortonworks.com/HDP/centos6/2.x/updates/2.3.4.0/HDP-2.3.4.0-centos6-rpm.tar.gz]:
- URL for UTIL repo tar.gz file [http://public-repo-1.hortonworks.com/HDP-UTILS-1.1.0.20/repos/centos6/HDP-UTILS-1.1.0.20-centos6.tar.gz]:
- INFO : Interview completed.
- Would you like to save your response? [Y]:
- INFO : Saved ./start_hdp.resp
- Would you like to start setup this host? [Y]:
- 最後の質問をYesにするとインストールが始まります。
- パッケージのダウンロードが一番時間がかかりますが、Azure上だと10〜20分ぐらい待つと、スクリプトが完了する、またはエラーが有った場合はスクリプトが止まります。
- ambari-serverの起動に成功しているとブラウザーでアクセスできます。
*注意* : このままだとローカルのPCからはコンテナ(node1)上のAmbariのポート8080には直接アクセスできません。
簡単な方法としては、"ssh -D 18080 username@ubuntu-hostname"などでプロキシを作成するか、"ssh -L 8080:node1.localdomain:8080 username@ubuntu-hostname"などでポートフォーワーディングするなどがあります。
個人的にはProxyとChromeのアドオン”SwitchySharp”などがおすすめです。
ambari-serverが起動していなかった場合は、node1にログインして"ambari-server start"を試してください。 - Ambariにブラウザからアクセスできた場合は、普通通りにHDPをインストールしてください。またはBlueprintなど。
- HDPのローカルレポジトリを作成した場合は、Hostnameをdockerhost1.localdomain(最初のインタビュー時に変更可能)に変えてください。
- Private Keyは全てのノードの.ssh/id_rsaにあります
インストール完了後
Ubuntu VM再起動後には "./start_hdp. sh -s"でHDPサービスを起動できます。