CC Lab Manual-3
CC Lab Manual-3
Install VirtualBox/VMware
Workstation with different flavors of
1.
Linux or windows OS on top of
windows7 or 8.
Additional experiments
1
Exp No : 1
Install VirtualBox/VMware Workstation with different flavors of Linux or
windows OS on top ofwindows7 or 8.
Date :
AIM:
To Install VirtualBox / VMware Workstation with different flavors of Linux or windows
OS on topof windows 7 or 8.
PROCEDURE:
Steps to install Virtual Box:
1. Download the Virtual box exe and click the exe file…and select next button.
2
3.Click the next button.
3
6.Then installation was completed..the show virtual box icon on desktop screen.
4
5
There are various applications of cloud computing in today’s network world. Many search
engines and
websites are using the concept of cloud computing like www.amazon.com, hotmail.com, facebook.com,
linkedln.com
advantages of cloud computing in context to scalability is like reduced risk , low cost testing ,ability to
segment the cusand auto-scaling based on application load.
6
7
Steps to create Virtual Machine through opennebula
1. Open Browser, type localhost:9869
2. Login using username: oneadmin, password: opennebula
3. Click on instances, select VMs then follow the steps to create Virtaul machine
a. Expand the + symbol
b. Select user oneadmin
c. Then enter the VM name,no.of instance, cpu.
d. Then click on create button.
e. Repeat the steps the C,D for creating more than one VMs.
PERFORMANCE 50
RECORD 15
VIVA-VOCE 10
TOTAL 75
Result:
8
9
Exp No : 2
Install a C compiler in the virtual machine created usingvirtual box and execute
Simple Programs.
Date :
Aim:
PROCEDURE:
10
2. Type gedit first.c
11
4. Running the C program
12
13
PERFORMANCE 50
RECORD 15
VIVA-VOCE 10
TOTAL 75
Result:
14
15
Exp No : 3
Install Google App Engine. Create hello world app and othersimple web
applications using python/java.
Date :
Aim:
To Install Google App Engine. Create hello world app and other simple webapplications using python/java.
PROCEDURE:
In Eclipse toolbar, click on the Google icon, and select “New Web Application Project…”
Figure – Deselect the “Google Web ToolKit“, and link your GAE Java SDK via the “configureSDK” link
Click finished, Google Plugin for Eclipse will generate a sample project automatically.
3. Hello World
Review the generated project directory.
HelloWorld/ src/
...Java source code... META-INF/
...other configuration... war/
...JSPs, images, data files... WEB-INF/
...app configuration...lib/
...JARs for libraries... classes/
...compiled classes...
Copy
The extra is this file “appengine-web.xml“, Google App Engine need this to run and deploy
theapplication.File : appengine-web.xml
16
17
<appengine-web-app xmlns="http://appengine.google.com/ns/1.0">
<application></application>
<version>1</version>
</appengine-web-app> Copy
4. Run it local
Right click on the project and run as “Web
Application“.Eclipse console :
//...
INFO: The server is running at http://localhost:8888/
30 Mac 2012 11:13:01 PM com.google.appengine.tools.development.DevAppServerImpl startINFO: The
adminconsole is running at http://localhost:8888/_ah/admin
Copy
Access URL http://localhost:8888/, see output
1.Deploy to Google
App Engine
Register an account on https://appengine.google.com/, and create an application ID for your
webapplication.In this demonstration, I created an application ID, named “mkyong123”, and put it
in appengine-web.xml.
File : appengine-web.xml
</appengine-web-app>
18
19
Copy
Figure 1.3 – If everything is fine, the hello world web application will be deployed to this URL –
http://mkyong123.appspot.com/
PERFORMANCE 50
RECORD 15
VIVA-VOCE 10
TOTAL 75
Result:
20
21
Exp No : 4
Use GAE launcher to launch the web applications.
Date :
Aim:
PROCEDURE;
Now you need to create a simple application. We could use the “+”option to have the launcher
make us anapplication– but instead we will do it by hand to get a better sense of what is going
on.
Make a folder for your Google App Engine applications. I am going to make the Folder on my
Desktop called“apps” – the path to this folder is:
C:\Documents and
Settings\csv\Desktop\apps
And then make a sub-•‐folder in within apps called “ae-•01-•trivial” – the path to this fo
lder would be:C:\ Documents and Settings \csv\Desktop\apps\ae-•01-•trivial
Using a text editor such as JEdit (www.jedit.org), create a file called app. yaml in theae-•01-•trivial folder
with thefollowing contents:
application: ae-01-
trivial
version: 1
runtime: python api_version: 1
handlers:- url: /.*script: index.py
Note: Please do not copy and paste these lines into your text editor– you might end up with strange
characters –simply type them into your editor.
Then create a file in the ae-•01-•trivial folder called index.py with three
lines in it:print 'Content-Type: text/plain' print ' '
print 'Hello there Chuck'
Then start the Google App Engine Launcher program that can be found under Applications. Use the
File -•> Add Existing Application command and navigate into the apps directory and select the
ae-•01-•trivial folder. Once you have added the application, select it so that you can control the
application using the launcher Once youhave selected yourapplicationand press Run. Aftera few
moments your application willstart and the launcher willshow a little green icon next to your application.
Then press Browse to open a browser pointing at yourapplication which is running at
http://localhost:8080/
Paste http://localhost:8080 into your browser and you should see your
applicationas follows:
Paste http://localhost:8080 into your browser and you should see your
applicationas follows
22
23
Watching the Log
You can watch the internal log of the actions that the webserver is performing when youare interacting
with yourapplication in the browser. Select your application in the Launcher and press the Logs button to
bring up a log window:
With two files to edit, there are two general categories of errors that you may encounter. If you make a
mistake onthe app.yaml file, the App Engine will not start and your launcher will show a yellow icon
near your application:
To get more detail on what is going wrong, take a look at the log for the application:
In this instance – the mistake is mis-• ‐ indenting the last line in the app.yaml (line 8).
Ifyoumake asyntaxerror in the index.pyfile, a Pythontrace backerrorwillappear inyourbrowser.
The error you need to see is likely to be the last few lines of the output
– in thiscaseI made a Python syntax error on line one of our one-•‐line
application.
Reference: http://en.wikipedia.org/wiki/Stack_trace
When you make a mistake in the app.yaml file – you must the fix the mistakeand attempt to start the
applicationagain.
If you make a mistake in a file like index.py, you can simply fix the file andpress refresh in your browser
– there isno need to restart the server.
24
25
PERFORMANCE 50
RECORD 15
VIVA-VOCE 10
TOTAL 75
Result:
26
27
Exp No : 5
Simulate a cloud scenario using Cloud Sim and run a schedule inAlgorithm hat
is not present in Cloud Sim.
Date :
AIM:
To Simulate a cloud scenario using Cloud Sim and run a scheduling algorithm that is not present in Cloud
Sim.
Algorithm:
28
Output:
CloudSimExample1 finished!
29
: Broker: VM #0 has been created in Datacenter #2, Host #00.1: Broker: Sending cloudlet 0 to VM #0
: Broker: Cloudlet 0 received
: Broker: All Cloudlets executed. Finishing
.................... 400.1: Broker: Destroying VM #0
Broker is shutting down... Simulation: No more future events
Cloud Information Service: Notify all Cloud Sim entities for shutting down. Datacenter_0 is shutting
down...
Broker is shutting down
Simulationcompleted.
Simulation completed.
PERFORMANCE 50
RECORD 15
VIVA-VOCE 10
TOTAL 75
Result:
30
31
Exp No : 6
Find a procedure to transfer the files from one virtual macanother virtual
machine.
Date :
Aim:
PROCEDURE
1. You can copy few (or more) lines with copy &paste mechanism.
For this you need to share clipboard between host OS and guest OS, installing
Guest Addition on both the virtual machines (probably setting bidirectional and
restarting them).You copy from guest OS in the clipboard that is shared with the
host OS.
Then you paste fromthe host OS to the second guest OS.
2. You can enable drag and drop too with the same method (Click on
the machine,settings, general, advanced, drag and drop: set to
bidirectional )
3. You can have common Shared Folders on both virtual machines
anduse one ofthe directory shared as buffer to copy.
Installing Guest Additions you have the possibility to set Shared Folders too.As
you put afile in a shared folder from host OS or from guest OS, is immediately
visible to the other.(Keep in mind that can arise some problemsfor date/time of
the files when there are different clock settings on the different virtual
machines).
If you use the same folder shared on more machines you can exchange
filesdirectly copyingthem in this folder.
4. You can use usual method to copy files between 2 different computer with
client-serverapplication. (e.g. scp with sshd active for linux, winscp... you
can get some info about SSH servers e.g. here)
You need an active server (sshd) on the receiving machine and a client
onthe sending machine. Of course you need to have the authorization
setted(via password or, better,via an automatic authentication method).
Note: many Linux/Ubuntu distribution install sshd by default: you can see
ifit is runningwith pgrep sshd from a shell. You can install with sudo apt-get
install openssh-server.
5. You can mount part of the file system of a virtual machine via NFS
orSSHFS onthe other, or you can share file and directory with
Samba. You may find interesting the article Sharing files between
guest and host without VirtualBox shared folders with detailed step
by step instructions.
You should remember that you are dialling with a little network of machineswith
differentoperative systems, and in particular:
Each virtual machine has its own operative system running on
and actsas aphysical machine.
32
Host:one-sandbox
33
Each virtual machine is an instance of a program owned by an user in
the hostingoperative system and should undergo the restrictions of the
user in thehosting OS.
E.g Let we say that Hastur and Meow are users of the hosting machine, but they
did not allow each other to see their directories (no read/write/execute
authorization). When each of them run a virtual machine, for the hosting OS
those virtual machine are two normal. programs owned by Hastur and Meow and
cannot see the private directory of the other user.This is a restriction due to the
hosting OS. It's easy to overcame it: it's enough to give authorization to
read/write/execute to a directory or to chose a different directory in which both
users can read/write/execute.
Windows likes mouse and Linux fingers. :-)
I mean I suggest you to enable Drag &drop to be cosy with the Windowsmachines and the
Shared folders or to be cosy with Linux.
When you will need to be fast with Linux you will feel the need of ssh-keygen and
to Generate once SSH Keys to copy files on/froma remote machine without writingpassword
anymore. Inthis way it functions bash auto-completion remotely too!
PROCEDURE:
Steps:
1. Open Browser, type localhost:9869
2. Login using username: oneadmin, password: opennebula
3. Then follow the steps to migrate VMs
a. Click on infrastructure
b. Select clusters and enter the cluster name
c. Then select host tab, and select all host
d. Then select Vnets tab, and select all vnet
e. Then select datastores tab, and select all datastores
f. And then choose host under infrastructure tab
g. Click on + symbol to add new host, name the host then click on create.
4. on instances, select VMs to migrate then follow the stpes
a. Click on 8th icon ,the drop down list display
b. Select migrate onthat ,the popup window display
c. On that select the target host to migrate then click on migrate.
34
After migration :
35
Host:one-sandbox
36
Host:SACET
37
PERFORMANCE 50
RECORD 15
VIVA-VOCE 10
TOTAL 75
Result:
Aim:
To Install Hadoop single node cluster and run simple applications like wordcount.
PROCEDURE:
Install Hadoop
Step 1: Click here to download the Java 8 Package. Save this file in your
Step 5:Add the Hadoop and Java paths in the bash file (.bashrc). Open.
For applying all these changes to the current Terminal, execute the source command
Configuration files.Command:
cd hadoop-2.7.3/etc/hadoop/
40
Command: cd hadoop-2.7.3/etc/hadoop/
Command: vicore-site.xml\
Command: vi hdfs-site.xml
41
Step 10: Edit yarn-site.xml and edit the property mentioned
below insideconfiguration tag:
Step 7: Open core-site.xml and edit the property mentioned below inside configuration tag:
core-site.xml informs Hadoop daemon where NameNode runs in the cluster. It contains configuration
settings ofHadoop core such as I/O settings that are common to HDFS & MapReduce.
Step 8: Edit hdfs-site.xml and edit the property mentioned below inside
configuration tag:
hdfs-site.xml contains configuration settings of HDFS daemons (i.e. NameNode, DataNode,Secondary
NameNode). It also includes the replication factor and block size of HDFS.
: Edit the mapred-site.xml file and edit the property mentioned below inside configuration tag:
In some cases, mapred-site.xml file is not available. So, we have to create the
mapred- site.xmlfile using mapred-site.xml template.
42
Command: vi mapred-site.xml.
Command: vi yarn-site.xml
Command: vi hadoop–env.sh
43
Step 11: Edit hadoop-env.sh and add the Java Path as mentioned below:
1
2
<?xml version="1.0">
3 <configuration>
4 <property>
5 <name>yarn.nodemanager.aux-services</name>
<value>mapreduce_shuffle</value>
6 </property>
7 <property>
8 <name>yarn.nodemanager.auxservices.mapreduce.shuffle.class</
9 name>
<value>org.apache.hadoop.mapred.ShuffleHandler</value>
1 </property>
0
1
hadoop-env.sh contains the environment variables that are used in the script to
run Hadooplike Java home path, etc.
Command: cd
Command: cd hadoop-2.7.3
This formats the HDFS via NameNode. This command is only executed for the first
time.Formatting the file system means initializing the directory specified by the
dfs.name.dir variable.
Never format, up and running Hadoop filesystem. You will lose all your data
stored in theHDFS.
Command: cd hadoop-2.7.3/sbin
Command: ./start-all.sh
44
Fig: Hadoop Installation – Formatting NameNode
45
The above command is a combination of start-dfs.sh, start-yarn.sh &
mr-jobhistory-daemon.sh
Start NameNode:
The NameNode is the centerpiece of an HDFS file system. It keeps the directory tree
of all filesstored in the HDFS and tracks all the file stored across the cluster.
Start NodeManager:
The NodeManager in each machine framework is the agent which is responsible for managing
containers, monitoring their resource usage and reporting the same to the ResourceManager.
Start JobHistoryServer:
JobHistoryServer is responsible for servicing all job history related requests from client.
Step 14: To check that all the Hadoop services are up and running, run thebelowcommand.
Command: jps
On startup, a DataNode connects to the Namenode and it responds to the requestsfrom the
Namenode for different operations.
Start ResourceManager:
ResourceManager is the master that arbitrates all the available cluster resources and thushelps in
managing the distributed applications running on the YARN system. Its workis to manage each
NodeManagers and the each application’s ApplicationMaster.
46
Fig: Hadoop Installation – Starting
WebUI
47
Step 15: Now open the Mozilla browser and go
to localhost:50070/dfshealth.html to check the NameNode interface.
PERFORMANCE 50
RECORD 15
VIVA-VOCE 10
TOTAL 75
Result:
Thus the Hadoop one cluster was installed and simple applications executed successfully.
48
49
Exp No : 8
Creating and Executing your First Container using Docker.
Date :
AIM:
Prerequisites:
For Ubuntu:
In order to create your first Docker application, I invite you to create a folder on your computer. It must
1. A ‘main.py’ file (python file that will contain the code to be executed).
2. A ‘Dockerfile’ file (Docker file that will contain the necessary instructions to create the
environment).
├── Dockerfile
└── main.py
0 directories, 2 files
50
51
2. Edit the Python file
#!/usr/bin/env python3
print("Docker is magic!")
Nothing exceptional, but once you see “Docker is magic!” displayed in your
The first step to take when you create a Docker file is to access the
DockerHub website. This site contains many pre-designed images to save
your time
(for example: all images for linux or code languages).
In our case, we will type ‘Python’ in the search bar. The first result is the official image
created to execute Python.
# A dockerfile must always start by importing the base image.
# So we write 'python' for the image name and 'latest' for the version.
FROM python:latest
# In order to launch our python code, we must import it into our image.
# The first parameter 'main.py' is the name of the file on the host.
# The second parameter '/' is the path where to put the file on the image. # Here we put the
file at the image root folder.
52
53
COPY main.py /
# We need to define the command to launch when we are going to run the image.
Once your code is ready and the Dockerfile is written, all you have to do is create your
The ’-t’ option allows you to define the name of your image. In our
case we have chosen ’python-test’ but you can put what you want.
You need to put the name of your image after ‘docker run’.
PERFORMANCE 50
RECORD 15
VIVA-VOCE 10
TOTAL 75
RESULT:
Thus the creation and execution of container program using Docker executed
successfully.
54
55
Exp No : 9
Run a Container from Docker Hub.
Date :
AIM:
PROCEDUREs:
Step-1: Verify Docker version and also login to Docker Hub docker
versiondocker login
Step-2: Pull Image from Docker Hub docker pull stacksimplify/dockerintro-springboot- helloworld-
rest-api:1.0.0-RELEASE
Step-3: Run the downloaded Docker Image & Access the Application Copy the docker image name
from Docker Hub docker run --name app1 -p 80:8080 -d stacksimplify/dockerintro-spring boot-
helloworld-rest-api:1.0.0-RELEASE
http://localhost/hello
56
57
PERFORMANCE 50
RECORD 15
VIVA-VOCE 10
TOTAL 75
RESULT:
58
59
Exp No : 10
Develop new OGSA-compliant Web Service
Date :
AIM:
PROCEDURE:
Steps:
packagecom.sencide;
public class FirstWebService {
public int addTwoNumbers(int firstNumber, int
secondNumber){ return firstNumber + secondNumber;
}
}
12. Then, select File --> New –-> Other and choose Web Service
13. Select the FirstWebService class as service implementation and to make sure
that the Configuration is setup correctly click on Server runtime.
14. There set the Web Service runtime as Axis2 (Default one is Axis) and click Ok.
15. Click Next and make sure Generate a default service.xml file is selected.
16. Click Next and Start the Server and after server is started you can Finish if you
do not want to publish the Web service to a test UDDI repository
17. You can go to http://localhost:8080/MyFirstWebService/services/listServices to
see your running service which is deployed by Axis2. You can see the WSDL by
clicking the link FirstWebService.
18. Select File --> New --> Other… and choose Web Service Client
60
OUTPUT:
61
19. Set he newly created Axis2 Web service
(http://localhost:8080/axis2/services/FirstWebService?wsdl) as the
Service definition. Then configure the Server runtime as previously and
click finish.
20. This will generate two new classes called FirstWebServiceStub.java and
FirstWebServiceCallbackHandler.java. Now we can create test class for client
and use our web service. Create new class called TestClient.java and paste
following code.
packagecom.sencide;
importjava.rmi.RemoteException;
importcom.sencide.FirstWebServiceStub.AddTwoNumbers;
importcom.sencide.FirstWebServiceStub.AddTwoNumbersResponse;
publicclassTestClient {
}
}
21. Now you can run the above code as java application and you will get the output
as 12 since we are adding 7 and 5.
62
63
64
65
66
67
68
69
APPLICATIONS:
OGSA has contributed to projects and organisations around the world, in sectors including
medical research, geographical information systems, meteorology, transport, computer-aided
design, engineering and astronomy.
PERFORMANCE 50
RECORD 15
VIVA-VOCE 10
TOTAL 75
RESULT:
70
71
Exp No : 11
Develop applications using Java or C/C++ Grid APIs
Date :
AIM:
PROCEDURE:
Steps:
72
2. Type geditfirst.c
73
4. Running the C program
74
75
PERFORMANCE 50
RECORD 15
VIVA-VOCE 10
TOTAL 75
RESULT:
Thus develop applications using Java or C/C++ Grid APIs is successfully executed.
76