Hadoop Distributed File System: Architecture and Design



Similar documents
HDFS Architecture Guide

Hadoop Distributed File System. Jordan Prosch, Matt Kipps

Large scale processing using Hadoop. Ján Vaňo

Hadoop implementation of MapReduce computational model. Ján Vaňo

Prepared By : Manoj Kumar Joshi & Vikas Sawhney

Hadoop Architecture. Part 1

IJFEAT INTERNATIONAL JOURNAL FOR ENGINEERING APPLICATIONS AND TECHNOLOGY

Hadoop Distributed File System. Dhruba Borthakur Apache Hadoop Project Management Committee June 3 rd, 2008

Introduction to Hadoop HDFS and Ecosystems. Slides credits: Cloudera Academic Partners Program & Prof. De Liu, MSBA 6330 Harvesting Big Data

Distributed File Systems

CSE-E5430 Scalable Cloud Computing Lecture 2

Hadoop & its Usage at Facebook

Apache Hadoop FileSystem and its Usage in Facebook

Hadoop Distributed File System. Dhruba Borthakur Apache Hadoop Project Management Committee

THE HADOOP DISTRIBUTED FILE SYSTEM

CS2510 Computer Operating Systems

CS2510 Computer Operating Systems

Hadoop & its Usage at Facebook

Suresh Lakavath csir urdip Pune, India

Chapter 11 Map-Reduce, Hadoop, HDFS, Hbase, MongoDB, Apache HIVE, and Related

Hadoop IST 734 SS CHUNG

Overview. Big Data in Apache Hadoop. - HDFS - MapReduce in Hadoop - YARN. Big Data Management and Analytics

Design and Evolution of the Apache Hadoop File System(HDFS)

Apache Hadoop FileSystem Internals

Hadoop and its Usage at Facebook. Dhruba Borthakur June 22 rd, 2009

Hadoop Distributed File System. T Seminar On Multimedia Eero Kurkela

Distributed File System. MCSN N. Tonellotto Complements of Distributed Enabling Platforms

Distributed File Systems

Introduction to Hadoop Distributed File System Vaibhav Gopal korat

Data-Intensive Computing with Map-Reduce and Hadoop

Data-Intensive Programming. Timo Aaltonen Department of Pervasive Computing

Alternatives to HIVE SQL in Hadoop File Structure

A REVIEW PAPER ON THE HADOOP DISTRIBUTED FILE SYSTEM

Hadoop Distributed File System. Dhruba Borthakur June, 2007

Lecture 5: GFS & HDFS! Claudia Hauff (Web Information Systems)! ti2736b-ewi@tudelft.nl

Big Data With Hadoop

Big Data and Hadoop. Sreedhar C, Dr. D. Kavitha, K. Asha Rani

A Brief Outline on Bigdata Hadoop

Processing of Hadoop using Highly Available NameNode

Take An Internal Look at Hadoop. Hairong Kuang Grid Team, Yahoo! Inc

Hadoop: A Framework for Data- Intensive Distributed Computing. CS561-Spring 2012 WPI, Mohamed Y. Eltabakh

NoSQL and Hadoop Technologies On Oracle Cloud

Hadoop Big Data for Processing Data and Performing Workload

Journal of science STUDY ON REPLICA MANAGEMENT AND HIGH AVAILABILITY IN HADOOP DISTRIBUTED FILE SYSTEM (HDFS)

International Journal of Advance Research in Computer Science and Management Studies

Open source Google-style large scale data analysis with Hadoop

ATLAS Tier 3

Welcome to the unit of Hadoop Fundamentals on Hadoop architecture. I will begin with a terminology review and then cover the major components

BBM467 Data Intensive ApplicaAons

Hadoop Submitted in partial fulfillment of the requirement for the award of degree of Bachelor of Technology in Computer Science

Apache Hadoop. Alexandru Costan

Tutorial: Big Data Algorithms and Applications Under Hadoop KUNPENG ZHANG SIDDHARTHA BHATTACHARYYA

DATA MINING WITH HADOOP AND HIVE Introduction to Architecture

Reduction of Data at Namenode in HDFS using harballing Technique

Hadoop and Map-Reduce. Swati Gore

Manifest for Big Data Pig, Hive & Jaql

Distributed Filesystems

Introduction to Hadoop. New York Oracle User Group Vikas Sawhney

Open source software framework designed for storage and processing of large scale data on clusters of commodity hardware

Chapter 7. Using Hadoop Cluster and MapReduce

Role of Cloud Computing in Big Data Analytics Using MapReduce Component of Hadoop

INTERNATIONAL JOURNAL OF PURE AND APPLIED RESEARCH IN ENGINEERING AND TECHNOLOGY

BIG DATA TECHNOLOGY. Hadoop Ecosystem

marlabs driving digital agility WHITEPAPER Big Data and Hadoop

HDFS Under the Hood. Sanjay Radia. Grid Computing, Hadoop Yahoo Inc.

From Wikipedia, the free encyclopedia

Hadoop Ecosystem B Y R A H I M A.

CDH AND BUSINESS CONTINUITY:

BIG DATA TRENDS AND TECHNOLOGIES

A STUDY ON HADOOP ARCHITECTURE FOR BIG DATA ANALYTICS

W H I T E P A P E R. Deriving Intelligence from Large Data Using Hadoop and Applying Analytics. Abstract

Snapshots in Hadoop Distributed File System

CLOUD COMPUTING USING HADOOP TECHNOLOGY

Fault Tolerance in Hadoop for Work Migration

Sector vs. Hadoop. A Brief Comparison Between the Two Systems

MapReduce with Apache Hadoop Analysing Big Data

Comparative analysis of Google File System and Hadoop Distributed File System

GraySort and MinuteSort at Yahoo on Hadoop 0.23

BigData. An Overview of Several Approaches. David Mera 16/12/2013. Masaryk University Brno, Czech Republic

A Survey on Big Data Concepts and Tools

Hadoop. Sunday, November 25, 12

Keywords: Big Data, HDFS, Map Reduce, Hadoop

Big Data Storage Options for Hadoop Sam Fineberg, HP Storage

Open source large scale distributed data management with Google s MapReduce and Bigtable

INTERNATIONAL JOURNAL OF PURE AND APPLIED RESEARCH IN ENGINEERING AND TECHNOLOGY

Application Development. A Paradigm Shift

Parallel Processing of cluster by Map Reduce

Google File System. Web and scalability

How To Scale Out Of A Nosql Database

Accelerating and Simplifying Apache

GeoGrid Project and Experiences with Hadoop

EXPERIMENTATION. HARRISON CARRANZA School of Computer Science and Mathematics

HDFS Users Guide. Table of contents

Generic Log Analyzer Using Hadoop Mapreduce Framework

R.K.Uskenbayeva 1, А.А. Kuandykov 2, Zh.B.Kalpeyeva 3, D.K.Kozhamzharova 4, N.K.Mukhazhanov 5

INTERNATIONAL JOURNAL OF PURE AND APPLIED RESEARCH IN ENGINEERING AND TECHNOLOGY

Managing Big Data with Hadoop & Vertica. A look at integration between the Cloudera distribution for Hadoop and the Vertica Analytic Database

Big Data Technology Core Hadoop: HDFS-YARN Internals

Data Refinery with Big Data Aspects

Transcription:

Hadoop Distributed File System: Architecture and Design Gayatri G. Divekar 1, Liza R. Daiya 2 and Prof. Vivek. R. Shelke 3 1Computer Science & Engineering Jawaharlal Darda Institute of Engineering and Technology, Yavatmal, India gayatridivekar24@gmail.com 2Computer Science & Engineering Jawaharlal Darda Institute of Engineering and Technology, Yavatmal, India lizadaiya93@gmail.com 3Computer Science & Engineering Jawaharlal Darda Institute of Engineering and Technology, Yavatmal, India vvkshelke@gmail.com ABSTRACT We live in the data age. It s not easy to measure the total volume of data stored electronically, but an IDC estimate put the size of the digital universe at 0.18 zettabytes in 2006, and is forecasting a tenfold growth by 2011 to 1.8 zettabytes. This flood of data is coming from many sources. The good news is that Big Data is here. The bad news is that we are struggling to store and analyze it. While the storage capacities of hard drives have increased massively over the years, access speeds the rate at which data can be read from drives have not kept up. The Hadoop Distributed File System (HDFS) is a distributed file system designed to run on commodity hardware. It has many similarities with existing distributed file systems. However, the differences from other distributed file systems are significant. HDFS is highly fault-tolerant and is designed to be deployed on low-cost hardware. HDFS provides high throughput access to application data and is suitable for applications that have large data sets. HDFS was originally built as infrastructure for the Apache Nutch web search engine project. Keywords: Big Data, commodity hardware, distributed file system, fault-tolerant, throughput. 1. INTRODUCTION The Hadoop Distributed File System (HDFS) is a distributed file system designed to run on commodity hardware. It has many similarities with existing distributed file systems. However, the differences from other distributed file systems are significant. HDFS is highly fault-tolerant and is designed to be deployed on low-cost hardware. HDFS provides high throughput access to application data and is suitable for applications that have large data sets. HDFS relaxes a few POSIX requirements to enable streaming access to file system data. HDFS was originally built as infrastructure for the Apache Nutch web search engine project. HDFS is part of the Apache Hadoop Core project. 1.1 What Is Big Data? Big data is a popular term used to describe the exponential growth and availability of data, both structured and unstructured. And big data may be as important to business and society as the Internet has become. Why? More data may lead to more accurate analyses. As far back as 2001, industry analyst Doug Laney (currently with Gartner) articulated the now mainstream definition of big data as the three Vs of big data: volume, velocity and variety. 1.1.1 Volume Many factors contribute to the increase in data volume. Transaction-based data stored through the years. Unstructured data streaming from social media. Increasing amounts of sensor and machine-to-machine data being collected. In the past, excessive data volume was a storage issue. But with decreasing storage costs, other issues emerge, including how to determine relevance within large data volumes and how to use analytics to create value from relevant data. 1.1.2 Velocity Data is streaming in at unprecedented speed and must be dealt with in a timely manner. Sensors and smart metering are VOLUME-2, SPECIAL ISSUE-1, MARCH-2015 COPYRIGHT 2015 IJREST, ALL RIGHT RESERVED 49

driving the need to deal with torrents of data in near-real time. Reacting quickly enough to deal with data velocity is a challenge for most organizations. 1.1.3 Variety Data today comes in all types of formats. Structured, numeric data in traditional databases. Information created from line-ofbusiness applications. Unstructured text documents, email, video, audio, stock ticker data and financial transactions. Managing, merging and governing different varieties of data are something many organizations still grapple with. 1.2 What Is Hadoop? Hadoop is a free, Java-based programming framework that supports the processing of large data sets in a distributed computing environment. It is part of the Apache project sponsored by the Apache Software Foundation. Hadoop makes it possible to run applications on systems with thousands of nodes involving thousands of terabytes. Its distributed file system facilitates rapid data transfer rates among nodes and allows the system to continue operating uninterrupted in case of a node failure. This approach lowers the risk of catastrophic system failure, even if a significant number of nodes become inoperative. Hadoop was inspired by Google's Map Reduce, a software framework in which an application is broken down into numerous small parts. Any of these parts (also called fragments or blocks) can be run on in the cluster. Doug Cutting, Hadoop's creator, named the framework after his child's stuffed toy elephant. The current Apache Hadoop ecosystem consists of the Hadoop kernel, MapReduce, the Hadoop distributed file system (HDFS) and a number of related projects such as Apache Hive, HBase and Zookeeper. The Hadoop framework is any node used by major players including Google, Yahoo and IBM, largely for applications involving search engines and advertising. The preferred operating systems are Windows and Linux. 1.3 What is HDFS? When a dataset outgrows the storage capacity of a single physical machine, it becomes necessary to partition it across a number of separate machines. File systems that manage the storage across a network of machines are called distributed file systems. Since they are network-based, all the complications of network programming kick in, thus making distributed file systems more complex than regular disk file systems. For example, one of the biggest challenges is making the file system tolerate node failure without suffering data loss. Hadoop comes with a distributed file system called HDFS, which stands for Hadoop Distributed File system. HDFS is Hadoop s flagship file system and is the focus of this chapter, but Hadoop actually has a general purpose file system abstraction. 2. LITERATURE REVIEW Hadoop was created by Doug Cutting, the creator of Apache Lucene, the widely used text search library. Hadoop has its origins in Apache Nutch, an open source web search engine, itself a part of the Lucene project. Building a web search engine from scratch was an ambitious goal, for not only is the software required to crawl and index websites complex to write, but it is also a challenge to run without a dedicated operations team, since there are so many moving parts. It s expensive, too: Mike Cafarella and Doug Cutting estimated a system supporting a 1-billion-page index would cost around half a million dollars in hardware, with a monthly running cost of $30,000. Nevertheless, they believed it was a worthy goal, as it would open up and ultimately democratize search engine algorithms. Nutch was started in 2002, and a working crawler and search system quickly emerged. However, they realized that their architecture wouldn t scale to the billions of pages on the Web. Help was at hand with the publication of a paper in 2003 that described the architecture of Google s distributed file system, called GFS, which was being used in production at Google. GFS, or something like it, would solve their storage needs for the very large files generated as a part of the web crawl and indexing process. In particular, GFS would free up time being spent on administrative tasks such as managing storage nodes. In 2004, they set about writing an open source implementation, the Nutch Distributed File system (NDFS). In 2004, Google published the paper that introduced MapReduce to the world. Early in 2005, the Nutch developers had a working MapReduce implementation in Nutch, and by the middle of that year all the major Nutch algorithms had been ported to run using MapReduce and NDFS. NDFS and the MapReduce implementation in Nutch were applicable beyond the realm of search, and in February 2006 they moved out of VOLUME-2, SPECIAL ISSUE-1, MARCH-2015 COPYRIGHT 2015 IJREST, ALL RIGHT RESERVED 50

Nutch to form an independent subproject of Lucene called Hadoop. At around the same time, Doug Cutting joined Yahoo!, which provided a dedicated team and the resources to turn Hadoop into a system that ran at web scale. This was demonstrated in February 2008 when Yahoo! announced that its production search index was being generated by a 10,000- core Hadoop cluster. In January 2008, Hadoop was made its own top-level project at Apache, confirming its success and its diverse, active community. By this time, Hadoop was being used by many other companies besides Yahoo!, such as Last.fm, Facebook, and the New York Times. In April 2008, Hadoop broke a world record to become the fastest system to sort a terabyte of data. 3. ASSUMPTIONS & GOALS 3.1 Hardware Failure Hardware failure is the norm rather than the exception. An HDFS instance may consist of hundreds or thousands of server machines, each storing part of the file system s data. The fact that there are a huge number of components and that each component has a non-trivial probability of failure means that some component of HDFS is always non-functional. Therefore, detection of faults and quick, automatic recovery from them is a core architectural goal of HDFS. 3.2 Streaming Data Access Applications that run on HDFS need streaming access to their data sets. They are not general purpose applications that typically run on general purpose file systems. HDFS is designed more for batch processing rather than interactive use by users. The emphasis is on high throughput of data access rather than low latency of data access. POSIX imposes many hard requirements that are not needed for applications that are targeted for HDFS. POSIX semantics in a few key areas has been traded to increase data throughput rates. 3.3 Large Data Sets Applications that run on HDFS have large data sets. A typical file in HDFS is gigabytes to terabytes in size. Thus, HDFS is tuned to support large files. It should provide high aggregate data bandwidth and scale to hundreds of nodes in a single cluster. It should support tens of millions of files in a single instance. 3.4 Simple Coherency Model HDFS applications need a write-once-read-many access model for files. A file once created, written, and closed need not be changed. This assumption simplifies data coherency issues and enables high throughput data access. A MapReduce application or a web crawler application fits perfectly with this model. There is a plan to support appending-writes to files in the future. Moving Computation is Cheaper than Moving Data A computation requested by an application is much more efficient if it is executed near the data it operates on. This is especially true when the size of the data set is huge. This minimizes network congestion and increases the overall throughput of the system. The assumption is that it is often better to migrate the computation closer to where the data is located rather than moving the data to where the application is running. HDFS provides interfaces for applications to move themselves closer to where the data is located. Portability across Heterogeneous Hardware and Software Platforms HDFS has been designed to be easily portable from one platform to another. This facilitates widespread adoption of HDFS as a platform of choice for a large set of applications. 4. PROPOSED WORK 4.1 Architecture HDFS has master/slave architecture. An HDFS cluster consists of a single Name Node, a master server that manages the file system namespace and regulates access to files by clients. In addition, there are a number of Data Nodes, usually one per node in the cluster, which manage storage attached to the nodes that they run on. Fig 4.1. Architecture of HDFS 4.1.1 NameNode & DataNode HDFS exposes a file system namespace and allows user data to be stored in files. Internally, a file is split into one or more VOLUME-2, SPECIAL ISSUE-1, MARCH-2015 COPYRIGHT 2015 IJREST, ALL RIGHT RESERVED 51

blocks and these blocks are stored in a set of DataNodes. The NameNode executes file system namespace operations like opening, closing, and renaming files and directories. It also determines the mapping of blocks to DataNodes. The DataNodes are responsible for serving read and write requests from the file system s clients. The DataNodes also perform block creation, deletion, and replication upon instruction from the NameNode. The NameNode and DataNode are pieces of software designed to run on commodity machines. These machines typically run a Linux operating system (OS). HDFS is built using the Java language; any machine that supports Java can run the NameNode or the DataNode software. Usage of the highly portable Java language means that HDFS can be deployed on a wide range of machines. A typical deployment has a dedicated machine that runs only the NameNode software. Each of the other machines in the cluster runs one instance of the DataNode software. The architecture does not preclude running multiple DataNodes on the same machine but in a real deployment that is rarely the case. The existence of a single NameNode in a cluster greatly simplifies the architecture of the system. The NameNode is the arbitrator and repository for all HDFS metadata. The system is designed in such a way that user data never flows through the NameNode 4.1.2 The File System Namespace HDFS supports a traditional hierarchical file organization. A user or an application can create directories and store files inside these directories. The file system namespace hierarchy is similar to most other existing file systems; one can create and remove files, move a file from one directory to another, or rename a file. HDFS does not yet implement user quotas or access permissions. HDFS does not support hard links or soft links. However, the HDFS architecture does not preclude implementing these features. The NameNode maintains the file system namespace. Any change to the file system namespace or its properties is recorded by the NameNode. An application can specify the number of replicas of a file that should be maintained by HDFS. The number of copies of a file is called the replication factor of that file. This information is stored by the NameNode. 4.1.3 Data Replication HDFS is designed to reliably store very large files across machines in a large cluster. It stores each file as a sequence of blocks; all blocks in a file except the last block are the same size. The blocks of a file are replicated for fault tolerance. The block size and replication factor are configurable per file. An application can specify the number of replicas of a file. The replication factor can be specified at file creation time and can be changed later. Files in HDFS are writing-once and have strictly one writer at any time. The NameNode makes all decisions regarding replication of blocks. It periodically receives a Heartbeat and a Block report from each of the DataNodes in the cluster. Receipt of a Heartbeat implies that the DataNode is functioning properly. A Block report contains a list of all blocks on a DataNode. Fig 4.2. Block replication & Datanodes 4.2 Replica Placement: The First Baby Steps The placement of replicas is critical to HDFS reliability and performance. Optimizing replica placement distinguishes HDFS from most other distributed file systems. This is a feature that needs lots of tuning and experience. The purpose of a rack-aware replica placement policy is to improve data reliability, availability, and network bandwidth utilization. The current implementation for the replica placement policy is a first effort in this direction. The short-term goals of implementing this policy are to validate it on production systems, learn more about its behavior, and build a foundation to test and research more sophisticated policies. Large HDFS instances run on a cluster of computers that commonly spread across many racks. Communication between two nodes in different racks has to go through switches. In most cases, network bandwidth between machines in the same rack is greater than network bandwidth between machines in different racks. VOLUME-2, SPECIAL ISSUE-1, MARCH-2015 COPYRIGHT 2015 IJREST, ALL RIGHT RESERVED 52

The NameNode determines the rack id each DataNode belongs to. A simple but non-optimal policy is to place replicas on unique racks. This prevents losing data when an entire rack fails and allows use of bandwidth from multiple racks when reading data. This policy evenly distributes replicas in the cluster which makes it easy to balance load on component failure. However, this policy increases the cost of writes for the common case, when the replication factor is three; HDFS s placement policy is to put one replica on one node in the local rack, another on a different node in the local rack, and the last on a different node in a different rack. This policy cuts the inter-rack write traffic which generally improves write performance. The chance of rack failure is far less than that of node failure; this policy does not impact data reliability and availability guarantees. However, it does reduce the aggregate network bandwidth used when reading data since a block is placed in only two unique racks rather than three. With this policy, the replicas of a file do not evenly distribute across the racks. One third of replicas are on one node, two thirds of replicas are on one rack, and the other third are evenly distributed across the remaining racks. This policy improves write performance without compromising data Reliability or read performance. 4.3 Replica Selection To minimize global bandwidth consumption and read latency, HDFS tries to satisfy a read request from a replica that is closest to the reader. If there exists a replica on the same rack as the reader node, then that replica is preferred to satisfy the read request. If HDFS cluster spans multiple data centers, then a replica that is resident in the local data center is preferred over any remote replica. 4.4 Safe Mode On startup, the NameNode enters a special state called Safemode. Replication of data blocks does not occur when the NameNode is in the Safemode state. The NameNode receives Heartbeat and Block report messages from the DataNodes. A Block report contains the list of data blocks that a DataNode is hosting. Each block has a specified minimum number of replicas. A block is considered safely replicated when the minimum number of replicas of that data block has checked in with the NameNode. After a configurable percentage of safely replicated data blocks checks in with the NameNode (plus an additional 30 seconds), the NameNode exits the Safemode state. It then determines the list of data blocks (if any) that still have fewer than the specified number of replicas. The NameNode then replicates these blocks to other DataNodes. 4.5 Data Organization 4.5.1 Data Blocks HDFS is designed to support very large files. Applications that are compatible with HDFS are those that deal with large data sets. These applications write their data only once but they read it one or more times and require these reads to be satisfied at streaming speeds. HDFS supports write-once-read-many semantics on files. A typical block size used by HDFS is 64 MB. Thus, an HDFS file is chopped up into 64 MB chunks, and if possible, each chunk will reside on a different DataNode. 4.5.2 Staging A client request to create a file does not reach the NameNode immediately. In fact, initially the HDFS client caches the file data into a temporary local file. Application writes are transparently redirected to this temporary local file. When the local file accumulates dataworth over one HDFS block size, the client contacts the NameNode. The NameNode inserts. The file name into the file system hierarchy and allocates a data block for it. The NameNode responds to the client request with the identity of the DataNode and the destination data block. Then the client flushes the block of data from the local temporary file to the specified DataNode. When a file is closed, the remaining un-flushed data in the temporary local file is transferred to the DataNode. The client then tells the NameNode that the file is closed. At this point, the NameNode commits the file creation operation into a persistent store. If the NameNode dies before the file is closed, the file is lost. The above approach has been adopted after careful consideration of target applications that run on HDFS. These applications need streaming writes to files. If a client writes to a remote file directly without any client side buffering, the network speed and the congestion in the network impacts throughput considerably. This approach is not without precedent. Earlier distributed file systems, e.g. AFS, have used client side caching to improve performance. A POSIX requirement has been relaxed to achieve higher performance of data uploads. 4.5.3 Replication Pipelining VOLUME-2, SPECIAL ISSUE-1, MARCH-2015 COPYRIGHT 2015 IJREST, ALL RIGHT RESERVED 53

When a client is writing data to an HDFS file, its data is first written to a local file as explained in the previous section. Suppose the HDFS file has a replication factor of three. When the local file accumulates a full block of user data, the client retrieves a list of DataNodes from the NameNode. This list contains the DataNodes that will host a replica of that block. The client then flushes the data block to the first DataNode. The first DataNode starts receiving the data in small portions (4 KB) writes each portion to its local repository and transfers that portion to the second DataNode in the list. The second DataNode, in turn starts receiving each portion of the data block, writes that portion to its repository and then flushes that portion to the third DataNode. Finally, the third DataNode writes the data to its local repository. Thus, a DataNode can be receiving data from the previous one in the pipeline and at the same time forwarding data to the next one in the pipeline. Thus, the data is pipelined from one DataNode to the next. 4.6 Space Reclamation 4.6.1 File Deletes and Undeletes When a file is deleted by a user or an application, it is not immediately removed from HDFS. Instead, HDFS first renames it to a file in the /trash directory. The file can be restored quickly as long as it remains in /trash. A file remains in /trash for a configurable amount of time. After the expiry of its life in /trash, the NameNode deletes the file from the HDFS namespace. The deletion of a file causes the blocks associated with the file to be freed. Note that there could be an appreciable time delay between the time a file is deleted by a user and the time of the corresponding increase in free space in HDFS. A user can Undelete a file after deleting it as long as it remains in the /trash directory. If a user wants to undelete a file that he/she has deleted, he/she can navigate the /trash directory and retrieve the file. The /trash directory contains only the latest copy of the file that was deleted. The /trash directory is just like any other directory with one special feature: HDFS applies specified policies to automatically delete files from this directory. The current default policy is to delete files from /trash that are more than 6 hours old. In the future, this policy will be configurable through a well-defined interface. 4.6.2 Decrease Replication Factor When the replication factor of a file is reduced, the NameNode selects excess replicas that can be deleted. The next Heartbeat transfers this information to the DataNode. The DataNode then removes the corresponding blocks and the corresponding free space appears in the cluster. Once again, there might be a time delay between the completion of the set Replication call and the appearance of free space in the cluster. 5. ADVANTAGES & DISADVANTAGES 5.1 Advantages 1. Scalable: Hadoop is a highly scalable storage platform, because it can store and distribute very large data sets across hundreds of inexpensive servers that operate in parallel. Unlike traditional relational database systems (RDBMS) that can't scale to process large amounts of data, Hadoop enables businesses to run applications on thousands of nodes involving thousands of terabytes of data. 2. Cost effective: Hadoop also offers a cost effective storage solution for businesses' exploding data sets. The problem with traditional relational database management systems is that it is extremely cost prohibitive to scale to such a degree in order to process such massive volumes of data. In an effort to reduce costs, many companies in the past would have had to downsample data and classify it based on certain assumptions as to which data was the most valuable. The raw data would be deleted, as it would be too cost-prohibitive to keep. While this approach may have worked in the short term, this meant that when business priorities changed, the complete raw data set was not available, as it was too expensive to store. Hadoop, on the other hand, is designed as a scale-out architecture that can affordably store all of a company's data for later use. The cost savings are staggering: instead of costing thousands to tens of thousands of pounds per terabyte, Hadoop offers computing and storage capabilities for hundreds of pounds per terabyte. 3. Flexible: Hadoop enables businesses to easily access new data sources and tap into different types of data (both structured and unstructured) to generate value from that data. This means businesses can use Hadoop to derive valuable business insights from data sources such as social media, email conversations or clickstream data. In addition, Hadoop can be used for a wide variety of purposes, such as log processing, recommendation systems, market campaign analysis and fraud detection. 4. Fast : Hadoop's unique storage method is based on a distributed file system that basically 'maps' data wherever it is VOLUME-2, SPECIAL ISSUE-1, MARCH-2015 COPYRIGHT 2015 IJREST, ALL RIGHT RESERVED 54

located on a cluster. The tools for data processing are often on the same servers where the data is located, resulting in much faster data processing. If you're dealing with large volumes of unstructured data, Hadoop is able to efficiently process terabytes of data in just minutes, and petabytes in hours. 5. Fault tolerant : A key advantage of using Hadoop is its fault tolerance. When data is sent to an individual node, that data is also replicated to other nodes in the cluster, which means that in the event of failure, there is another copy available for use. 5.2 Disadvantages 1. The HDFS cannot be mounted like a regular file system, the programming model is pretty confined to the MapReduce workflow, and the joins are still very primitive. 2. Indices are still not implemented in Hadoop, and hence the full dataset needs to be copied sometimes to perform operations like joins. 3. The lack of an easy interface for debugging. The programmer has to scroll through lines of logs to figure out a minor problem. 6. FUTURE SCOPE It s been six years since the Hadoop project was started. These years have been an open source fairy tale. Starting from two developers with a vision, Hadoop now has a vibrant community of hundreds of contributors, and thousands of interested developers beyond that. Hadoop has gone from a powerful solution for specific problems to a foundational technology for almost any business. And there is a wealth of important work happening, not just on core Hadoop, but on the greater stack as well, with projects like Hbase, HIVE, PIG, and OOZIE making Hadoop ever more useful for a broad set of applications, from crunching Web search results and global retail transactions to analyzing genetic code. 1. Yahoo! will continue to invest in core Hadoop innovation and contribute code to Apache Hadoop. 2. Yahoo! will help Horton works support and contribute to the official Apache Hadoop project. 3. The impact that Hadoop will have on traditional data warehouse and data integration giants. 7. CONCLUSION The HDFS is now-a-days fastly growing system for data storage. The HDFS is having the capacity to store large amount of data. Hadoop has come a long way, and it s been an amazing ride so far. No doubt Hadoop will continue to be one of the most fascinating software projects in HDFS is designed to support very large files. Applications that are compatible with HDFS are those that deal with large data sets. These applications write their data only once but they read it one or more times and require these reads to be satisfied at streaming speeds. HDFS supports write-once-read-many semantics on files. REFERENCES [1] The Hadoop Distributed File System: Architecture and Design, by Dhruba Borthakur [2] Hadoop: The Definitive Guide, Tom White foreword by Doug Cutting Copyright 2011 Tom White. All rights reserved. Published by O Reilly Media, Inc., 1005 Gravenstein Highway North, Sebastopol, CA 95472. [3] Hadoop Fair Scheduler Design Document from jira Hadoop documentation. [4] Lampi J. (2014) Large-Scale Distributed Data Management and Processing Using R, Hadoop and MapReduce. University of Oulu, Department of Computer Science and Engineering. Master's Thesis, 98 p. [5] Visalakshi P and Karthik TU, MapReduce Scheduler Using Classifiers for Heterogeneous Workloads, IJCSNS International Journal of Computer S 68 science and Network Security, VOL.11 No.4, April 2011. VOLUME-2, SPECIAL ISSUE-1, MARCH-2015 COPYRIGHT 2015 IJREST, ALL RIGHT RESERVED 55