I presented this topic to the Big Data Meetup in Nottingham on Thursday but sometimes people prefer a blog to a presentation, so I’ve fashioned this article from the slides…
This article assumes the following:
- You know what Azure is
- You know what Hortonworks Data Platform is
- You have an account to go on Microsoft Azure (Microsoft offer £150 free credits for a month trial)
- You have a web browser
- You’ve generated a public/private SSH key pair
Start by navigating to the Azure login page and enter your details. If you have never visited before your screen will look like this:
If you’ve logged in before the page will show your login and you can just click it:
After you login, you’ll arrive at the Dashboard:
Choose the “Marketplace” link at the bottom right, which leads to the following screen where you can type “HDP” and it will show you the options for Hortonworks Data Platform. There are currently two options 2.4 and 2.5 – I chose 2.5:
When you choose 2.5 it will bring up this screen which shows the details of the option you have chosen and offers you the “Create” button to go ahead and start the creation process – click on Create:
After clicking on Create, the process moves on to a five step wizard, the first step of which allows you to choose “Basic options” for the VM. I set the following options:
VM Disk Type: SSD
User name: jeff
SSH Public key: my public SSH key
Subscription: Leave set to Free Trial (if that’s what you are using, as per screenshot, or your Corporate/Pay As You Go subscription if you have one)
Resource Group: Create New called hdp25sandbox_rg
Location: UK West
A screenshot of these options looks like this:
Click on OK and move on to the 2nd step in the wizard for choosing the size of the VM. I chose the DS3_V2 size which seemed to work OK – you might be able to get away with something smaller, perhaps.
Click on Select and move on to step 3 of the wizard which is about configuring optional features. For this step I set the following:
Use managed disks: Yes
Leaving all other options as defaults this looks like:
Click on OK and move on to step 4 which is just a summary of the configuration:
If you’re happy, click on Purchase and that’s the end of the wizard. Azure then goes off to deploy the VM, which can take a few minutes. You’ll be returned to the dashboard screen where you’ll see the VM at the top right with the word Deploying on it:
As I say, it takes a few minutes to complete, but when it does, you’ll see a popup notification in the top right of the screen and the VM tile will change to look as below:
So, you now have the Sandbox VM up and running.
The VM by default only has inbound SSH access enabled and can only be accessed by IP address so we’ll make some changes to these next. First we’ll give the VM a DNS name which allows you to access it on the internet via a name rather than an IP address. From the dashboard screen (above) click on the VM and it takes you to this screen:
You’ll notice the Public IP address which is a hyperlink…click on that link and it takes you to the following screen where you can specify the DNS Name which means the machine will have a Fully Qualified Domain Name that you can access via the internet. I set my DNS Name to oramosshdp25sandbox and given I’d previously chosen to use UK West as the location, the Fully Qualified Domain Name is thus oramosshdp25sandbox.ukwest.cloudapp.azure.com as per the screenshot below:
Now, navigate to the Inbound Security Rules page which is under the Network Security Group page (access from the Resource List on the dashboard). Notice that the only rule existing is one to allow inbound SSH communication:
In order to facilitate additional capabilities you should open up a few more ports, as follows:
- 8888 – HDP
- 8080 – Ambari
- 4200 – Web SSH access
- 50070 – Default Node Name
- 21000 – Atlas
- 9995 – Zeppelin
- 15000 – Falcon
- 6080 – Ranger
Click on Inbound Security Rule which takes you to the page for maintaining these rules and enter the details for the 8888 port. I specified the name as default-allow-8888 and the port as 8888 as shown below:
Click on OK to create the rule. Carry out the same process for the other ports.
Now that we’ve undertaken these additional activities we can access the VM using an SSH terminal logging onto oramosshdp25sandbox.ukwest.cloudapp.azure.com as the user you have created (jeff in my case) and the private SSH key:
Whilst you are in the SSH terminal you can reset the Ambari password. This is not strictly necessary unless you want to login to Ambari as admin, but I’ll describe it anyway.
First become root with:
sudo su - root
Now SSH into the Docker Image as root:
You will be prompted to change the password for root on this first login – the current password is hadoop.
After changing the password run the Ambari password reset process:
Follow the instructions to reset the password and after that it will start the Ambari server process.
Once all that is done, exit out of the sessions and the original SSH terminal.
Now go into HDP via the web interface by logging on to the following URL:
The first time you access this URL you’ll be given a welcome (marketing) page which asks for your details:
Fill out the details and hit Submit which will take you to the main entry page for HDP:
Choose the Launch Dashboard option on the left, which brings up a pair of browser windows that use the entire desktop and show the Ambari login page on the left hand browser and the Tutorials website on the right hand browser like this:
You can use either the admin user that you just reset the password for or the predefined user raj_ops (password raj_ops) to access Ambari. Click on Sign In on the left hand browser once you entered the credentials and it takes you into the main Ambari homepage:
This is the main systems management environment for Hortonworks – more documentation here.
If we close this pair of browsers now and go back to the main HDP entry page and choose the Quick Links option on the right we get this page:
From here you can choose to use any of these specific components.
NOTE – I couldn’t get Atlas and Falcon to work – they need more configuration/setup to get them functional. Ranger, Zeppelin and the Web SSH client work fine though.
Just a basic introduction but I hope you find it useful.