How to semi-automate deploying dev hdp cluster
Purpose of this article:
When you install HDP for dev/test environment, you would repeat same commands to set up your host OS. To save time, created a BASH script which helps to set up the host OS (Ubuntu only) and docker image (CentOS).
What this script does:
- Install packages on Ubuntu host OS
- Set up docker, such as creating image and spawning containers
- [Optional] Set up a local repository for HDP (not Ambari) with Apache2
What this script does NOT:
- As of this writing, this does not install HDP
- Please use Ambari Blueprint if you would like to automate HDP installation as well.
- This step is NOT for production environment but would be useful to test HA components
Host setup steps:
Step 1: Install Ubuntu 14.x LTS on your VirtualBox/VMware/Azure/AWS.
It should be easy to deploy Ubuntu VM if you use Azure or AWS.
If you are using VirtualBox/VMWare, you might want to backup Ubuntu installed VM as a template, so that later you can clone.
Step 2: Login to Ubuntu and become root (sudo -i)
Step 3: Download script using below command
wget https://raw.githubusercontent.com/hajimeo/samples/master/bash/start_hdp.sh -O ./start_hdp.sh && chmod u+x ./start_hdp.sh
Step 4: Start the script with Install mode
Step 5: Start of an interview
Script will ask a few questions such as your choice of guest OS, Ambari version, HDP version etc. Normally default values should be OK, so you can just keep pressing Enter key.
NOTE: The end of interview, it asks you to save your answer in a text file. You can reuse this file to skip interview when you install a new cluster.
Step 6: Confirm your answers
After saving your responses, it will ask you “Would you like to start setup this host? [Y]:“. If you answer yes, it starts setting up your Ubuntu host OS. After waiting for while, the scripts finishes, or if there is any error, it stops.
The time would be depending on your choice. If you selected to setup a local repo, downloading repo may take long time.
Step 7: Complete the setup
Once the script completed successfully, your choice of Ambari Server should be installed and running on your specified docker container on port 8080.
NOTE: At this moment, docker containers are installed in a private network, so that you would need to do one of followings (“1″ would be the easiest):
Following command creates proxy from your local PC port 18080
ssh -D 18080 username@ubuntu-hostname
Following command do port forwarding from your localhost:8080 to node1:8080
ssh -L 8080:node1.localdomain:8080 username@ubuntu-hostname
Set up proper proxy, such as squid
If you decided to set up a proxy, installing addon such as “SwitchySharp” would be handy.
- Once you confirmed you can use Ambari web interface, please proceed to install HDP.
If you choose to set up a HDP local repository, please replace “public-repo-1.hortonworks.com” to “dockerhost1.localdomain” (if you used default value)
- Private key should be /root/.ssh/id_rsa in any node
- Remaining steps should be same as installing normal HDP.
NOTE: if you decided to install older Ambari version, there is a known issue AMBARI-8620
Host Start up step
If you shutdown the VM, next time you can just run “./start_hdp.sh -s” which starts up containers, Ambari Server, Ambari Agents and HDP services.
How to semi-automate deploying dev hdp cluster – Did you like this article ? please feel free to send an email to firstname.lastname@example.org if you have any further questions on this. Please don’t forget to like our facebook page. Happy Hadooping!!