= [.. Hadoop in a Slice] =
'''We are actively updating this tutorial. If you need help with this tutorial please contact: help@geni.net'''
== Part I: Obtain Resources: create a slice and reserve resources ==
{{{
#!html
Launch Jacks (use the beta version available in the GENI portal )
Click "Add Resources"
}}}
== 2. Bind the Slice ==
{{{
#!html
Click "Site 0" in the Jacks window
Select an ExoGENI site (If you are participating in an organized tutorial, please bind the VMs to the rack assigned to you)
}}}
== 3. Create the Hadoop Master ==
{{{
#!html
Add an ExoGENI VM to your slice.
Select the VM to set its properties:
Name: hadoop-master
Node Type: ExoGENI Medium
Custom Disk Image Name: http://geni-images.renci.org/images/GENIWinterCamp/images/gwc-hadoop.v0.4a.xml
Disk Image Version: 16ff128df4cf10f2472a8d20796146bcd5a5ddc3
Add an Install Script: URL: http://geni-images.renci.org/images/GENIWinterCamp/master.sh Path: /tmp
Add an execute service to execute the script at boot time: chmod +x /tmp/master.sh; /tmp/master.sh
}}}
== 3. Create the Hadoop Workers ==
{{{
#!html
Add a 2 more VMs to the same rack as the first VM.
Edit each worker’s attributes
Names: hadoop-worker-0 and hadoop-worker-1
Node Type: ExoGENI Medium
Disk Image Name:
http://geni-images.renci.org/images/GENIWinterCamp/images/gwc-hadoop.v0.4a.xml
Disk Image Version: 16ff128df4cf10f2472a8d20796146bcd5a5ddc3
Add an Install Script: URL: http://geni-images.renci.org/images/GENIWinterCamp/worker.sh Path: /tmp
Add an execute service to execute the script at boot time. For each VM, substitute
the VM’s name for where the following uses “hadoop-worker-0”. (Note: the following
should be placed on one line) chmod +x /tmp/worker.sh; /tmp/worker.sh $hadoop-master.Name() $hadoop-master.IP("link-0") $hadoop-worker-0.Name() $hadoop-worker-0.IP("link-0")
Repeat for worker 1
}}}
== 4. Create the Network ==
{{{
#!html
Link all three VMs with a broadcast network
Set the master's IP to 172.16.1.1
Set the master's netmask to 255.255.255.0
Set the worker0's IP to 172.16.1.10
Set the worker0's netmask to 255.255.255.0
Set the worker1's IP to172.16.1.11
Set the worker1's netmask to 255.255.255.0
}}}
== 5. Instantiate the Slice ==
You can use any tool to reserve this topology, today we are going to use Omni. To do that you will need to:
{{{
#!html
Download the rspec and save it to your local disk by clicking the download button
Submit the request by running this omni command in a command line window: omni createsliver slicename rspec_filename -a AM_NICKNAME