Professional Documents
Culture Documents
Abdul Navaz
University of Houston
fabdulnavaz@uh.edu
Gandhimathi Velusamy
University of Houston
gvelusamy@uh.edu
I. INTRODUCTION
Hadoop framework plays very important role in processing
todays massive amount of data. By using available inexpensive
commodity servers Hadoop gives the power to process
Petabytes of data very efficiently. By using divide and conquer
principle and using HDFS, Hadoop makes it possible to process
massive data. The task of processing massive amount of data is
divided into subtasks to be performed on subset of data stored
in HDFS and the then combining the results together by means
of the two processes namely mapper and reducer. The Hadoop
cluster is formed by interconnecting several commodity servers
by means of reliable network.
The main contribution of our work is twofold. First, this work
shows the study and analysis of various network messages
exchanged between the nodes in Hadoop cluster that has been
built on GENI (Global environment for Network Innovation)
test bed. GENI is a virtual laboratory which provides computing
and networking resources for experimenters to run their
experiment at scale sponsored by NSF to encourage innovations
in networking, security, services and applications [1].
Second, a fault-tolerant switching system is used with the
Hadoop framework in an attempt to augment the fault tolerance
given by the Hadoop frame work to its applications by adding
resiliency to the underlying network used to connect the nodes
on the cluster. Hadoop provides fault-tolerance to its
applications by replicating data on multiple nodes and
exchanging heart beat messages between Name Node (NN) and
Data Nodes (DN) to ensure the aliveness of DNs. When a
switch which connects a DN with the NN fails, NN treats it as
978-1-4799-6204-4/14/$31.00 2014 IEEE
Deniz Gurkan
University of Houston
dgurkan@uh.edu
Fig. 3. Heartbeat messages between Data Node and Name Node is captured
using Wireshark
The switch will be started from three nodes say l1, l2 and l3 but
will be running from only one node say l1 which is the primary
node designated by the kernel parameter. If the running switch
from l1 fails or the node failed or shout down then switch
functionality will be resuming from l2 (failover) which is
having next precedence and then if l2 fails, the switch will be
running from l3.While l3 is running and if l1 and l2 are restarted
then the switch at l3 will exit and stop running and starts
running from l1 as it is having highest precedence (takeover).
Experimental setup of Hadoop with Fault-tolerant switching
system:
We have tested the distributed switching architecture with a
simple two node Hadoop cluster with one Master node and one
Slave node. The switch used to connect the Master and Slave is
replaced by the fault-tolerant switching system comprised of
three redundant LINC-Switches.
Figure 6 shows the topology built on GENI for our
experiment. The Master and Slave nodes are PC s with Ubuntu
12.04 OS from Clemson Insta Geni rack. The distributed
switching system is implemented by installing OpenFlow
switch LINC as a distributed application on the nodes l1, l2 and
l3 which are Virtual Machines with Ubuntu 12.04 OS. The
OpenFlow controller is running from the VM named contro.
The Master and Slave are connected to the distributed switching
architecture by LINC-Switches running from the VMs named
ovs1 and ovs2. They are connected with the controllers run from
the same local machines which modifies the flow entries
whenever Master and Slave are connected by a new switch
when failover or takeover happens. Thus the packet loss
happening during failover or takeover due to the mac-aging of
the hardware switch used normally will be avoided by the use
of LINC-Switch and an OpenFlow controller to connect Master
and Slave nodes to the Distributed switching system. Here
Hadoop-1.0.3 is used with the data block is 64 MB. The data
was split into 2 blocks and stored on both master and slave
nodes. The replication factor was 2 and both nodes contain
copies of both blocks.
The word count application is run on an Input of 75 MB text
file and the time taken to complete the job is recorded. It took 2
minutes to complete the job under normal condition. When we
made switch to fail 1 minute after the word count job has been
started at which approximately 50% of mapping was done, it
took around 900 seconds to finish the job as it has to recalculate
the map data with available replicated local data. The figure 8
depicts the graph of job completion times on Hadoop for 75 MB
of text data 1.under normal operating condition, 2.with switch
failure in the middle of the job and 3.with the impact of faulttolerant switching architecture in the event of switch failure in
the middle of the job. When the switch failed, the Master node
could not receive any heart beat signal from the slave node
(Task Tracker) and waits for 10 minutes before declaring it as
dead (in our case inaccessible) and the map outputs stored in
the non-accessible Task Trackers also be not available to the
reducers. Hadoop re-computes the map outputs when Job
Tracker receives enough notifications from the reducers about
the unavailability of map outputs from the disconnected Task
Tracker [10]. When we used fault-tolerant distributed switching
architecture between master and slave and made the switch to
fail, it took the same time as without switch failure because failover has happened and the switch run from the secondary node
as the Erlang OTP detects the failure of main switch. So with
the fault-tolerant switching system is used to connect nodes of
the Hadoop cluster, the resiliency provided by the Hadoop to its
applications will be more efficient.
V. CONCLUSION
We continue our research on Hadoop and especially on network
perspective to find how to use OpenFlow protocol and SDN to
improve the performance of Hadoop in completing the
submitted job. We intend to expand this work into better
utilization of the network as well as to enhance the faulttolerance given by the Hadoop to its applications by improving
the resiliency given by the network components used in larger
Hadoop clusters.
VI. ACKNOWLEDGEMENTS
We thank the geni-user mailing list participants and all GENI
infrastructure support for their help in realizing our
experiments.
REFERENCES
[1] Berman, Mark, Jeffrey S. Chase, Lawrence Landweber, Akihiro
Nakao, Max Ott, Dipankar Raychaudhuri, Robert Ricci, and Ivan
Seskar. "GENI: a federated testbed for innovative network
experiments." Computer Networks 61 (2014): 5-23.
[2] Qin, Peng, Bin Dai, Benxiong Huang, and Guan Xu. "BandwidthAware Scheduling with SDN in Hadoop: A New Trend for Big
Data." arXiv preprint arXiv:1403.2800 (2014).
[3] Wang, Guohui, T. S. Ng, and Anees Shaikh. "Programming your
network at run-time for big data applications." In Proceedings of the
first workshop on Hot topics in software defined networks, pp. 103108. ACM, 2012.
[4] Tom White, Hadoop: The Definitive Guide, 3rd edn., OReilly,
Sebastopol, CA, 2011.
[5] http://www.opennetsummit.org/pdf/2013/research_track/poster_pa
pers/ons2013-final36.pdf
[6] McKeown, Nick, Tom Anderson, Hari Balakrishnan, Guru
Parulkar, Larry Peterson, Jennifer Rexford, Scott Shenker, and
Jonathan Turner. "OpenFlow: enabling innovation in campus
networks." ACM SIGCOMM Computer Communication Review
38, no. 2 (2008): 69-74.
[7] 7Pfaff, Ben, B. LANTZ, and B. HELLER. "OpenFlow switch
specification, version 1.3. 0." Open Networking Foundation (2012).
[8] Gandhimathi Velusamy, Deniz Gurkan, Sandhya Narayan and
Stuart Bailey, Fault-Tolerant OpenFlow based Software Switch
Architecture with LINC-Switches for a reliable Network Data
Exchange Research and Educational Experiment Workshop
(GREE), 2014 Third GENI. IEEE, 2014
[9] http://www.erlang.org/doc/design_principles/distributed_applicatio
ns.html
[10] Ng, Florin Dinu TS Eugene. "Analysis of Hadoops Performance
under Failures."Rice University.
[11] Narayan, Sandhya, Stuart Bailey, and Anand Daga. "Hadoop
acceleration in an OpenFlow-Based cluster." In High Performance
Computing, Networking, Storage and Analysis (SCC), 2012 SC
Companion:, pp. 535-538. IEEE, 2012.