Running Hadoop in Terminal Rooms
To setup a hadoop hadoop cluster in a terminal room, make sure you have booted some PC's with Ubuntu Linux 12.04. Write down the names of the PC's you want to use as slave nodes. Then run tkhadoop.sh:
For example, when you're physically working with hg137pc01 and pc two and three are available and running linux, use:
tkhadoop.sh hg137pc02.science.ru.nl hg137pc03.science.ru.nl*
- Be sure to use fully qualified domain names slave host names. This is required for kerberos based ssh authentication, used in this our script and the scripts that are bundled with hadoop.
This will setup the files needed to run a three nodes hadoop cluster. The host on which you execute tkhadoop will be the master node and will be used as slave as well. You'll find your hadoop installation in:
From within this directory, you can test the examples as documented on the apache hadoop website:
$ cd /scratch/$USER/hadoop
Format a new distributed-filesystem:
$ bin/hadoop namenode -format
Start the hadoop daemons:
# $ bin/start-all.sh
Browse the web interface for the NameNode and the JobTracker; by default they are available at:
NameNode - http://localhost:50070/ JobTracker - http://localhost:50030/
Copy the input files into the distributed filesystem:
$ bin/hadoop fs -put conf input
Run some of the examples provided:
$ bin/hadoop jar hadoop-examples-*.jar grep input output 'dfs[a-z.]+'
Examine the output files: Copy the output files from the distributed filesystem to the local filesytem and examine them:
$ bin/hadoop fs -get output output $ cat output/*
View the output files on the distributed filesystem:
$ bin/hadoop fs -cat output/*
When you're done, stop the daemons with:
Make sure to cleanup files in /scratch/$USER on the master and slave nodes.
Tkhadoop.sh overwrites the following configuration files:
hadoop-env.sh core-site.xml hdfs-site.xml mapred-site.xml masters slaves
The file masters will contain the hostname on which tkhadoop.sh is executed. slaves contains the master node, as well as the hosts specified on the command line.