...
- Install VirtualBox and Vagrant. (Installation only needs to be done once unless you want to upgrade VirtualBox and/or Vagrant.)
- Start one or more Linux virtual machines. Each machine represents a node in a cluster.
- DownloadOn one of the virtual machines, download, install, and deploy the version of Ambari you wish to use.
- Using Ambari, deploy the version of HDP you wish to use.
...
Change your current directory to
ambari-vagrant
:Code Block cd ambari-vagrant
If you run an
ls
command on theambari-vagrant
directory, you will see subdirectories for several different operating systems and operating system versions.cd
into the OS subdirectory for the OS you wish to use. CentOS is recommended, because it is quicker to launch than other operating systems.
The remainder of this example uses CentOS 7.0 . (To install and use a different version or distribution of Linux, specify the other directory name in place ofcentos7.0
.)Code Block cd centos7.0
Important: All VM
vagrant
commands operate within your current directory. Be sure to run them from the local (Mac) subdirectory associated with the VM operating system that you have chosen to use. If you attempt to run avagrant
command from another directory, it will not find the VM.Copy the private key into the directory associated with the chosen operating system.
For this example, which usescentos7.0
, issue the following command:Code Block cp ~/.vagrant.d/insecure_private_key .
(Optional) If you have at least 16 GB of memory on your Mac, consider increasing the amount of memory allocated to the VMs.
Edit the following line inVagrantfile
, increasing allocated memory from 3072 to 4096 or more; for example:Code Block vb.customize ["modifyvm", :id, "--memory", 4096] # RAM allocated to each VM
- Every virtual machine will have a directory called
/vagrant
inside the VM. This corresponds to theambari-vagrant/<os>
directory on your local computer, making it easy to transfer files back and forth between your host Mac and the virtual machine. If you have any files to access from within the VM, you can place them in this shared directory. Start one or more VMs, using the
./up.sh
command. Each VM will run one HDP node. Recommendation: if you have at least 16GB of RAM on your Mac and wish to run a small cluster, start with three nodes.Code Block ./up.sh <# of VMs to launch>
Additional notes:
- The defaultVagrantfile
(in each OS subdirectory) can create up to 10 virtual machines.
- The fully-qualified domain name (FQDN) for each VM has the format<os-code>[01-10].ambari.apache.org
, where<os-code>
isc59
(CentOS 5.9),c64
(CentOS 6.4), etc. For example,c5901.ambari.apache.org
will be the FQDN for node 01 running CentOS 5.9.
- The IP address for each VM has the format192.168.<os-subnet>.1[01-10]
, where<os-subnet>
is64
for CentOS 6.4,70
for CentOS 7.0, and so on. For example,192.168.70.101
will be the IP address for CentOS 7.0 nodec7001
.
For example, the following command starts 3 VMs:./up.sh 3
For CentOS 7.0, the associated hostnames will bec7001
,c7002
, andc7003
. Note that theup.sh 3
command is equivalent tovagrant up c700{1..3}
.Check the status of your VM(s). The following example shows the results of
./upsh 3
for three VMs running with CentOS 7.0:Code Block hw100LMBP:centos6.4 lkg$ vagrant status Current machine states: c7001 running (virtualbox) c7002 running (virtualbox) c7003 running (virtualbox) c7004 not created (virtualbox) c7005 not created (virtualbox) c7006 not created (virtualbox) c7007 not created (virtualbox) c7008 not created (virtualbox) c7009 not created (virtualbox) c7010 not created (virtualbox)
Your virtual machines are now installed and running.
Accessing Virtual Machines
Use the following steps when you want to access a running virtual machine:
To log on to a virtual machine, use the
vagrant ssh
command; for example:Code Block vagrant ssh c7001 LMBP:centos7.0 lkg$ vagrant ssh c7001 Last login: Tue Jan 12 11:20:28 2016 [vagrant@c7001 ~]$
From this point onward, this terminal window operates within the virtual machine until you exit the virtual machine. All commands go to the VM, not to your Mac.
Recommendation: Open a second terminal window for your Mac. This is useful when accessing the Ambari Web UI. To distinguish between the two, terminal windows typically list the computer name or VM hostname on each command-line prompt and at the top of the terminal window.When you first access the VM you will be logged in as user
vagrant
. Switch to theroot
user:Code Block [vagrant@c7001 ~]$ sudo su - Last login: Sun Sep 25 01:34:28 AEST 2016 on pts/0 root@c7001:~#
- When you are finished using the VM, use :
- Use the
logout
command to log out of root
- Use the
exit
command to return to your host machine (Mac).
- Use the
- At this point, the VMs will are still be running in the background. If you plan to use the VMs again later, you can suspend each VM for later use (
vagrant suspend <VM>)
or snapshot their current state. You can either suspend or remove the virtual machines; for more information, see the Vagrant and snapshot commands are described later in this post. (Note: http://help.skytap.com/VM_Sequencing.html, and best practices?)
Install Ambari on the Virtual Machines
Prerequisites: Before installing Ambari, the following software packages must be installed on your VM:
rpm
scp?
curl
wget
pdsh
- ntpd?
- scp?
On CentOS: to check if a package is installedTo check, run yum install rpm
. If it runs, yum
is installed and you can step through the rest of the list, installing the other utilities. If a utility is already installed, you will see a message that the software package is already installed, and that there is nothing further to do for that packageinfo <package-name>
. To install a package, run yum install <package-name>
.
To install Ambari, complete the following steps.
...