...
Change your current directory to
ambari-vagrant
:Code Block cd ambari-vagrant
You will see subdirectories for different OS’s.
cd
into the OS subdirectory for the OS you wish to use. CentOS 6.4 is recommended, because it is quicker to launch than other OS's.
The remainder of this Quick Start uses CentOS 6.4. To install and use another version or distribution of Linux, specify the other directory name in place of centos6.4Code Block cd centos6.4
Copy the private key into your OS directory:
Code Block cp ~/.vagrant.d/insecure_private_key .
(Optional) If you have at least 16 GM GB of memory on your Mac, consider increasing the amount of memory allocated to the VMs. Edit the following line in
Vagrantfile
, increasing 3072 to 4096 or more:Code Block vb.customize ["modifyvm", :id, "--memory", 3072] # RAM allocated to each VM
- All VMs will have a directory called
/vagrant
inside the VM. This corresponds to theambari-vagrant/<os>
directory on your local computer. 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. Three seems to be a good number if you have 16GB of RAM, without taxing the system too much.Code Block ./up.sh <# of VMs to launch>
For example,
up.sh 3
on CentOS 6.4 starts 3 VMs. Associated hostnames will bec6401
,c6402
, andc6403
.Additional notes:
- With the defaultVagrantfile
(in each OS subdirectory) you can specify up to 10 VMs. (If your computer can handle it; you can even add more.)
- VMs will have fully-qualified domain names (FQDN) with 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
,c6401.ambari.apache.org
, etc.
- VMs will have IP addresses192.168.<os-subnet>.1[01-10]
, where<os-subnet>
is59
for CentOS 5.9,64
for CentOS 6.4, etc. For example,192.168.59.101
for CentOS 5.9 nodec5901
,192.168.64.101
, for CentOS 6.4 nodec6401
, etc.
- Note thatup.sh 3
is equivalent to doing something likevagrant up c640{1..3}
Check the status of your VMs:
Code Block hw100:centos6.4 lkg$ vagrant status Current machine states: c6401 running (virtualbox) c6402 running (virtualbox) c6403 running (virtualbox) c6404 not created (virtualbox) c6405 not created (virtualbox) c6406 not created (virtualbox) c6407 not created (virtualbox) c6408 not created (virtualbox) c6409 not created (virtualbox) c6410 not created (virtualbox)
(You can use the
vagrant init
command to initialize your current directory as a Vagrant environment, but this step should already be handled by the preceding steps.)Next, log into one of your VMs. For example:
Code Block vagrant ssh c6401
From this point onward, your this terminal window will operate within the VM until you exit the VM. All commands will go to the VM, not your Mac.
Tip: Open a second terminal window for submitting commands on your Mac. This will be useful when accessing the Ambari Web UI.When When you first access the VM you will be logged in as user
vagrant
. Change toroot
user:Code Block sudo su -
Install Ambari
Prerequisites: The Before installing Ambari, the following software must be installed on your VM:
yum
rpm
scp
curl
wget
pdsh
(how to check)
On your VM (where the main ambari service should run?), download the Ambari repository. The following commands download Ambari version 2.2.1.0 and install
ambari-server
:OS Commands CentOS 6 wget -O /etc/yum.repos.d/ambari.repo http://public-repo-1.hortonworks.com/ambari/centos6/2.x/updates/2.2.1.0/ambari.repo yum install ambari-server -y
CentOS 7 wget -O /etc/yum.repos.d/ambari.repo http://public-repo-1.hortonworks.com/ambari/centos7/2.x/updates/2.2.1.0/ambari.repo
yum install ambari-server -yUbuntu 12 wget -O /etc/apt/sources.list.d/ambari.list http://public-repo-1.hortonworks.com/ambari/ubuntu12/2.x/updates/2.2.1.0/ambari.list
apt-key adv --recv-keys --keyserver keyserver.ubuntu.com B9733A7A07513CAD apt-get update apt-get install ambari-server -yUbuntu 14 wget -O /etc/apt/sources.list.d/ambari.list http://public-repo-1.hortonworks.com/ambari/ubuntu14/2.x/updates/2.2.1.0/ambari.list
apt-key adv --recv-keys --keyserver keyserver.ubuntu.com B9733A7A07513CAD
apt-get update
apt-get install ambari-server -yNote: to test a branch build or the trunk build, specify the repo URL for the branch or trunk version.
Ambari offers many installation options (see Ambari User Guides), but to To install Ambari with default settings, run the following commands to set up and start
ambari-server
:Code Block ambari-server setup -s ambari-server start
...
For
...
more information about installation options, see Ambari User Guides.
(Optional) For frontend developers only: see "Frontend Development
...
" (later on this page) for extra setup instructions.
Once Ambari Server is started,
...
access the Ambari Web UI at
http://<hostname>.ambari.apache.org:8080
. For example:Code Block http://c6401.ambari.apache.org:8080
...
The URL depends on the OS
...
and the node where you installed Ambari.
Note: The Ambari Server can take some time to
...
launch and be ready to accept connections. Keep
...
trying the URL until you
...
see the login page.
...
Login using default username
admin
...
, password
admin
.Choose "Launch Install Wizard."
Name your cluster.
On the Install Options page,
...
list the FQDNs of the VMs. For example:
Code Block c6401.ambari.apache.org c6402.ambari.apache.org c6403.ambari.apache.org
Alternatively,
...
use a range expression:
Code Block c64[01-03].ambari.apache.org
...
Upload the insecure_private_key file that you
...
created earlier.
Specify non-root SSH user
vagrant
.Follow the onscreen instructions to install your cluster.
Install the HDP Stack
When done testing, run vagrant destroy -f to purge the VMs.
...
run
Basic Vagrant Commands
Command | Description |
---|---|
vagrant up <vm-name> | Starts a specific VM. ( Example: Note: if you |
...
do not specify the |
...
ten VMs. |
vagrant destroy -f |
...
\[<vm-name>] | Destroys all VMs launched from the current directory |
...
, and deletes them from disk |
...
. You can optionally specify a specific VM to destroy | |
vagrant suspend | Suspends (snapshot) all VMs launched from the current directory so that you can resume them later You can optionally specify a specific VM to suspend |
vagrant resume | Resumes all suspended VMs launched from the current directory You can optionally specify a specific VM to resume |
vagrant ssh host | Starts a SSH session to the host. For example: vagrant ssh c6401 |
vagrant status | Shows which VMs are running |
...
Modifying RAM for the VMs
Each VM is allocated 2GB of RAM. These can be changed by editing Vagrantfile. To change the RAM allocation, modify the following line:
...
, suspended, etc. |
...
Taking Snapshots
Vagrant makes it easy to take snapshots of the entire cluster.
First, install the snapshot plugin:
...
Tip: After starting the VMs but before you do anything on the VMs, run "vagrant snapshot take init". This way, you can go back to the initial state of the VMs by running "vagrant snapshot go init"; this only takes seconds (much faster than starting the VMs up from scratch by using up.sh or "vagrant up"). Another advantage of this is that you can always go back to the initial state without destroying other named snapshots that you created.
Misc
All VMs launched will have a directory called /vagrant inside the VM. This maps to the ambari-vagrant/<os> directory on your local computer. You can use this shared directory mapping to push files, etc.
If you want to test OS’s other than what’s currently in the ambari-vagrant repo, please see http://www.vagrantbox.es/ for all the readily available OS images you can test. Note that Ambari currently works on RHEL 5/6, CentOS 5/6, Oracle Linux 5/6, SUSE 11, and SLES 11. Ubuntu support is work in progress.
...