<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<META http-equiv="Content-Type" content="text/html; charset=UTF-8">
<meta content="Apache Forrest" name="Generator">
<meta name="Forrest-version" content="0.8">
<meta name="Forrest-skin-name" content="pelt">
<title> 
      The Hadoop Distributed File System: Architecture and Design
    </title>
<link type="text/css" href="skin/basic.css" rel="stylesheet">
<link media="screen" type="text/css" href="skin/screen.css" rel="stylesheet">
<link media="print" type="text/css" href="skin/print.css" rel="stylesheet">
<link type="text/css" href="skin/profile.css" rel="stylesheet">
<script src="skin/getBlank.js" language="javascript" type="text/javascript"></script><script src="skin/getMenu.js" language="javascript" type="text/javascript"></script><script src="skin/fontsize.js" language="javascript" type="text/javascript"></script>
<link rel="shortcut icon" href="images/favicon.ico">
</head>
<body onload="init()">
<script type="text/javascript">ndeSetTextSize();</script>
<div id="top">
<!--+
    |breadtrail
    +-->
<div class="breadtrail">
<a href="http://www.apache.org/">Apache</a> &gt; <a href="http://lucene.apache.org/">Lucene</a> &gt; <a href="http://lucene.apache.org/hadoop/">Hadoop</a><script src="skin/breadcrumbs.js" language="JavaScript" type="text/javascript"></script>
</div>
<!--+
    |header
    +-->
<div class="header">
<!--+
    |start group logo
    +-->
<div class="grouplogo">
<a href="http://lucene.apache.org/"><img class="logoImage" alt="Lucene" src="images/lucene_green_150.gif" title="Apache Lucene"></a>
</div>
<!--+
    |end group logo
    +-->
<!--+
    |start Project Logo
    +-->
<div class="projectlogo">
<a href="http://lucene.apache.org/hadoop/"><img class="logoImage" alt="Hadoop" src="images/hadoop-logo.jpg" title="Scalable Computing Platform"></a>
</div>
<!--+
    |end Project Logo
    +-->
<!--+
    |start Search
    +-->
<div class="searchbox">
<form action="http://www.google.com/search" method="get" class="roundtopsmall">
<input value="lucene.apache.org" name="sitesearch" type="hidden"><input onFocus="getBlank (this, 'Search the site with google');" size="25" name="q" id="query" type="text" value="Search the site with google">&nbsp; 
                    <input name="Search" value="Search" type="submit">
</form>
</div>
<!--+
    |end search
    +-->
<!--+
    |start Tabs
    +-->
<ul id="tabs">
<li class="current">
<a class="selected" href="index.html">Main</a>
</li>
<li>
<a class="unselected" href="http://wiki.apache.org/lucene-hadoop">Wiki</a>
</li>
</ul>
<!--+
    |end Tabs
    +-->
</div>
</div>
<div id="main">
<div id="publishedStrip">
<!--+
    |start Subtabs
    +-->
<div id="level2tabs"></div>
<!--+
    |end Endtabs
    +-->
<script type="text/javascript"><!--
document.write("Last Published: " + document.lastModified);
//  --></script>
</div>
<!--+
    |breadtrail
    +-->
<div class="breadtrail">

             &nbsp;
           </div>
<!--+
    |start Menu, mainarea
    +-->
<!--+
    |start Menu
    +-->
<div id="menu">
<div onclick="SwitchMenu('menu_1.1', 'skin/')" id="menu_1.1Title" class="menutitle">Project</div>
<div id="menu_1.1" class="menuitemgroup">
<div class="menuitem">
<a href="releases.html">Releases</a>
</div>
<div class="menuitem">
<a href="releases.html#News">News</a>
</div>
<div class="menuitem">
<a href="credits.html">Credits</a>
</div>
<div class="menuitem">
<a href="http://www.cafepress.com/hadoop/">Buy Stuff</a>
</div>
</div>
<div onclick="SwitchMenu('menu_selected_1.2', 'skin/')" id="menu_selected_1.2Title" class="menutitle" style="background-image: url('skin/images/chapter_open.gif');">Documentation</div>
<div id="menu_selected_1.2" class="selectedmenuitemgroup" style="display: block;">
<div class="menupage">
<div class="menupagetitle">Hadoop File System</div>
</div>
<div class="menuitem">
<a href="api/overview-summary.html#overview_description">Install and Configure</a>
</div>
<div class="menuitem">
<a href="api/index.html">API Docs</a>
</div>
<div class="menuitem">
<a href="http://wiki.apache.org/lucene-hadoop/">Wiki</a>
</div>
<div class="menuitem">
<a href="http://wiki.apache.org/lucene-hadoop/FAQ">FAQ</a>
</div>
<div class="menuitem">
<a href="mailing_lists.html#Users">Mailing Lists</a>
</div>
</div>
<div onclick="SwitchMenu('menu_1.3', 'skin/')" id="menu_1.3Title" class="menutitle">Developers</div>
<div id="menu_1.3" class="menuitemgroup">
<div class="menuitem">
<a href="mailing_lists.html#Developers">Mailing Lists</a>
</div>
<div class="menuitem">
<a href="issue_tracking.html">Issue Tracking</a>
</div>
<div class="menuitem">
<a href="version_control.html">Version Control</a>
</div>
<div class="menuitem">
<a href="http://lucene.zones.apache.org:8080/hudson/job/Hadoop-Nightly/">Nightly Build</a>
</div>
</div>
<div id="credit"></div>
<div id="roundbottom">
<img style="display: none" class="corner" height="15" width="15" alt="" src="skin/images/rc-b-l-15-1body-2menu-3menu.png"></div>
<!--+
  |alternative credits
  +-->
<div id="credit2"></div>
</div>
<!--+
    |end Menu
    +-->
<!--+
    |start content
    +-->
<div id="content">
<div title="Portable Document Format" class="pdflink">
<a class="dida" href="hdfs_design.pdf"><img alt="PDF -icon" src="skin/images/pdfdoc.gif" class="skin"><br>
        PDF</a>
</div>
<h1> 
      The Hadoop Distributed File System: Architecture and Design
    </h1>
<div id="minitoc-area">
<ul class="minitoc">
<li>
<a href="#Introduction"> Introduction </a>
</li>
<li>
<a href="#Assumptions+and+Goals"> Assumptions and Goals </a>
<ul class="minitoc">
<li>
<a href="#Hardware+Failure"> Hardware Failure </a>
</li>
<li>
<a href="#Streaming+Data+Access"> Streaming Data Access </a>
</li>
<li>
<a href="#Large+Data+Sets"> Large Data Sets </a>
</li>
<li>
<a href="#Simple+Coherency+Model"> Simple Coherency Model </a>
</li>
<li>
<a href="#%E2%80%9CMoving+Computation+is+Cheaper+than+Moving+Data%E2%80%9D"> &ldquo;Moving Computation is Cheaper than Moving Data&rdquo; </a>
</li>
<li>
<a href="#Portability+Across+Heterogeneous+Hardware+and+Software+Platforms"> Portability Across Heterogeneous Hardware and Software Platforms </a>
</li>
</ul>
</li>
<li>
<a href="#Namenode+and+Datanodes"> Namenode and Datanodes </a>
</li>
<li>
<a href="#The+File+System+Namespace"> The File System Namespace </a>
</li>
<li>
<a href="#Data+Replication"> Data Replication </a>
<ul class="minitoc">
<li>
<a href="#Replica+Placement%3A+The+First+Baby+Steps"> Replica Placement: The First Baby Steps </a>
</li>
<li>
<a href="#Replica+Selection"> Replica Selection </a>
</li>
<li>
<a href="#SafeMode"> SafeMode </a>
</li>
</ul>
</li>
<li>
<a href="#The+Persistence+of+File+System+Metadata"> The Persistence of File System Metadata </a>
</li>
<li>
<a href="#The+Communication+Protocols"> The Communication Protocols </a>
</li>
<li>
<a href="#Robustness"> Robustness </a>
<ul class="minitoc">
<li>
<a href="#Data+Disk+Failure%2C+Heartbeats+and+Re-Replication"> Data Disk Failure, Heartbeats and Re-Replication </a>
</li>
<li>
<a href="#Cluster+Rebalancing"> Cluster Rebalancing </a>
</li>
<li>
<a href="#Data+Integrity"> Data Integrity </a>
</li>
<li>
<a href="#Metadata+Disk+Failure"> Metadata Disk Failure </a>
</li>
<li>
<a href="#Snapshots"> Snapshots </a>
</li>
</ul>
</li>
<li>
<a href="#Data+Organization"> Data Organization </a>
<ul class="minitoc">
<li>
<a href="#Data+Blocks"> Data Blocks </a>
</li>
<li>
<a href="#Staging"> Staging </a>
</li>
<li>
<a href="#Replication+Pipelining"> Replication Pipelining </a>
</li>
</ul>
</li>
<li>
<a href="#Accessibility"> Accessibility </a>
<ul class="minitoc">
<li>
<a href="#DFSShell"> DFSShell </a>
</li>
<li>
<a href="#DFSAdmin"> DFSAdmin </a>
</li>
<li>
<a href="#Browser+Interface"> Browser Interface </a>
</li>
</ul>
</li>
<li>
<a href="#Space+Reclamation"> Space Reclamation </a>
<ul class="minitoc">
<li>
<a href="#File+Deletes+and+Undeletes"> File Deletes and Undeletes </a>
</li>
<li>
<a href="#Decrease+Replication+Factor"> Decrease Replication Factor </a>
</li>
</ul>
</li>
<li>
<a href="#References"> References </a>
</li>
</ul>
</div>
    
<a name="N10013"></a><a name="Introduction"></a>
<h2 class="h3"> Introduction </h2>
<div class="section">
<p>
      The Hadoop Distributed File System (<acronym title="Hadoop Distributed File System">HDFS</acronym>) 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 project, which is part of the Apache Lucene project. The project URL is <a href="http://projects.apache.org/projects/hadoop.html">http://projects.apache.org/projects/hadoop.html</a>.
      </p>
</div>

    
<a name="N10025"></a><a name="Assumptions+and+Goals"></a>
<h2 class="h3"> Assumptions and Goals </h2>
<div class="section">
<a name="N1002B"></a><a name="Hardware+Failure"></a>
<h3 class="h4"> Hardware Failure </h3>
<p>
        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&rsquo;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.
       </p>
<a name="N10035"></a><a name="Streaming+Data+Access"></a>
<h3 class="h4"> Streaming Data Access </h3>
<p>
        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. 
        </p>
<a name="N1003F"></a><a name="Large+Data+Sets"></a>
<h3 class="h4"> Large Data Sets </h3>
<p>
        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.
        </p>
<a name="N10049"></a><a name="Simple+Coherency+Model"></a>
<h3 class="h4"> Simple Coherency Model </h3>
<p>
        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. 
        </p>
<a name="N10053"></a><a name="%E2%80%9CMoving+Computation+is+Cheaper+than+Moving+Data%E2%80%9D"></a>
<h3 class="h4"> &ldquo;Moving Computation is Cheaper than Moving Data&rdquo; </h3>
<p>
        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. 
        </p>
<a name="N1005D"></a><a name="Portability+Across+Heterogeneous+Hardware+and+Software+Platforms"></a>
<h3 class="h4"> Portability Across Heterogeneous Hardware and Software Platforms </h3>
<p>
        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. 
        </p>
</div>

 
    
<a name="N10068"></a><a name="Namenode+and+Datanodes"></a>
<h2 class="h3"> Namenode and Datanodes </h2>
<div class="section">
<p>
      HDFS has a master/slave architecture. An HDFS cluster consists of a single <em>Namenode</em>, a master server that manages the file system namespace and regulates access to files by clients. In addition, there are a number of <em>Datanodes</em>, usually one per node in the cluster, which manage storage attached to the nodes that they run on. HDFS exposes a file system namespace and allows user data to be stored in files. Internally, a file is split into one or more 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&rsquo;s clients. The Datanodes also perform block creation, deletion, and replication upon instruction from the Namenode.
      </p>
<div id="" style="text-align: center;">
<img id="" class="figure" alt="HDFS Architecture" src="images/hdfsarchitecture.gif"></div>
<p>
      The Namenode and Datanode are pieces of software designed to run on commodity machines. These machines typically run a GNU/Linux operating system (<acronym title="operating system">OS</acronym>). 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.
      </p>
<p>
      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 <em>data</em> never flows through the Namenode.
      </p>
</div>

 

    
<a name="N10089"></a><a name="The+File+System+Namespace"></a>
<h2 class="h3"> The File System Namespace </h2>
<div class="section">
<p>
      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.
      </p>
<p>
      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.
      </p>
</div>

 

    
<a name="N10096"></a><a name="Data+Replication"></a>
<h2 class="h3"> Data Replication </h2>
<div class="section">
<p>
      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 write-once and have strictly one writer at any time. 
      </p>
<p>
      The Namenode makes all decisions regarding replication of blocks. It periodically receives a <em>Heartbeat</em> and a <em>Blockreport</em> from each of the Datanodes in the cluster. Receipt of a Heartbeat implies that the Datanode is functioning properly. A Blockreport contains a list of all blocks on a Datanode. 
    </p>
<div id="" style="text-align: center;">
<img id="" class="figure" alt="HDFS Datanodes" src="images/hdfsdatanodes.gif"></div>
<a name="N100AC"></a><a name="Replica+Placement%3A+The+First+Baby+Steps"></a>
<h3 class="h4"> Replica Placement: The First Baby Steps </h3>
<p>
        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. 
        </p>
<p>
        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.  
        </p>
<p>
        At startup time, each Datanode determines the rack it belongs to and notifies the Namenode of its rack id upon registration. HDFS provides <acronym title="Application Programming Interface">API</acronym>s to facilitate pluggable modules that can be used to determine the rack id of a machine. 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 because a write needs to transfer blocks to multiple racks. 
        </p>
<p>
        For the common case, when the replication factor is three, HDFS&rsquo;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.
        </p>
<p>
        The current, default replica placement policy described here is a work in progress.
        </p>
<a name="N100C6"></a><a name="Replica+Selection"></a>
<h3 class="h4"> Replica Selection </h3>
<p>
        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 angg/ HDFS cluster spans multiple data centers, then a replica that is resident in the local data center is preferred over any remote replica.
        </p>
<a name="N100D0"></a><a name="SafeMode"></a>
<h3 class="h4"> SafeMode </h3>
<p>
        On startup, the Namenode enters a special state called <em>Safemode</em>. Replication of data blocks does not occur when the Namenode is in the Safemode state. The Namenode receives Heartbeat and Blockreport messages from the Datanodes. A Blockreport contains the list of data blocks that a Datanode is hosting. Each block has a specified minimum number of replicas. A block is considered <em>safely replicated</em> 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.
        </p>
</div>

    
<a name="N100E1"></a><a name="The+Persistence+of+File+System+Metadata"></a>
<h2 class="h3"> The Persistence of File System Metadata </h2>
<div class="section">
<p>
        The HDFS namespace is stored by the Namenode. The Namenode uses a transaction log called the <em>EditLog</em> to persistently record every change that occurs to file system <em>metadata</em>. For example, creating a new file in HDFS causes the Namenode to insert a record into the EditLog indicating this. Similarly, changing the replication factor of a file causes a new record to be inserted into the EditLog. The Namenode uses a file in its <em>local</em> host OS file system to store the EditLog. The entire file system namespace, including the mapping of blocks to files and file system properties, is stored in a file called the <em>FsImage</em>. The FsImage is stored as a file in the Namenode&rsquo;s local file system too.
        </p>
<p>
        The Namenode keeps an image of the entire file system namespace and file <em>Blockmap</em> in memory. This key metadata item is designed to be compact, such that a Namenode with 4 GB of RAM is plenty to support a huge number of files and directories. When the Namenode starts up, it reads the FsImage and EditLog from disk, applies all the transactions from the EditLog to the in-memory representation of the FsImage, and flushes out this new version into a new FsImage on disk. It can then truncate the old EditLog because its transactions have been applied to the persistent FsImage. This process is called a <em>checkpoint</em>. In the current implementation, a checkpoint only occurs when the Namenode starts up. Work is in progress to support periodic checkpointing in the near future.
        </p>
<p>
        The Datanode stores HDFS data in files in its local file system. The Datanode has no knowledge about HDFS files. It stores each block of HDFS data in a separate file in its local file system. The Datanode does not create all files in the same directory. Instead, it uses a heuristic to determine the optimal number of files per directory and creates subdirectories appropriately. It is not optimal to create all local files in the same directory because the local file system might not be able to efficiently support a huge number of files in a single directory. When a Datanode starts up, it scans through its local file system, generates a list of all HDFS data blocks that correspond to each of these local files and sends this report to the Namenode: this is the Blockreport. 
        </p>
</div>


    
<a name="N10103"></a><a name="The+Communication+Protocols"></a>
<h2 class="h3"> The Communication Protocols </h2>
<div class="section">
<p>
      All HDFS communication protocols are layered on top of the TCP/IP protocol. A client establishes a connection to a configurable <acronym title="Transmission Control Protocol">TCP</acronym> port on the Namenode machine. It talks the <em>ClientProtocol</em> with the Namenode. The Datanodes talk to the Namenode using the <em>DatanodeProtocol</em>. A Remote Procedure Call (<acronym title="Remote Procedure Call">RPC</acronym>) abstraction wraps both the ClientProtocol and the DatanodeProtocol. By design, the Namenode never initiates any RPCs. Instead, it only responds to RPC requests issued by Datanodes or clients. 
      </p>
</div>
 

    
<a name="N1011B"></a><a name="Robustness"></a>
<h2 class="h3"> Robustness </h2>
<div class="section">
<p>
      The primary objective of HDFS is to store data reliably even in the presence of failures. The three common types of failures are Namenode failures, Datanode failures and network partitions.
      </p>
<a name="N10124"></a><a name="Data+Disk+Failure%2C+Heartbeats+and+Re-Replication"></a>
<h3 class="h4"> Data Disk Failure, Heartbeats and Re-Replication </h3>
<p>
        Each Datanode sends a Heartbeat message to the Namenode periodically. A network partition can cause a subset of Datanodes to lose connectivity with the Namenode. The Namenode detects this condition by the absence of a Heartbeat message. The Namenode marks Datanodes without recent Heartbeats as dead and does not forward any new <acronym title="Input/Output">IO</acronym> requests to them. Any data that was registered to a dead Datanode is not available to HDFS any more. Datanode death may cause the replication factor of some blocks to fall below their specified value. The Namenode constantly tracks which blocks need to be replicated and initiates replication whenever necessary. The necessity for re-replication may arise due to many reasons: a Datanode may become unavailable, a replica may become corrupted, a hard disk on a Datanode may fail, or the replication factor of a file may be increased. 
        </p>
<a name="N10132"></a><a name="Cluster+Rebalancing"></a>
<h3 class="h4"> Cluster Rebalancing </h3>
<p>
        The HDFS architecture is compatible with <em>data rebalancing schemes</em>. A scheme might automatically move data from one Datanode to another if the free space on a Datanode falls below a certain threshold. In the event of a sudden high demand for a particular file, a scheme might dynamically create additional replicas and rebalance other data in the cluster. These types of data rebalancing schemes are not yet implemented. 
        </p>
<a name="N1013F"></a><a name="Data+Integrity"></a>
<h3 class="h4"> Data Integrity </h3>
<p>
        <!-- XXX "checksum checking" sounds funny -->
        It is possible that a block of data fetched from a Datanode arrives corrupted. This corruption can occur because of faults in a storage device, network faults, or buggy software. The HDFS client software implements checksum checking on the contents of HDFS files. When a client creates an HDFS file, it computes a checksum of each block of the file and stores these checksums in a separate hidden file in the same HDFS namespace. When a client retrieves file contents it verifies that the data it received from each Datanode matches the checksum stored in the associated checksum file. If not, then the client can opt to retrieve that block from another Datanode that has a replica of that block.
        </p>
<a name="N1014B"></a><a name="Metadata+Disk+Failure"></a>
<h3 class="h4"> Metadata Disk Failure </h3>
<p>
        The FsImage and the EditLog are central data structures of HDFS. A corruption of these files can cause the HDFS instance to be non-functional. For this reason, the Namenode can be configured to support maintaining multiple copies of the FsImage and EditLog. Any update to either the FsImage or EditLog causes each of the FsImages and EditLogs to get updated synchronously. This synchronous updating of multiple copies of the FsImage and EditLog may degrade the rate of namespace transactions per second that a Namenode can support. However, this degradation is acceptable because even though HDFS applications are very <em>data</em> intensive in nature, they are not <em>metadata</em> intensive. When a Namenode restarts, it selects the latest consistent FsImage and EditLog to use.
        </p>
<p> 
        The Namenode machine is a single point of failure for an HDFS cluster. If the Namenode machine fails, manual intervention is necessary. Currently, automatic restart and failover of the Namenode software to another machine is not supported.
        </p>
<a name="N1015E"></a><a name="Snapshots"></a>
<h3 class="h4"> Snapshots </h3>
<p>
        Snapshots support storing a copy of data at a particular instant of time. One usage of the snapshot feature may be to roll back a corrupted HDFS instance to a previously known good point in time. HDFS does not currently support snapshots but will in a future release.
        </p>
</div>
 

    
<a name="N10169"></a><a name="Data+Organization"></a>
<h2 class="h3"> Data Organization </h2>
<div class="section">
<a name="N10171"></a><a name="Data+Blocks"></a>
<h3 class="h4"> Data Blocks </h3>
<p>
        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.
        </p>
<a name="N1017B"></a><a name="Staging"></a>
<h3 class="h4"> Staging </h3>
<p>
        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 data worth 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. 
        </p>
<p>
        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. <acronym title="Andrew File System">AFS</acronym>, have used client side caching to improve performance. A POSIX requirement has been relaxed to achieve higher performance of data uploads. 
        </p>
<a name="N1018E"></a><a name="Replication+Pipelining"></a>
<h3 class="h4"> Replication Pipelining </h3>
<p>
        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.
        </p>
</div>

    
<a name="N10199"></a><a name="Accessibility"></a>
<h2 class="h3"> Accessibility </h2>
<div class="section">
<p>
      HDFS can be accessed from applications in many different ways. Natively, HDFS provides a <a href="http://lucene.apache.org/hadoop/api/">Java API</a> for applications to use. A C language wrapper for this Java API is also available. In addition, an HTTP browser can also be used to browse the files of an HDFS instance. Work is in progress to expose HDFS through the <acronym title="Web-based Distributed Authoring and Versioning">WebDAV</acronym> protocol. 
      </p>
<a name="N101AE"></a><a name="DFSShell"></a>
<h3 class="h4"> DFSShell </h3>
<p>
        HDFS allows user data to be organized in the form of files and directories. It provides a commandline interface called <em>DFSShell</em> that lets a user interact with the data in HDFS. The syntax of this command set is similar to other shells (e.g. bash, csh) that users are already familiar with. Here are some sample action/command pairs:
        </p>
<table class="ForrestTable" cellspacing="1" cellpadding="4">
          
<tr>
            
<th colspan="1" rowspan="1"> Action </th><th colspan="1" rowspan="1"> Command </th>
          
</tr>
          
<tr>
            
<td colspan="1" rowspan="1"> Create a directory named <span class="codefrag">/foodir</span> </td> <td colspan="1" rowspan="1"> <span class="codefrag">bin/hadoop dfs -mkdir /foodir</span> </td>
          
</tr>
          
<tr>
            
<td colspan="1" rowspan="1"> Create a directory named <span class="codefrag">/foodir</span> </td> <td colspan="1" rowspan="1"> <span class="codefrag">bin/hadoop dfs -mkdir /foodir</span> </td>
          
</tr>
          
<tr>
            
<td colspan="1" rowspan="1"> View the contents of a file named <span class="codefrag">/foodir/myfile.txt</span> </td> <td colspan="1" rowspan="1"> <span class="codefrag">bin/hadoop dfs -cat /foodir/myfile.txt</span> </td>
          
</tr>
        
</table>
<p>
        DFSShell is targeted for applications that need a scripting language to interact with the stored data.
        </p>
<a name="N10206"></a><a name="DFSAdmin"></a>
<h3 class="h4"> DFSAdmin </h3>
<p>
        The <em>DFSAdmin</em> command set is used for administering an HDFS cluster. These are commands that are used only by an HDFS administrator. Here are some sample action/command pairs:
        </p>
<table class="ForrestTable" cellspacing="1" cellpadding="4">
          
<tr>
            
<th colspan="1" rowspan="1"> Action </th><th colspan="1" rowspan="1"> Command </th>
          
</tr>
          
<tr>
            
<td colspan="1" rowspan="1"> Put a cluster in SafeMode </td> <td colspan="1" rowspan="1"> <span class="codefrag">bin/hadoop dfsadmin -safemode enter</span> </td>
          
</tr>
          
<tr>
            
<td colspan="1" rowspan="1"> Generate a list of Datanodes </td> <td colspan="1" rowspan="1"> <span class="codefrag">bin/hadoop dfsadmin -report</span> </td>
          
</tr>
          
<tr>
            
<td colspan="1" rowspan="1"> Decommission Datanode <span class="codefrag">datanodename</span> </td><td colspan="1" rowspan="1"> <span class="codefrag">bin/hadoop dfsadmin -decommission datanodename</span> </td>
          
</tr>
        
</table>
<a name="N10254"></a><a name="Browser+Interface"></a>
<h3 class="h4"> Browser Interface </h3>
<p>
        A typical HDFS install configures a web server to expose the HDFS namespace through a configurable TCP port. This allows a user to navigate the HDFS namespace and view the contents of its files using a web browser.
       </p>
</div> 

    
<a name="N1025F"></a><a name="Space+Reclamation"></a>
<h2 class="h3"> Space Reclamation </h2>
<div class="section">
<a name="N10265"></a><a name="File+Deletes+and+Undeletes"></a>
<h3 class="h4"> File Deletes and Undeletes </h3>
<p>
        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 <span class="codefrag">/trash</span> directory. The file can be restored quickly as long as it remains in <span class="codefrag">/trash</span>. A file remains in <span class="codefrag">/trash</span> for a configurable amount of time. After the expiry of its life in <span class="codefrag">/trash</span>, 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.
        </p>
<p>
        A user can Undelete a file after deleting it as long as it remains in the <span class="codefrag">/trash</span> directory. If a user wants to undelete a file that he/she has deleted, he/she can navigate the <span class="codefrag">/trash</span> directory and retrieve the file. The <span class="codefrag">/trash</span> directory contains only the latest copy of the file that was deleted. The <span class="codefrag">/trash</span> 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 <span class="codefrag">/trash</span> that are more than 6 hours old. In the future, this policy will be configurable through a well defined interface.
        </p>
<a name="N1028D"></a><a name="Decrease+Replication+Factor"></a>
<h3 class="h4"> Decrease Replication Factor </h3>
<p>
        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 <span class="codefrag">setReplication</span> API call and the appearance of free space in the cluster.
        </p>
</div>


    
<a name="N1029B"></a><a name="References"></a>
<h2 class="h3"> References </h2>
<div class="section">
<p>
      HDFS Java API: 
      <a href="http://lucene.apache.org/hadoop/api/"> 
        http://lucene.apache.org/hadoop/api/
      </a>
      
</p>
<p>
      HDFS source code: 
      <a href="http://lucene.apache.org/hadoop/version_control.html"> 
        http://lucene.apache.org/hadoop/version_control.html
      </a>
      
</p>
</div> 

  
<p align="right">
<font size="-2">by&nbsp;Dhruba Borthakur</font>
</p>
</div>
<!--+
    |end content
    +-->
<div class="clearboth">&nbsp;</div>
</div>
<div id="footer">
<!--+
    |start bottomstrip
    +-->
<div class="lastmodified">
<script type="text/javascript"><!--
document.write("Last Published: " + document.lastModified);
//  --></script>
</div>
<div class="copyright">
        Copyright &copy;
         2007 <a href="http://www.apache.org/licenses/">The Apache Software Foundation.</a>
</div>
<!--+
    |end bottomstrip
    +-->
</div>
</body>
</html>
