hadoop-common-commits mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From ni...@apache.org
Subject svn commit: r616635 - in /hadoop/core/trunk/docs: hdfs_user_guide.html hdfs_user_guide.pdf
Date Wed, 30 Jan 2008 05:35:02 GMT
Author: nigel
Date: Tue Jan 29 21:35:00 2008
New Revision: 616635

URL: http://svn.apache.org/viewvc?rev=616635&view=rev
Log:
HADOOP-2529. First version of HDFS User Guide. Adding some missing files.

Added:
    hadoop/core/trunk/docs/hdfs_user_guide.html
    hadoop/core/trunk/docs/hdfs_user_guide.pdf

Added: hadoop/core/trunk/docs/hdfs_user_guide.html
URL: http://svn.apache.org/viewvc/hadoop/core/trunk/docs/hdfs_user_guide.html?rev=616635&view=auto
==============================================================================
--- hadoop/core/trunk/docs/hdfs_user_guide.html (added)
+++ hadoop/core/trunk/docs/hdfs_user_guide.html Tue Jan 29 21:35:00 2008
@@ -0,0 +1,723 @@
+<!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>
+      Hadoop DFS User Guide
+    </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://hadoop.apache.org/">Hadoop</a> &gt; <a href="http://hadoop.apache.org/core/">Core</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://hadoop.apache.org/"><img class="logoImage" alt="Hadoop" src="images/hadoop-logo.jpg" title="Apache Hadoop"></a>
+</div>
+<!--+
+    |end group logo
+    +-->
+<!--+
+    |start Project Logo
+    +-->
+<div class="projectlogo">
+<a href="http://hadoop.apache.org/core/"><img class="logoImage" alt="Hadoop" src="images/core-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="hadoop.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>
+<a class="unselected" href="http://hadoop.apache.org/core/">Project</a>
+</li>
+<li>
+<a class="unselected" href="http://wiki.apache.org/hadoop">Wiki</a>
+</li>
+<li class="current">
+<a class="selected" href="index.html">Hadoop 0.16 Documentation</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_selected_1.1', 'skin/')" id="menu_selected_1.1Title" class="menutitle" style="background-image: url('skin/images/chapter_open.gif');">Documentation</div>
+<div id="menu_selected_1.1" class="selectedmenuitemgroup" style="display: block;">
+<div class="menuitem">
+<a href="index.html">Overview</a>
+</div>
+<div class="menuitem">
+<a href="quickstart.html">Quickstart</a>
+</div>
+<div class="menuitem">
+<a href="cluster_setup.html">Cluster Setup</a>
+</div>
+<div class="menuitem">
+<a href="hdfs_design.html">HDFS Architecture</a>
+</div>
+<div class="menupage">
+<div class="menupagetitle">HDFS User Guide</div>
+</div>
+<div class="menuitem">
+<a href="mapred_tutorial.html">Map-Reduce Tutorial</a>
+</div>
+<div class="menuitem">
+<a href="native_libraries.html">Native Hadoop Libraries</a>
+</div>
+<div class="menuitem">
+<a href="streaming.html">Streaming</a>
+</div>
+<div class="menuitem">
+<a href="hod.html">Hadoop On Demand</a>
+</div>
+<div class="menuitem">
+<a href="api/index.html">API Docs</a>
+</div>
+<div class="menuitem">
+<a href="http://wiki.apache.org/hadoop/">Wiki</a>
+</div>
+<div class="menuitem">
+<a href="http://wiki.apache.org/hadoop/FAQ">FAQ</a>
+</div>
+<div class="menuitem">
+<a href="http://hadoop.apache.org/core/mailing_lists.html">Mailing Lists</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_user_guide.pdf"><img alt="PDF -icon" src="skin/images/pdfdoc.gif" class="skin"><br>
+        PDF</a>
+</div>
+<h1>
+      Hadoop DFS User Guide
+    </h1>
+<div id="minitoc-area">
+<ul class="minitoc">
+<li>
+<a href="#Purpose">Purpose</a>
+</li>
+<li>
+<a href="#Overview"> Overview </a>
+</li>
+<li>
+<a href="#Pre-requisites"> Pre-requisites </a>
+</li>
+<li>
+<a href="#Web+Interface"> Web Interface </a>
+</li>
+<li>
+<a href="#Shell+Commands">Shell Commands</a>
+<ul class="minitoc">
+<li>
+<a href="#DFSAdmin+Command"> DFSAdmin Command </a>
+</li>
+</ul>
+</li>
+<li>
+<a href="#Secondary+Namenode"> Secondary Namenode </a>
+</li>
+<li>
+<a href="#Rebalancer"> Rebalancer </a>
+</li>
+<li>
+<a href="#Rack+Awareness"> Rack Awareness </a>
+</li>
+<li>
+<a href="#Safemode"> Safemode </a>
+</li>
+<li>
+<a href="#Fsck"> Fsck </a>
+</li>
+<li>
+<a href="#Upgrade+and+Rollback"> Upgrade and Rollback </a>
+</li>
+<li>
+<a href="#File+Permissions+and+Security"> File Permissions and Security </a>
+</li>
+<li>
+<a href="#Scalability"> Scalability </a>
+</li>
+<li>
+<a href="#Related+Documentation"> Related Documentation </a>
+</li>
+</ul>
+</div>
+    
+<a name="N1000C"></a><a name="Purpose"></a>
+<h2 class="h3">Purpose</h2>
+<div class="section">
+<p>
+ This document aims to be the starting point for users working with
+ Hadoop Distributed File System (HDFS) either as a part of a
+ <a href="http://hadoop.apache.org/">Hadoop</a>
+ cluster or as a stand-alone general purpose distributed file system.
+ While HDFS is designed to "just-work" in many environments, a working
+ knowledge of HDFS helps greatly with configuration improvements and
+ diagnostics on a specific cluster.
+      </p>
+</div>
+
+    
+<a name="N1001A"></a><a name="Overview"></a>
+<h2 class="h3"> Overview </h2>
+<div class="section">
+<p>
+ HDFS is the primary distributed storage used by Hadoop applications. A
+ HDFS cluster primarily consists of a <em>NameNode</em> that manages the
+ filesystem metadata and Datanodes that store the actual data. The
+ architecture of HDFS is described in detail
+ <a href="hdfs_design.html">here</a>. This user guide primarily deals with 
+ interaction of users and administrators with HDFS clusters. 
+ The <a href="images/hdfsarchitecture.gif">diagram</a> from 
+ <a href="hdfs_design.html">HDFS architecture</a> depicts 
+ basic interactions among Namenode, Datanodes, and the clients. Eseentially,
+ clients contact Namenode for file metadata or file modifications and perform 
+ actual file I/O directly with the datanodes.
+      </p>
+<p>
+ The following are some of the salient features that could be of
+ interest to many users. The terms in <em>italics</em>
+ are described in later sections.
+      </p>
+<ul>
+    
+<li>
+    	Hadoop, including HDFS, is well suited for distributed storage
+    	and distributed processing using commodity hardware. It is fault
+    	tolerant, scalable, and extremely simple to expand.
+    	<a href="mapred_tutorial.html">Map-Reduce</a>,
+    	well known for its simplicity and applicability for large set of
+    	distributed applications, is an integral part of Hadoop.
+    </li>
+    
+<li>
+    	HDFS is highly configurable with a default configuration well
+    	suited for many installations. Most of the time, configuration
+    	needs to be tuned only for very large clusters.
+    </li>
+    
+<li>
+    	It is written in Java and is supported on all major platforms.
+    </li>
+    
+<li>
+    	Supports <em>shell like commands</em> to interact with HDFS directly.
+    </li>
+    
+<li>
+    	Namenode and Datanodes have built in web servers that makes it
+    	easy to check current status of the cluster.
+    </li>
+    
+<li>
+    	New features and improvements are regularly implemented in HDFS.
+    	The following is a subset of useful features in HDFS:
+      <ul>
+    	
+<li>
+    		
+<em>File permissions and authentication.</em>
+    	
+</li>
+    	
+<li>
+    		
+<em>Rack awareness</em> : to take a node's physical location into
+    		account while scheduling tasks and allocating storage.
+    	</li>
+    	
+<li>
+    		
+<em>Safemode</em> : an administrative mode for maintanance.
+    	</li>
+    	
+<li>
+    		
+<em>fsck</em> : an utility to diagnose health of the filesystem, to
+    		find missing files or blocks.
+    	</li>
+    	
+<li>
+    		
+<em>Rebalancer</em> : tool to balance the cluster when the data is
+    		unevenly distributed among datanodes.
+    	</li>
+    	
+<li>
+    		
+<em>Upgrade and Rollback</em> : after a software upgrade, 
+            it is possible to
+    		rollback to HDFS' state before the upgrade in case of unexpected
+    		problems.
+    	</li>
+    	
+<li>
+    		
+<em>Secondary Namenode</em> : helps keep the size of file
+    		containing log of HDFS modification with in certain limit at
+    		the Namenode.
+    	</li>
+      
+</ul>
+    
+</li>
+    
+</ul>
+</div> 
+<a name="N10082"></a><a name="Pre-requisites"></a>
+<h2 class="h3"> Pre-requisites </h2>
+<div class="section">
+<p>
+ 	The following documents describe installation and set up of a
+ 	Hadoop cluster : 
+    </p>
+<ul>
+ 	
+<li>
+ 		
+<a href="quickstart.html">Hadoop Quickstart</a>
+ 		for first-time users.
+ 	</li>
+ 	
+<li>
+ 		
+<a href="cluster_setup.html">Hadoop Cluster Setup</a>
+ 		for large, distributed clusters.
+ 	</li>
+    
+</ul>
+<p>
+ 	The rest of document assumes the user is able to set up and run a
+ 	HDFS with at least one Datanode. For the purpose of this document,
+ 	both Namenode and Datanode could be running on the same physical
+ 	machine.	
+    </p>
+</div> 
+<a name="N100A0"></a><a name="Web+Interface"></a>
+<h2 class="h3"> Web Interface </h2>
+<div class="section">
+<p>
+ 	Namenode and Datanode each run an internal web server in order to
+ 	display basic information about the current status of the cluster.
+ 	With the default configuration, namenode front page is at
+ 	<span class="codefrag">http://namenode:50070/</span> .
+ 	It lists the datanodes in the cluster and basic stats of the
+ 	cluster. The web interface can also be used to browse the file
+ 	system (using "Browse the file system" link on the Namenode front
+ 	page).
+ </p>
+</div> 
+<a name="N100AD"></a><a name="Shell+Commands"></a>
+<h2 class="h3">Shell Commands</h2>
+<div class="section">
+<p>
+      Hadoop includes various "shell-like" commands that directly
+      interact with HDFS and other file systems that Hadoop supports.
+      The command
+      <span class="codefrag">bin/hadoop fs -help</span>
+      lists the commands supported by Hadoop
+      shell. Further,
+      <span class="codefrag">bin/hadoop fs -help command</span>
+      displays more detailed help on a command. The commands support
+      most of the normal filesystem operations like copying files,
+      changing file permissions, etc. It also supports a few HDFS
+      specific operations like changing replication of files.
+     </p>
+<a name="N100BC"></a><a name="DFSAdmin+Command"></a>
+<h3 class="h4"> DFSAdmin Command </h3>
+<p>
+   	
+<span class="codefrag">'bin/hadoop dfsadmin'</span>
+   	command supports a few HDFS administration related operations.
+   	<span class="codefrag">bin/hadoop dfsadmin -help</span>
+   	lists all the commands currently supported. For e.g.:
+   </p>
+<ul>
+   	
+<li>
+   	    
+<span class="codefrag">-report</span>
+   	    : reports basic stats of HDFS. Some of this information is
+   	    also available on the Namenode front page.
+   	</li>
+   	
+<li>
+   		
+<span class="codefrag">-safemode</span>
+   		: though usually not required, an administrator can manually enter
+   		or leave <em>safemode</em>.
+   	</li>
+   	
+<li>
+   		
+<span class="codefrag">-finalizeUpgrade</span>
+   		: removes previous backup of the cluster made during last upgrade.
+   	</li>
+   	
+</ul>
+</div> 
+<a name="N100E5"></a><a name="Secondary+Namenode"></a>
+<h2 class="h3"> Secondary Namenode </h2>
+<div class="section">
+<p>
+     Namenode stores modifications to the filesystem as a log
+     appended to a native filesystem file (<span class="codefrag">edits</span>). 
+   	When a Namenode starts up, it reads HDFS state from an image
+   	file (<span class="codefrag">fsimage</span>) and then applies <em>edits</em> from 
+    edits log file. It then writes new HDFS state to (<span class="codefrag">fsimage</span>)
+    and starts normal
+   	operation with an empty edits file. Since namenode merges
+   	<span class="codefrag">fsimage</span> and <span class="codefrag">edits</span> files only during start up, 
+    edits file could get very large over time on a large cluster. 
+    Another side effect of larger edits file is that next 
+    restart of Namenade takes longer.
+   </p>
+<p>
+     The secondary namenode merges fsimage and edits log periodically
+     and keeps edits log size with in a limit. It is usually run on a
+     different machine than the primary Namenode since its memory requirements
+     are on the same order as the primary namemode. The secondary
+     namenode is started by <span class="codefrag">bin/start-dfs.sh</span> on the nodes 
+     specified in <span class="codefrag">conf/masters</span> file.
+   </p>
+</div> 
+<a name="N1010A"></a><a name="Rebalancer"></a>
+<h2 class="h3"> Rebalancer </h2>
+<div class="section">
+<p>
+      HDFS data might not always be be placed uniformly across the
+      datanode. One common reason is addition of new datanodes to an
+      existing cluster. While placing new <em>blocks</em> (data for a file is
+      stored as a series of blocks), Namenode considers various
+      parameters before choosing the datanodes to receive these blocks.
+      Some of the considerations are : 
+    </p>
+<ul>
+      
+<li>
+        Policy to keep one of the replicas of a block on the same node
+        as the node that is writing the block.
+      </li>
+      
+<li>
+        Need to spread different replicas of a block across the racks so
+        that cluster can survive loss of whole rack.
+      </li>
+      
+<li>
+        One of the replicas is usually placed on the same rack as the
+        node writing to the file so that cross-rack network I/O is
+        reduced.
+      </li>
+      
+<li>
+        Spread HDFS data uniformly across the datanodes in the cluster.
+      </li>
+      
+</ul>
+<p>
+      Due to multiple competing considerations, data might not be
+      uniformly placed across the datanodes.
+      HDFS provides a tool for administrators that analyzes block
+      placement and relanaces data across the datnodes. A brief
+      adminstrator's guide for rebalancer as a
+      <a href="http://issues.apache.org/jira/secure/attachment/12368261/RebalanceDesign6.pdf">PDF</a>
+      is attached to
+      <a href="http://issues.apache.org/jira/browse/HADOOP-1652">HADOOP-1652</a>.
+    </p>
+</div> 
+<a name="N10131"></a><a name="Rack+Awareness"></a>
+<h2 class="h3"> Rack Awareness </h2>
+<div class="section">
+<p>
+      Typically large Hadoop clusters are arranged in <em>racks</em> and
+      network traffic between different nodes with in the same rack is
+      much more desirable than network traffic across the racks. In
+      addition Namenode tries to place replicas of block on
+      multiple racks for improved fault tolerance. Hadoop lets the
+      cluster administrators decide which <em>rack</em> a node belongs to
+      through configuration variable <span class="codefrag">dfs.network.script</span>. When this
+      script is configured, each node runs the script to determine its
+      <em>rackid</em>. A default installation assumes all the nodes belong to
+      the same rack. This feature and configuration is further described
+      in <a href="http://issues.apache.org/jira/secure/attachment/12345251/Rack_aware_HDFS_proposal.pdf">PDF</a>
+      attached to 
+      <a href="http://issues.apache.org/jira/browse/HADOOP-692">HADOOP-692</a>.
+    </p>
+</div> 
+<a name="N1014F"></a><a name="Safemode"></a>
+<h2 class="h3"> Safemode </h2>
+<div class="section">
+<p>
+      During start up Namenode loads the filesystem state from
+      <em>fsimage</em> and <em>edits</em> log file. It then waits for datanodes
+      to report their blocks so that it does not prematurely start
+      replicating the blocks though enough replicas already exist in the
+      cluster. During this time Namenode stays in <em>safemode</em>. A 
+      <em>Safemode</em>
+      for Namenode is essentially a read-only mode for the HDFS cluster,
+      where it does not allow any modifications to filesystem or blocks.
+      Normally Namenode gets out of safemode automatically at
+      the beginning. If required, HDFS could be placed in safemode explicitly
+      using <span class="codefrag">'bin/hadoop dfsadmin -safemode'</span> command. Namenode front
+      page shows whether safemode is on or off. A more detailed
+      description and configuration is maintained as JavaDoc for
+      <a href="http://hadoop.apache.org/core/docs/current/api/org/apache/hadoop/dfs/NameNode.html#setSafeMode(org.apache.hadoop.dfs.FSConstants.SafeModeAction)"><span class="codefrag">setSafeMode()</span></a>.
+    </p>
+</div> 
+<a name="N1016D"></a><a name="Fsck"></a>
+<h2 class="h3"> Fsck </h2>
+<div class="section">
+<p>    
+      HDFS supports <span class="codefrag">fsck</span> command to check for various 
+      inconsistencies.
+      It it is designed for reporting problems with various
+      files, for e.g. missing blocks for a file or under replicated
+      blocks. Unlike a traditional fsck utility for native filesystems,
+      this command does not correct the errors it detects. Normally Namenode
+      automatically corrects most of the recoverable failures.
+      HDFS' fsck is not a
+      Hadoop shell command. It can be run as '<span class="codefrag">bin/hadoop fsck</span>'.
+      Fsck can be run on the whole filesystem or on a subset of files.
+     </p>
+</div> 
+<a name="N1017D"></a><a name="Upgrade+and+Rollback"></a>
+<h2 class="h3"> Upgrade and Rollback </h2>
+<div class="section">
+<p>
+      When Hadoop is upgraded on an existing cluster, as with any
+      software upgrade, it is possible there are new bugs or
+      incompatible changes that affect existing applications and were
+      not discovered earlier. In any non-trivial HDFS installation, it
+      is not an option to loose any data, let alone to restart HDFS from
+      scratch. HDFS allows administrators to go back to earlier version
+      of Hadoop and <em>roll back</em> the cluster to the state it was in 
+      before
+      the upgrade. HDFS upgrade is described in more detail in 
+      <a href="http://wiki.apache.org/hadoop/Hadoop%20Upgrade">upgrade wiki</a>.
+      HDFS can have one such backup at a time. Before upgrading,
+      administrators need to remove existing backup using <span class="codefrag">bin/hadoop
+      dfsadmin -finalizeUpgrade</span> command. The following
+      briefly describes typical upgrade procedure : 
+     </p>
+<ul>
+      
+<li>
+        Before upgrading Hadoop software,
+        <em>finalize</em> if there an existing backup.
+        <span class="codefrag">dfsadmin -upgradeProgress status</span>
+        can tell if the cluster needs to be <em>finalized</em>.
+      </li>
+      
+<li>Stop the cluster and distribute new version of Hadoop.</li>
+      
+<li>
+        Run the new version with <span class="codefrag">-upgrade</span> option 
+        (<span class="codefrag">bin/start-dfs.sh -upgrade</span>).
+      </li>
+      
+<li>
+        Most of the time, cluster works just fine. Once the new HDFS is
+        considered working well (may be after a few days of operation),
+        finalize the upgrade. Note that until the cluster is finalized,
+        deleting the files that existed before the upgrade does not free
+        up real disk space on the datanodes.
+      </li>
+      
+<li>
+        If there is a need to move back to the old version,
+        <ul>
+          
+<li> stop the cluster and distribute earlier version of Hadoop. </li>
+          
+<li> start the cluster with rollback option. 
+            (<span class="codefrag">bin/start-dfs.h -rollback</span>). 
+          </li>
+        
+</ul>
+      
+</li>
+      
+</ul>
+</div> 
+<a name="N101BE"></a><a name="File+Permissions+and+Security"></a>
+<h2 class="h3"> File Permissions and Security </h2>
+<div class="section">
+<p>           
+      The file permissions are designed to be similar to file permissions on
+      other familiar platforms like Linux. Currently, security is limited
+      to simple file permissions. The user that starts Namenode is
+      treated as the <em>super user</em> for HDFS. Future versions of HDFS will
+      support network authentication protocols like Kerberos for user
+      authentication and encryption of data transfers.
+     </p>
+</div> 
+<a name="N101CB"></a><a name="Scalability"></a>
+<h2 class="h3"> Scalability </h2>
+<div class="section">
+<p>
+      Hadoop currently runs on clusters with thousands of nodes.
+      <a href="http://wiki.apache.org/hadoop/PoweredBy">PoweredBy Hadoop</a>
+      lists some of the organizations that deploy Hadoop on large
+      clusters. HDFS has one Namenode for each cluster. Currently
+      the total memory available on Namenode is the primary scalability
+      limitation. On very large clusters, increasing average size of
+      files stored in HDFS helps with increasing cluster size without
+      increasing memory requirements on Namenode.
+   
+      The default configuration may not suite very large clustes.
+      <a href="http://wiki.apache.org/hadoop/FAQ">Hadoop FAQ</a> page lists
+      suggested configuration improvements for large Hadoop clusters.
+     </p>
+</div> 
+<a name="N101DD"></a><a name="Related+Documentation"></a>
+<h2 class="h3"> Related Documentation </h2>
+<div class="section">
+<p>
+      This user guide is intended to be a good starting point for
+      working with HDFS. While it continues to improve,
+      there is a large wealth of documentation about Hadoop and HDFS.
+      The following lists starting points for further exploration :
+      </p>
+<ul>
+      
+<li>
+        
+<a href="http://hadoop.apache.org/">Hadoop Home Page</a>
+        : the start page for everything Hadoop.
+      </li>
+      
+<li>
+        
+<a href="http://wiki.apache.org/hadoop/FrontPage">Hadoop Wiki</a>
+        : Front page for Hadoop Wiki documentation. Unlike this
+        guide which is part of Hadoop source tree, Hadoop Wiki is
+        regularly edited by Hadoop Community.
+      </li>
+      
+<li> 
+<a href="http://wiki.apache.org/hadoop/FAQ">FAQ</a> from Hadoop Wiki.
+      </li>
+      
+<li>
+        Hadoop <a href="http://hadoop.apache.org/core/docs/current/api/">
+          JavaDoc API</a>.
+      </li>
+      
+<li>
+        Hadoop User Mailing List : 
+        <a href="mailto:core-user@hadoop.apache.org">core-user[at]hadoop.apache.org</a>.
+      </li>
+      
+<li>
+         Explore <span class="codefrag">conf/hadoop-default.xml</span>. 
+         It includes brief 
+         description of most of the configuration variables available.
+      </li>
+      
+</ul>
+</div>
+     
+  
+</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>

Added: hadoop/core/trunk/docs/hdfs_user_guide.pdf
URL: http://svn.apache.org/viewvc/hadoop/core/trunk/docs/hdfs_user_guide.pdf?rev=616635&view=auto
==============================================================================
--- hadoop/core/trunk/docs/hdfs_user_guide.pdf (added)
+++ hadoop/core/trunk/docs/hdfs_user_guide.pdf Tue Jan 29 21:35:00 2008
@@ -0,0 +1,969 @@
+%PDF-1.3
+%ª«¬­
+4 0 obj
+<< /Type /Info
+/Producer (FOP 0.20.5) >>
+endobj
+5 0 obj
+<< /Length 941 /Filter [ /ASCII85Decode /FlateDecode ]
+ >>
+stream
+Gaua>bBB@/&;KpAKpL".W[&.BAM/*YM`.ubl([Q3#!(WVO97I*H2C4h,eFA'2[1pOiBbmN,Q=+ANh(Ae(D%*$&8rSb^(L[%#6t>V58ZfRT'midqB:Y&n72!NV*aN$^a0:Rq;:1T\^lE1RTFh-@@sCo!rN,iB=Ub;E50]7j><M@]7)\abVhI_'2\AR6>Z>`7$J-6RsLTc!fRWP_hb5t.>D0Uc%f#/Eb*uiDHbrbX.?3NqX&lRhFj#1$=.fM?pX/3Xp[f36L<?Zp"*h_4_O\Rp@Z)NU"<_F7#`W`4bmgN2QZ?sITc3=I9'tiY@hHKbD.+G#7a%+`V(JtL-:?*`AXj5o8RA\,[[Ncb7Zul^5BHc*q^31V7cRd&%0k*f'>htk8O%`'Ep#9HDWW-D?TiY3:,,L8l.YmNERVsF,HKtO<3%IRD):OXS`>&S=s$"EbGCaBoe3.jkD"s=Kf8/(b)Ll1uB*Mn5?(F5O<,N15_N5VcF,7k6UG(L@pFB=O,'bbJH&n\_9C";3R3J&KPF4Zst'+/!g+a^fQ"f`CjO`.-aFPFRll8]4!C.<+JEVXk.C4M`D:?)q[UuUNUH<d\RkNjJGH0bM!C#N6I`\@-FZW,][%2%T8"YX&OCUI_U6.Ql5Aq&RUAWhlsHa7Obt)HHUeAk[acUW"tu-=6YkC1,F914'iY)?"]n5hf+EG"oBcb?I%IAjbCinh%5+SN:jauA4nb8(nRm;l&kd&O\3C1o(.Cb\O.Bc4#`9:l(DF/\q$VIjt!%0L)]*b(!0c/p4bHq%%Pi_.b\bs]^u=!qq-1/Hg%oO`@-7f/B-=;+\4#[37p:LS86Z%PL2T#L*Z8ed<]<Ur^B!SniY<krC6-[WpJ]Ld672!6EqRDKE=;o+1WFtm9!hXf4*L57&fW+`ElS=b)=VkXK.]"6+_;WN4J<LT6Uc$qHotq8/h~>
+endstream
+endobj
+6 0 obj
+<< /Type /Page
+/Parent 1 0 R
+/MediaBox [ 0 0 612 792 ]
+/Resources 3 0 R
+/Contents 5 0 R
+/Annots 7 0 R
+>>
+endobj
+7 0 obj
+[
+8 0 R
+10 0 R
+12 0 R
+14 0 R
+16 0 R
+18 0 R
+20 0 R
+22 0 R
+24 0 R
+26 0 R
+28 0 R
+30 0 R
+32 0 R
+34 0 R
+36 0 R
+]
+endobj
+8 0 obj
+<< /Type /Annot
+/Subtype /Link
+/Rect [ 102.0 559.666 148.664 547.666 ]
+/C [ 0 0 0 ]
+/Border [ 0 0 0 ]
+/A 9 0 R
+/H /I
+>>
+endobj
+10 0 obj
+<< /Type /Annot
+/Subtype /Link
+/Rect [ 102.0 541.466 157.316 529.466 ]
+/C [ 0 0 0 ]
+/Border [ 0 0 0 ]
+/A 11 0 R
+/H /I
+>>
+endobj
+12 0 obj
+<< /Type /Annot
+/Subtype /Link
+/Rect [ 102.0 523.266 175.988 511.266 ]
+/C [ 0 0 0 ]
+/Border [ 0 0 0 ]
+/A 13 0 R
+/H /I
+>>
+endobj
+14 0 obj
+<< /Type /Annot
+/Subtype /Link
+/Rect [ 102.0 505.066 178.292 493.066 ]
+/C [ 0 0 0 ]
+/Border [ 0 0 0 ]
+/A 15 0 R
+/H /I
+>>
+endobj
+16 0 obj
+<< /Type /Annot
+/Subtype /Link
+/Rect [ 102.0 486.866 192.344 474.866 ]
+/C [ 0 0 0 ]
+/Border [ 0 0 0 ]
+/A 17 0 R
+/H /I
+>>
+endobj
+18 0 obj
+<< /Type /Annot
+/Subtype /Link
+/Rect [ 108.0 468.666 231.848 456.666 ]
+/C [ 0 0 0 ]
+/Border [ 0 0 0 ]
+/A 19 0 R
+/H /I
+>>
+endobj
+20 0 obj
+<< /Type /Annot
+/Subtype /Link
+/Rect [ 102.0 450.466 215.636 438.466 ]
+/C [ 0 0 0 ]
+/Border [ 0 0 0 ]
+/A 21 0 R
+/H /I
+>>
+endobj
+22 0 obj
+<< /Type /Annot
+/Subtype /Link
+/Rect [ 102.0 432.266 163.976 420.266 ]
+/C [ 0 0 0 ]
+/Border [ 0 0 0 ]
+/A 23 0 R
+/H /I
+>>
+endobj
+24 0 obj
+<< /Type /Annot
+/Subtype /Link
+/Rect [ 102.0 414.066 190.304 402.066 ]
+/C [ 0 0 0 ]
+/Border [ 0 0 0 ]
+/A 25 0 R
+/H /I
+>>
+endobj
+26 0 obj
+<< /Type /Annot
+/Subtype /Link
+/Rect [ 102.0 395.866 157.988 383.866 ]
+/C [ 0 0 0 ]
+/Border [ 0 0 0 ]
+/A 27 0 R
+/H /I
+>>
+endobj
+28 0 obj
+<< /Type /Annot
+/Subtype /Link
+/Rect [ 102.0 377.666 137.668 365.666 ]
+/C [ 0 0 0 ]
+/Border [ 0 0 0 ]
+/A 29 0 R
+/H /I
+>>
+endobj
+30 0 obj
+<< /Type /Annot
+/Subtype /Link
+/Rect [ 102.0 359.466 222.976 347.466 ]
+/C [ 0 0 0 ]
+/Border [ 0 0 0 ]
+/A 31 0 R
+/H /I
+>>
+endobj
+32 0 obj
+<< /Type /Annot
+/Subtype /Link
+/Rect [ 102.0 341.266 258.004 329.266 ]
+/C [ 0 0 0 ]
+/Border [ 0 0 0 ]
+/A 33 0 R
+/H /I
+>>
+endobj
+34 0 obj
+<< /Type /Annot
+/Subtype /Link
+/Rect [ 102.0 323.066 166.336 311.066 ]
+/C [ 0 0 0 ]
+/Border [ 0 0 0 ]
+/A 35 0 R
+/H /I
+>>
+endobj
+36 0 obj
+<< /Type /Annot
+/Subtype /Link
+/Rect [ 102.0 304.866 228.652 292.866 ]
+/C [ 0 0 0 ]
+/Border [ 0 0 0 ]
+/A 37 0 R
+/H /I
+>>
+endobj
+38 0 obj
+<< /Length 2790 /Filter [ /ASCII85Decode /FlateDecode ]
+ >>
+stream
+Gat%%969,O'#*[5Y]AEb.[reW:X(KEM'kkp-J>Y&3UH)5+s@7I+'O8\id[R)8WhgC+Nrl)6*YuiI/S1HpqtSG_aEGYU$F^7gQgsg<kdV1TC8jEGSZ'clNa]d<'(&-kI^2RHPYl/msa_o6`n:RkC:e+0<61e<rWCj/c9lO#R6ul`j$3NYMU`(J4;MfeULUakVFI(B>^/04Qa7a1*$%qQYJ]<YHtAG<BEG(Z:)I:p&+hZT]^[/:b?Th=mb?!LK`\#[rjJ[3[G\d_PqFEM<mgBqg%iJcg1E]Y<PV/2KI9S,+fr@aPuPBC:BP@Cpa*07CAk[A\PkTl-mQ1\+fJ-!='".-q@H]A/c@IYNd]bBo^r@L@b)EZXRq<`XqRj93a,i8gj+q)mf27TQ!"PN=tF84:Zo^AXf5Hfe`(ORrn?uIjbM(i'l]*o?1:aJHM!Zp$8JA@&s3s(NkG+]b?ZEG_$i$5YD.iXWq[jY<Zu_gpW:!FC$%6PRi93amV9"o8;I..(QDJc5=+Lr<9XeCSZB6`2i_6P#j:B#h;d1Ff"[rh-Gc%>+#/(3a-b/jl`X-'dDNA1L@"?HVkcE7Cu%Y[Qn$D]ZBAQ.sG::>?N1<A9hkRUZb]JRTIQb\`CB&<isT1d@`IAj3]!^1PWk7A9'1VUs/llGMEan+5K%M?-d#umL09q\"dVs;Oji4(U:B;"RO?[_)c_f>Gs4G@lHAGXW9WZcOPpcH1QVnAq7%!l\=HH!jSGk2b8Bh@f10nACcN2+X_YUK>s.fL2_F:PRNFBN#KKg!pu6jJU@f,I,R8=]lr"C7Sifr9C\k(`?]ZlFr#YL(Lld'[j9_DEAm9$8l,o$/k*s)hJs""5J^,1BLTAZ-XQX"9Yma8=uq>FU;jOJ_^q^H8$R@aml&j*[K7_CRo4[N>T$oW6O,DG%[P;T;HQ8ald6X)JM`)ALnV,-+`geR:/>aV/b:U92,FU5TsDo>UN_Q!Y\gu$,=_!0DQFIZ')0Q
 &0UrMWi/W@"+Z(*6N\X4Zf_(/OK)g\iV6"cZF$P?M#\,Wi,oFi<!hRiC9d2O]"/HfrV;_(-V?!/G6#P+%hXJr)U;<[Gcu7gV]5?i]U7\XR&NYV"Aj&kS^tVF65HJd#Dr(Se3V^gG-92*%N4`pR?AOfs98@et)i&V48^6J90f3f%4NY8/YVQp6`Be+':,cG:8r2D]6!)XI0@28Mq<H6j@<WKc[X3)`^op[bb6k3V5=4Ln9#)+^MrNh.6Whb@!NJNq8mc=Hl/?@2G0/$2hQ:kT3q/tu[&F8qJco(4d=;k..P*$;T(MW0hf&a;+O'P&MGSeONeM8uacC'!,@t7e(I``r*?`B+6.Mg.4OA)*pYeF8673$E]r5gioXY*J*gT0>BF9FrEK<dti1;cb$qG^HK?Q_TYWEmHFVV5A(BI`tb80H9H;[[SiPQ'<KN*ggpm##dE&%DBOe"S<nOVQm6O%8c!m(lVIUaq?VB_%)K>^H;IJ7r@Fb1Np':`aI`,FR;,RT3EeO_eeiDdFk:L-Wr"qd4G18.[N+US!Y?,C4!knGitX%T#C/],r-2u*d>K])KDCUSB/]7StI!&CZ[j;F6QJo;!)UIk!"gVET:1L7gnKS]`)?Mo3OES"6j#'6Q8:O&g;0m#SCo\cV+3,Z!mH0eU]\Gn&L/i2%Jkm/PRB*3dX0.RDG,j+jX"Yq<2ToIDQO_ePohB=rr]YQ:"_K$)P+D$.#L^4]U6C%c4GeO=kgX4a\lZLF5GHYX<:f6_jljaR-ffT)Eh!GoQfJ'UL0H+XG68^S9MeoVVr,:MKJ`BHJn^fR(a[uRK(Dl,rYI1Z\RZt!VQ8grX>$"&O\(ic_jAMnY$6)$e!`//-<_]H;0lEAU?N)uVfG[*U-BPGhRX]1%GA:[C$A.aBs'PQK2Xo]h<-L=O9hX;qj=iVerYP:]!J7CWWZ1;#!$H3d5=#tBj.N0Yee(<$)^gTeWBC9++eJp-<XF<%YB:6^2V!!gA5e
 GpF1Z>58"/8s0(O./`UOm-78$=EEnPlUG29Fd8+cMPPF+<T@>bSlnE*8rj5iGK1Hn1#T*/4DgTX2S]uZemZ>5oCR5Le7Nm>R(^c?7E\Y^SKEcK]EMa7=tIp3=J1eW8EQ]^tOS>N(WeePZkNS&A=8sm?h[RA<kqGdtggQdt2efZj!lu7^!.Fi::,okY=D-'uKJ#VU$o7;?Ek8fD1JH/fbP^";Q*R'#0KWarfE1@[a+9fd@Tq?:2&%LfI8U$YM=Q1jO8E[S)Xe9OF`^fm.,%>Y`O6/iF3@6ge$$>J4$b>3"Io0T/k/fYgIM\sPei\SI&PncAqOL&@''EP/kl5uWph;MHD9LJ92'0`0#tF/=N\!]d+Wu4Hc5Ck*5`!?'hhq"$mBiKR&:p4kIDkuWs6&-&H),X$[Yp92K;X"6X3>0am*@,*RtXsRX#/o(eqJr"a&Kud>h:TSI125-)\KAr06i$UUQqG6lh`d8hHPg[dUtDV7k]qK6-e9dR[u/bAOaFhaW$Y&8:2-kQn'=pbr+seU&M>`"A/18L"YO,n*:,dB-V:#0<V1rN":p=;3:M(380EPOf#2i6?KoR]E8!"^mrm`Yrff6gu5))!gN)Y2>nkMcP#_F&i43&L)+N-s"Ss;Ql^WE*sT^sHoHHGo=`(:U@G"NkH[X.o%Ta#q>![C,1%T+"(rXcBeh11qfqiiS]6a[^,JFsk'32F&Y?lb(fKD8JWTcQ+1D#iI<]I6W9]9rdAR/C7K0q$>#4;2=KdM!pBR;Kojb[P:Lf/64F$p!cHh2[&f]Q^@F:^Lcs$&N*59/^#6Ze5"o~>
+endstream
+endobj
+39 0 obj
+<< /Type /Page
+/Parent 1 0 R
+/MediaBox [ 0 0 612 792 ]
+/Resources 3 0 R
+/Contents 38 0 R
+/Annots 40 0 R
+>>
+endobj
+40 0 obj
+[
+41 0 R
+42 0 R
+43 0 R
+44 0 R
+45 0 R
+]
+endobj
+41 0 obj
+<< /Type /Annot
+/Subtype /Link
+/Rect [ 264.636 616.466 302.628 604.466 ]
+/C [ 0 0 0 ]
+/Border [ 0 0 0 ]
+/A << /URI (http://hadoop.apache.org/)
+/S /URI >>
+/H /I
+>>
+endobj
+42 0 obj
+<< /Type /Annot
+/Subtype /Link
+/Rect [ 421.596 498.132 442.248 486.132 ]
+/C [ 0 0 0 ]
+/Border [ 0 0 0 ]
+/A << /URI (hdfs_design.html)
+/S /URI >>
+/H /I
+>>
+endobj
+43 0 obj
+<< /Type /Annot
+/Subtype /Link
+/Rect [ 498.96 484.932 538.284 472.932 ]
+/C [ 0 0 0 ]
+/Border [ 0 0 0 ]
+/A << /URI (images/hdfsarchitecture.gif)
+/S /URI >>
+/H /I
+>>
+endobj
+44 0 obj
+<< /Type /Annot
+/Subtype /Link
+/Rect [ 116.328 471.732 206.64 459.732 ]
+/C [ 0 0 0 ]
+/Border [ 0 0 0 ]
+/A << /URI (hdfs_design.html)
+/S /URI >>
+/H /I
+>>
+endobj
+45 0 obj
+<< /Type /Annot
+/Subtype /Link
+/Rect [ 108.0 367.332 169.98 355.332 ]
+/C [ 0 0 0 ]
+/Border [ 0 0 0 ]
+/A << /URI (mapred_tutorial.html)
+/S /URI >>
+/H /I
+>>
+endobj
+46 0 obj
+<< /Length 2430 /Filter [ /ASCII85Decode /FlateDecode ]
+ >>
+stream
+Gat=-99Yl(&AHJoTR="MQ.7)KhO>VW,DVNN>uqMU%N<^<:hB]#_OJfR:G]Xe+D,7l/oLbX^Uq8K(9d0b^Y`mWCoF[qs6hn'93`hQ6hosPmIaKCPLu#7fkrul?JfV&hZXL$nAF("j.;'3pdZ@i`[ta5P0ilm];+ulMf4OX0:dT_]0Cfq*2uC7(="ACepGLpn^=sW-fH_'R8#VIWhS/:o_Z]c=R]j-9KZoB]g;".>"E`s?)hY;n$ti\Rnf=-VC/oDf4qn"/#DfRJS90`?-?)\gTM^U^:SgM)`2Vpmh(&R6#!J6s/jpR=BBoQ.ZSU&VsBQtoLlSZA>T(1(9&(jj0bu(Y+m1^%D-"p/n%N`2Q!u!BiSbM5"tPHj@<'JXmTgGm#`P#9i`[\#>ru!2W'4e=8\lbs&NC0bAf4%9?m&`0DEr%U>"?ngN_Gi8L*4)qAu[ghrQ<=H%f^KTBjBee:_X<5k=Lkc:4s<C`FEe7ZU"KohCL=8j8'(E4iDRcQa*Y:JtFhnY=3+Y(c/o/0Q6oi,9GBTKujUfEuA\Ena3G3jEm2o,X&iF`06&X3q3rd3uYq:oV[J7^>C`'ZJ;(#*(+*EOFF$M6Pq@c`.>cQ55H8E9(X'/mYa198FN<$K^?gmPX1NHY:fm<<*lU,3K5_$:p>aiBcG4,Ru$]hRU$[nVN1Z40p,J7JjcN#=Ijp9kga)poO6:K6YBYJHrHpb$\1j,b.j4guR^DLnrP6]"$?GaKCQn6i_an$Wnm,V=Ppd74"`RO%,!1T]Dr3JsTaf;Vct4N"k1QHW$XdnaTcPX-";<`#aKh?)(a0$>K?K-jI;`#3/`\GYZVK4>b+s"n5;?:irA"oXkpMWGT16_k,u^Y)u?\Q[:guA@^+g3K;E7HUq6qatBSsYLRfQEDe3%8"ThI&0<8(:Xf`s\&iJ/:AF*^Z3l3g=N[MJKArlXfio817tolUOeo:maH$uIpF^d82=GnC5kPTl`%\iA,`H(\I9[k
 u-O-3;=DfXjp,%2"4Yc/S-\J9]0An_kDX/VRMlkCVno0XFLD,]QX$/Wo(`/(oacWKV]R7Aqq`YE10'f>/aJFBCm<%s)K]LtZ<35e;hht#.PBGd?UK5qLmG2FS1fc`l^B0@!b=$HC\([2$487Ae.#jigFWf+)B)!`Y*`2$B_9m55jU_N05Ue"$0JY9^4c].(@p:g+,?ielBiKC?lSg51c&BZ,*U)FS)J*TpS;A8)$B:7Ygu\E&SlA-9;49;N@B#S],T//haU5(So0"/40EgVp99\IH!;g=E0U)/qlh]c?H;N]ME8AUK5-kuKm>O3kJfO@o,8("O)NJEX%Ouh:f\A^7ArG,I+%iH_WD=]XlX(%-d7B4Dc_k6D[Q^4?KgKLf27j-o7pHI,=l!SP23]oK-1q8,*iJmR^ifkf]nhhZnBA5j:R1GYa0\5Bp+!'p&]g-Rhd/L(Wh'`R7i6H-#:M(2Y^Rc9H;biFO;7(sPNOY5,k1l8Yg="In1I"-O!_+2136]j;?.?LaPrgsjqU@NB<"u)WlVp_jMu@AGk)sEk#j<*Wf)X8[db'FA'P/<S6u=\1uE:l1i7;2e$;Dk<PQ'h<)_D6e7u+)H@*urPNTJ%oOCgtD-gNj##V)KAWiLbYM)p21N;Hn[d;>.g2Lcj)jW/j%j]>;o`jG;hEIJ":R_K3ct[)1Pi'bHKMg`+Ah%hp6\a@+gK/Ec70s8*&Ucl5[N:DaYY8^?WIbQIAQh?M0/DIJ"Bg$fX0FS%)q\)t@mON4Bc%I)Vu%H#X'0U^)QD+"/lo<-0[<9cCf"2/&%p[NhE\k(j=s`9Q%>le:03m_fgLQMZ[-jDm]BLp*We"t,ucJEp3c3u*`s7-79qIif]L5%b.r>LQA!J7Hlo#Q,(G-gYHfCE&)J.K]nC`%"60-m!;CIi4!\$2>=[89GPFb-_fK%aANRk8<M#g3.H^LMcJUS2iT5Vq_=^iR],8lL/OdKO@'kkWNFNS1MG3Odk@V
 ^4i56[#kDm^tfjjQ8oaHsCDXI9_9(Z%FmZ\qQ>7V$R'Tc]6D!\ccm)c"MN&6($QR.s(G`*M:a%\CH+W#K_.k$]Ul8&pE+XOioFCWghR5UDX\SWPL$*(k#n+nq\h6W'B_a#XL':OQ!(:';?/Y>#VN2)$=(JTsOShO%QL>Jgsb!RJ%V>*e*c[R0RF"'#hDQp6CZUY[4UDh3iPc//iEFaPU0_AqT.i?IJ<;8FcNJ.I,@jXL+`o:MK[gE%TZAgk!ADQ$p&HF[/>W@^";:L%4@OGPAm_AInA)i499g1VB5BGV(#Yj-26j#]dKEWqkmfn0:<co%I`)3__Vg]!p7<uril?70!jafkI#11uN!0Ac@**<q)l^Q-<kijk[+&9Y.g-gI5$0ZKO?n7i:qQZm/GuaGMhqt0SS)'9P<E!M-nf`gj6b)RH,[6shEB6Z/i<pY"5B.DS&H~>
+endstream
+endobj
+47 0 obj
+<< /Type /Page
+/Parent 1 0 R
+/MediaBox [ 0 0 612 792 ]
+/Resources 3 0 R
+/Contents 46 0 R
+/Annots 48 0 R
+>>
+endobj
+48 0 obj
+[
+49 0 R
+50 0 R
+]
+endobj
+49 0 obj
+<< /Type /Annot
+/Subtype /Link
+/Rect [ 108.0 547.666 198.984 535.666 ]
+/C [ 0 0 0 ]
+/Border [ 0 0 0 ]
+/A << /URI (quickstart.html)
+/S /URI >>
+/H /I
+>>
+endobj
+50 0 obj
+<< /Type /Annot
+/Subtype /Link
+/Rect [ 108.0 534.466 213.996 522.466 ]
+/C [ 0 0 0 ]
+/Border [ 0 0 0 ]
+/A << /URI (cluster_setup.html)
+/S /URI >>
+/H /I
+>>
+endobj
+51 0 obj
+<< /Length 2547 /Filter [ /ASCII85Decode /FlateDecode ]
+ >>
+stream
+Gat=-968iG&AJ$CnCD-IAk;FIS(fbkH`5EISK@&;?j`,PiN")87K)mbn:_$7:i[nH7"DMWm^MZ8O,l4a5Ml<bj'$g)qsc"QCrZn#&H;>)q>&SPm*HBhHG94Rk/Z)FIeP"m>QS7pAiEI\jM2khEh-<1#,*%u^@bT1J%o]2`enNOhHKq]O1ta-0N67rJS0>JfBMXi^c`nZq"'?5`8g)06@tUJ3IbJqbP,h&])O\K--c78m*Bu2kU(e4KJq5WIs>bbOrg&N!lTFoNS:<7Hf7t[G+NFEV5r.Xb1,VJ^sjRQ];B.+D%o-Gdq[J@?LH?)VbK8D]o^`bCbkP7%0A"E,Koa]!"G+4%_Qa'$>oI["&#\88&\&:rC./q.]o:H:Cnm3$,al6gs?31YlUE54O?NJ*Cg2BlB1>aVQBuU)@VO:4JaX59!mDT#(/4uZfVB%(M]!T6Ai"L&C@ee=h/%Sod:;N$*:dEGYmf[Zo3^]&j%(%IsSG0c&$'\8Z81m45Ml"/k2![R]!Vca+#+3\LQ!q&u]IUBO1SM>4<;S#2PtoTAG'Bcu*PP:nkff6+l]=mb&5dBsie]*s#1`eqD>;nNJ0s!V%<O`=&VF($6mP5G"P0::%K/1S1*mV4I*\4-9W=/ClGdW6ka"AIrT53f)f*Ws1.Q7,%[;2)0Rp]YtpnZK%2g`?)=e-5lf*3A)i(na&fAOXa8kZWktH#B>,R^,4iT&d?NWLp!00_[;!I[tf)>AOYFHN5.*NIc+dp?n0M#X'fCtb[gr3aF#/Y`4:ho&,,#H6jfgA.+:OQ4PP-MN6s*Nk_CiDF+hssRIqIQ7$SKT;:;PW*')oJTj(h?c<<4C30Z\^7]EiX"o`C&)D5nEo<l8HD,)j!ZFdCD[mH-5*,D'U)+tRn\3B+`'N[W;E=tB1FCiS.C6<dm2L_olpfcM$dP":P,j!l*Zld>0d!Wd"[lLW8ba(I$f.;Ng(1ju7)gF#kg*!4P2E?cp$Y+=#h/*U
 cM6#&kYqj9?4Z[P7q='!FL:E.af/9,E\`hCo#2=f/-t@jokg"dW#@911-q_-=?e#4n?E`l5%U/'oiBTm:''Bs<$7Lr)SV$gpEN#7U93cWHKBHqW2H4`oZ,:HFRqp!+Ag\N1U^!$ZY/gebB8UTip5;r'3uG+;T2-EBQ9[Y*gebW_R@!C=>AeXf@lK1&d-D:q%Mn+p*$rpud@-n.6t98ookn:^c]1/_]`j4'mg:OSiDt[M+S8We5GlHf^;P3sBP,=N&L"R\_4G@9_'F`>%IkS,-'HrQig(/Oh\C!a(ON.ud`\.$D3<9^I"/q?[R(@j+6a*@JSb:+S^S:jhj$<VE^YgjWMg`!M+`k$h4j@2/O:.@<N_ar#DK'7M$`9iK8g(>1Yk?Ae>a[^0smZoil9?+Bm%m+hR$GuTG$Oso@H:OE"X[\U4:p"=o0AL!5>WEqOCXOQRt;lTbE`E#`\+`Tm9J^.\o@@]+YW;DG8Q.;iB.DBLj(5Bj*BJ'JN)MoG3]ckKt6=<0eO+h=3gc5,kK[!4l2moZTSMebnSr-qG[fdmI+mRVGl_e6j&DV+g3FJ[f,]$#phgC"^9];&P'oNX3"Vo>@D-P=NJR4J0rg<m'?L![B.g$(B1?cI:7Ri3Ed-amU.A"G;^iV$:G&$e/LR>'7/+Alekt?>a6LQ7ZWc(Ft+fcUDhS]=hkUiXh1sM4M:S0b3d=hjA,Te'rDaYut=[WtmU'\Y+@aRb=W5#bR(`;]Jr0:;$5e[":;p;2!(L<j2SE6^9;A]<%%6lg'YueKHC(&9@f1f"Y?K0=0u0:*AYH[1gc]^1L8UP=T!(CRPSN'gri&QSrrd1Kh$W=:)A)bIdXoO<EG&!6Sl$qHteVe#/7]a:AY+g+&o4[HPG=@++CBRni%SDdrKiB,G"k?/G-UT/mZD>8/_oY5-p"kuPo^bJFu^QF=G`d#*dbX#th8c8I,K(=`fEOJNeZ$B<1(,"NH*"YZRD!rsgEEJ6!2Q8C
 i)LMpP<a'QhR$ak_?SdT[EU<6R$"b<m5iI8n=QD!"V%\`O;(4qQeIYVgrGM6.h"%T"r`DGfu*bLM]qW">n,:=s<5OF_uTWeJ6@Y,9>41XJ*E=c8ClXB!k7U!(+<'<>"J^F8krknLRrr"I"F?EfgNq1^Qhi3%!RqUR)oWZQ9X7EcL?pd<DNX]"i%LB2?Hun)R7\KPi`5ALbp\4ESDr!)i/!?l5&BVoBdg]\DN/,k:DEYDCHZt-`Z=H[>lpE):;%h2>LIKhn)Wl@ap8?L9nPh.H>)RC]-b??.<)&BmcW'U9+_\DF2#c[OPT2H33_Ntj@\-6.[6[-$,&I[2QF"B-ZAb\@,dp3tJ!*'nf_@/*@b]LI'Rm7Q#jg4ja_2eQ3Y>J<'GB`V)#!+bT?Z;co>\heUTl-67u]Ql*<i3)*Ld10T@p#9GKH!>/2-^u`4+c?AE`VEgRMXBO[Q?.5RG_$,!Wk-Z3PrOKRj;mlk4NPlDLXGM(,Vr1(cmb%U?CcNYADB3:Ih%GI@'K[=5'[p,Eu5Yk+RRb$CXiCdaTPC=0fPTJ\QEi^HiaJDL6D4f1I~>
+endstream
+endobj
+52 0 obj
+<< /Type /Page
+/Parent 1 0 R
+/MediaBox [ 0 0 612 792 ]
+/Resources 3 0 R
+/Contents 51 0 R
+/Annots 53 0 R
+>>
+endobj
+53 0 obj
+[
+54 0 R
+57 0 R
+]
+endobj
+54 0 obj
+<< /Type /Annot
+/Subtype /Link
+/Rect [ 488.7 206.132 510.708 194.132 ]
+/C [ 0 0 0 ]
+/Border [ 0 0 0 ]
+/A 56 0 R
+/H /I
+>>
+endobj
+55 0 obj
+<<
+/Type /FileSpec
+/F (http://issues.apache.org/jira/secure/attachment/12368261/RebalanceDesign6.pdf)
+>>
+endobj
+56 0 obj
+<<
+/S /GoToR
+/F 55 0 R
+/D [ 0 /XYZ null null null ] 
+>>
+endobj
+57 0 obj
+<< /Type /Annot
+/Subtype /Link
+/Rect [ 145.32 192.932 223.308 180.932 ]
+/C [ 0 0 0 ]
+/Border [ 0 0 0 ]
+/A << /URI (http://issues.apache.org/jira/browse/HADOOP-1652)
+/S /URI >>
+/H /I
+>>
+endobj
+58 0 obj
+<< /Length 3018 /Filter [ /ASCII85Decode /FlateDecode ]
+ >>
+stream
+Gat%&968lJ%_hgAkiPQ=bio#X>I%Q_1K?N#*BUZaboYLMe]issp?:HVn#p*^%7k$a;lQQrh'*,T^kWG.5!@a"j6>]e)ok"Vhp46<c"nm=6ho7DqTj@WaF($(f&>au2kQ[Z5!/t6j2)=&q2INgZJgjSN=1B#Kskn_Q.CHA<@S[,:Y)'uaE_ulm:h!3ebZg>M=mS$-$lS:q?&<9ilWlBi_!4G<Nr[.q4S@E%uth77!hcgP2+VNcXj\:_:)RFNBtTkX+mb&5D/2">#2nLSDeh=T:Ng)9X[hB*I\/ZHP^*:,^*:jf$EN2VcWt>/nE,Pb:6j`*t!_8L,U]rU6XnNCWlRAWuCfG4P/k$AE[Y9!josn2KNM@>?-KJ=/eGKqSG%bcKfNp>*F<^U2*q`o\`k$/(q]][An-63N!KOn8a\?:^l'+GR0WqSMg'Q#Jr9ob)RW'XU0/dHm`<YkL)4-Kb?D_K.']Ag`3'.>>E-'`ET6DF[m.iWN'uam(cd;0[ICt@o,tD-9GdE04CPM`FjJ6VKc`J>0Cu6`EFogR(Er\%e8F(61Pd=j=FN%XKt>>H`qRImBLom:2l`Ue@g!+R=]%_4jKWm5WD%8U"<itIE"Nlj+J^e9GQjq7:t/AkLqJ/2li&75%9MK9NptjBmEQlNgr%&=(4jR<t+duBY/J+!<4[=4N=;U9<Z,b1?=93HnKZu@JJqap1c8p!F6.]f@W1`Bc\tta;JHBC,MGmrVkK]nY&teZ#9ebA3JY4Q64-u8DN<r_Qm;a7+T>'*)"qk\is;5QHrI5ZbG9\9Uk$.k6$MKipj(^D'<^aVEKGX>3itU#?s80gLZrm_V=%"1Ss2$54]m7kAT3da!q8[q;pZ8Dng_6$PQTOcFOBe_3QL1/B=Yc52,(Q/:r;)[hBGoO$"6?OL)!QKNeRcbeVsh]5ZPe`<LWSGB<q!8)o?u>qL%16gE/LQTA)Xp/SOt4>VOZ/dp(>5k-:[n.rc:X7BGNM4dN
 f+]11:ABBnlC69Br"0WWKaLI9AjX:H!4sInCVV.eYBDk]&22+(ho.d@]M4:jt-ZC%@:U2TX[O*JdnWn)!+iYQG1odG-8[NeO1q;*Jf]!`<dH=3^m4*g=3nL)G:oegqL=&Dp=qYR;\Er&0-SYuV2f+ar:UIc%4HekjRH$^fG_S$gIffLm"*pK*'0=$JWmI3j8rW?<>QKnuBT%`i#L&h,?(b=:V_]IS"V&EV?)Tf5`'V%m(/jaY@5-UW?MaHnL+^8H&sH<@IeURmIM>L$W`DH/7Yf"R&bG?a<VY1/#U=\Y,Q2Z_n>JL$aCXe8l#c:\0bY>1prce@qPt",j&BBR&*]`:6PA_3;sgk-S`?oR/k;OJljJs[V"W(uP3tVYa9^Q-Xc^'Ee?oW=*t4iUeJd4m&4]l'O?sd#F*t9CFE6HMoYaf0dhNadV`!$9().cm]aaQfgEZ^a_*bZ`R'%<)hV9E1mL\\te(]MV5+LaN/[WPhad]!q>/.V;'tCqXAq5(c<.(^g''^@`g?uKZFRBYXb&)iPH`3]t4&5'm-O_@gH0!gf3,()f`F5e;>Yj(_6\^mo^h<G3YmI*<^=&02hanTVGlpJf\ZB2N$?(\M`\77Xh^^Ou(]Zut1u/:<4Q*EW'DDK)6<ENZGl;)A1N<\7.-E'u[AX[SO1G8nhg^.Mr?k=D?jaIpOC5H1c9OO#q6B=IDZbDk9n-iBL42o_^"?ot[.=t0N$IK!Kme8U`137adKFL"F3e-\.gbCSC<reEo&f5i_#^`#RjCuKl+n1I%m9J-"f7h2W33t(!\r:,V[uiX7:Y8'da685j0^*<`AQAJf)h!ZZh>W_,@ok?X$\%&j,e5XpJ>;T)ls_^K6/Q3L2=;pARmBjHg$$SX"oVd1I'B5I@bA\*R_+]IB*_N6YQ44CHdac3GS6-BNZ$`AKfeEK.RhraKr=S_60P$E#2\Z=@0%Q>,9k$T]\e+?/[ot_KDl]alna='%):n4Y\Y^01.
 %X[):Oq)?W-q6X>hSB2PE1)`8($aBOfDO<9nrXE"gY\#'7k7`L,bC^-][8`4%'>!dA2Rc<T*JPOG]($"up?MVs4pN]DJ`XG/n*nts%[R$UDl&+49IfD:KPc5n=S5f#NK2663V*1<F4$ZBd#LO[beT0b@2Y4h2.T[+7K(BR0hD@Fn>nt>0?R]YOR<*[42\rbZcVn'jePA6Xh*rTKhJUh$1UmjA*dUk=_#$$D)kinr*f\=s$ch=D;?Mb2's"Zm3ag$Cf*b\?qk0c;'A9N$W%C&PGed,C9;&APB>>d5oou%mFX2SM19ob_5+nn.Du;^,,"Ulc_W4%*+!=$_Y3Rim2E-iEJ9Uc:"g8;*`Wn_0L*NZsFk>48=lLo"M%LeC^Yth60&k[C0P\gX$DeYL:pD*&Bs/I\)]7o-LI.(,=Q)mS3hb8dLT%K<=E"T!'ZbZJ@]$Vi7N7triIVFfE($</jB<842'&C9CaTOW4dum.h[lu#8D=3]ohd!EP(gVGjjshUYJ^#p[N:@DNI^=RK'%Cf3j$B;G2\)Tj/S9+cAi1#OCi^$)ZRhFMQ#>HeMdV7GJCBqQ@5AshpaT.OiKd:W(u[fW!8e5380APjdWa7+KSI_en@#!DUWMD>i0cZ,1qeB`aQ8P`6pe$99I(-q*SmL4'&'=?"905l>bgN;\PO3aF?YB@iaGlE(]j]E>'[t$HWq$g8@YYNX#U8!>eT8GZ7!HHGs'P$<shi3Em_7)_(TV2dAia>HTbO-O<R,g5h\C#p#-*TD1lb:CA6UZ5\(9[erP]GuP<ieDaYh*&eLOP%$D"3VVoqef*FMCW\:*U!ZS'7P7:4[M\(/1%TVe/93l8\B-RI=9(@==;$=jokoZ:jnW+:ioBUKk>#nNp,Gr>a,X799T7A2DUA!oI--?I<h70AEAVD$FW/+K>6W(``uY`rZIOs4!8fU;!DC;FML@2&)+FL0SR6,W4:O:``P#cq]7I:P\[EN\:X^JI%j0-rQ0
 \;ELfi[3c%CV6IGc1U/K5)Hpb;'jTP":CHkso$&fgXq$YRa`~>
+endstream
+endobj
+59 0 obj
+<< /Type /Page
+/Parent 1 0 R
+/MediaBox [ 0 0 612 792 ]
+/Resources 3 0 R
+/Contents 58 0 R
+/Annots 60 0 R
+>>
+endobj
+60 0 obj
+[
+61 0 R
+64 0 R
+65 0 R
+66 0 R
+]
+endobj
+61 0 obj
+<< /Type /Annot
+/Subtype /Link
+/Rect [ 466.584 598.8 488.592 586.8 ]
+/C [ 0 0 0 ]
+/Border [ 0 0 0 ]
+/A 63 0 R
+/H /I
+>>
+endobj
+62 0 obj
+<<
+/Type /FileSpec
+/F (http://issues.apache.org/jira/secure/attachment/12345251/Rack_aware_HDFS_proposal.pdf)
+>>
+endobj
+63 0 obj
+<<
+/S /GoToR
+/F 62 0 R
+/D [ 0 /XYZ null null null ] 
+>>
+endobj
+64 0 obj
+<< /Type /Annot
+/Subtype /Link
+/Rect [ 102.336 585.6 174.324 573.6 ]
+/C [ 0 0 0 ]
+/Border [ 0 0 0 ]
+/A << /URI (http://issues.apache.org/jira/browse/HADOOP-692)
+/S /URI >>
+/H /I
+>>
+endobj
+65 0 obj
+<< /Type /Annot
+/Subtype /Link
+/Rect [ 299.292 427.666 392.892 415.666 ]
+/C [ 0 0 0 ]
+/Border [ 0 0 0 ]
+/A << /URI (http://hadoop.apache.org/core/docs/current/api/org/apache/hadoop/dfs/NameNode.html#setSafeMode(org.apache.hadoop.dfs.FSConstants.SafeModeAction))
+/S /URI >>
+/H /I
+>>
+endobj
+66 0 obj
+<< /Type /Annot
+/Subtype /Link
+/Rect [ 273.636 190.998 336.624 178.998 ]
+/C [ 0 0 0 ]
+/Border [ 0 0 0 ]
+/A << /URI (http://wiki.apache.org/hadoop/Hadoop%20Upgrade)
+/S /URI >>
+/H /I
+>>
+endobj
+67 0 obj
+<< /Length 2883 /Filter [ /ASCII85Decode /FlateDecode ]
+ >>
+stream
+Gatm>h/h=/&qBX__8g(5Ak@NFI7r"0g>95[@s@cg^'@2^,b-<8"j&1<?[k`=CB9$OgptNd,LG67h;@WerpY1(O2ma)DL?(-5G)gkch3eVMW"LWCd6hR@I+UsEG'@aqoso:S+#cma!^AGa5)`!VXiZ;mrXe&jSDI+4<C&C^Nh"KI-^^NH2JP9_NALSn@bWqLqK>="5c\hh`A7-/Gi.?mM3o5Z(E*9a>,3fl!2>9I:A)K)^Rp/8L1!I7!)9f;6X;Qj!tI7ik&p#PDS*@\it)7/1[UDr2Zc2:%&PG4u]<"MG%UAJhV:<Pj%\D?,a+E.!dqlG6)i=iQ^-&=o;UJ^#E#qU*Hj_;9eC'=tu8[+Aq=1`R`O$c_lucK'BMaS#YUcH;JRP<Tn"Ngqd(O(!s`*>>JXdL4EhcL'2M[VOg(5q:qSSF@f,'2h#&\;U6Wks+_NUj17`_O\LT>E^YaY;fh<2drbB%<@&mtK\VuLE7m38El6KHkJs_a)#(Qi(2R4,oH`_>9!/h`0I;9&CWPGA9MGUJ2<eXSCU0ShX@T4Q\7&!O%NA8m#?@M`>GsKi3_Zr&Khe=[iV<'=Eb%;tdapnl.$?m50=%VFRA#>6(<710(GkV-eMF5Qs#-5pe/W\1j);o&?]tp`rc%U^n,flPb+]Ld^h0HZTL%]($o\s7$c-a+1-WB3Z54NX`[]a-7>D;gC1ch/Z?oE6>d62dT&.31][=1sWsebt62p^\f%S:U\[Er%OY:[B"\D[:J&JSq+-FP\cahne1c[X[o4gk5Esom*g)/)fAip\X1$_0cXAW;uS3AIKOA>iuTC$el_$%MQa`(;'-+qB&bmKm/l=+1V5k$hU$q#LorL]BG"C)9^/)*7%Dj*]e"d-8MK`+'Y;OJbI4YjdY4-ISsTQHLVqL1Y2rBK$TB.=^biYAT?:mhFl"&+s\_QVM#lVM*RaZS22gN=61c0K5c9AM!eFS5:7K"K/NDL%O>/0&Y6M&egbA8dR
 F$q-lYI:,)RE!PJgSaO$LMQ.+P[1LCa^29+5?[@S#4Wsh'JR)^:']N.6]I;!`lH%]MNB7:c9g"k>V,]fd:/K/D?S'_;mKf(;MOZ-mMcY_b1:8]K7*U7i^q@j\eGtk)'=9j]>H$bFcc%[Qr%Co(?W"<s2G3M6c<h-U=(=d;OHP6]oo_DP"_E.BZ]PSuFIEQ+XZ)/ZQJ:eD+f;aC=*EXV"P^>f!W=nCRF[kY('[*]9/TRH;dsT*h,bAb&/N2PirB\@-Q65]:#4_qm*TWXRaB*KPJG?UkZQ%DZn.ea$boc?i,q+.+l>-7&Ju\"9V6`+-#:&V\X!sibPoW6L+A+0Y8O>FGtEkt'>2tt(LmTgk-p?%C7jt,6#U,4=AeJ$M\k?3-6BNFd_d"m6$_+gS8Fo7<tL;00WS,-hJE64#M23V%9(k#5h3N!fFEUmg.AW(*do-1E'iJP<$,XLJU\JV8Xj,5p2sP"T0G=p'_")A!mihh[t#\K1j.8$)P?(#GV>#HPOm.(gf(8e1UXNN$aTS7T%^1B_omXF;c"u*=r0>7&Xb2CUSQ6<(KjEJ"p:hN9P8eD9i]rV3k"8>*2XM4o1C(7*eAS<df=MoI0*>o<et\WW`^=G1LB2Vjc#U.3,>12mH;@qL2%`>%STM[6or@rXo:?8*iufeg)LX3p>Tr&C16t=AW8)7,<neShIU%2[-(/t0ZRPa)d#q9`0"KZeI317]DN?C@E\c9T?J/LIRAtmcG*Tm$>S/oTTQQQgV=X[@=)iLq.?E@DUCEkCT/o2U0%ggcc[3C=H)tuQO_$iFI`lc\umVlg!o?]R^#okY=9oM&ZlilEX;Ef+Hl78CN=4:,Uo9VH7OoEfJgrd?J;f<[[:*TW;3Kg]aVl/#SRM9r>s*p86qCAn]=crh".0HQo:.BaCqD>lVcms,*N3&gJo#a[Nd6Lp[8"K('(3<S\J?C7:F&QZetBB3l2O%31Y#5+m:WX.bLSWXOEig#k4q=:RJ
 aXTo^B[hrAno8q=5B1XG_#pBS6G>*XDF(PW\<G]&rsj3Rj+:NXk.63sZ*_l33P^mM*^H2C&^JZC26?=_Zh=QhqY0-qf%mfj[UPS2V$6t(N`W/X<e+TCOigL>gV'Hd[ti!7=6:o;Y.^#U_?&;FP9KjuCSM6e2&Xj+b0cpq[e%8+n;dme5m$]j=gUtb;4/fF$4aZPn;c*M#Ag#KG=0"XU;M_P/<o8Hgrhd<s2o)T69KZl('9P!F+J,FtiVuJ!+*XlD++iBK]0&a+?JEsu].X5p[._(r<=q-X;%H]2SP=;"OFG7W2lpuu`4ccObATb^0..L@Bbo#[5+!Hu&o52ug<<l-ll2;LRB5N0DER,<3qu+B>BADn=h*N2lgV-r8/Dh@Q]_V51c_]5@A!EST'd[AijDQATN)n^!OqDDiXD>&-N"ZTONE99,Z4ZF"Vg&uC)#J;4Ii$*!:<DM,YaU*p$+,:6K#U"^rVE;?g7Zjg:'\$mTY9is9D\r+@p:OmXINX,j,L?Ag=Ktpj#45]*`cJ7I08j@mohj&n,5-pCZS'34>mAE6^OhsJ=Z]9C4NcbQUm@6oA?X'!;11*'^=)nHuZ(FES[IXNM`9d>Dunfo#IZ,c!DgQ^2Q>lf=;6!;D/o[>dG2>>`da5@>0GME_3JYVA2eV"j^=JK*;:"7):X6;;[KKl21JZ-X0(X=J@aPL_2"S"77TOLjdH,L5FP1WHgSW?Lu)IJMFdkNQ:W4rU`08pse7&p>*HP]m]*AES-?/YR-$Ni4YWZ'$AQLo\8j,WKRO(&uW8:+__OoaS5NtE"`ih+\qJ;O>@4aBT>:H4'!G7q4bh,E/'mm9g2+qd%=(OoA]#aDp@+sIEAqmr6YK&eF_fs2FTM)BM[48<d0>*ljB:DGk)6gckcODWPda:~>
+endstream
+endobj
+68 0 obj
+<< /Type /Page
+/Parent 1 0 R
+/MediaBox [ 0 0 612 792 ]
+/Resources 3 0 R
+/Contents 67 0 R
+/Annots 69 0 R
+>>
+endobj
+69 0 obj
+[
+70 0 R
+71 0 R
+72 0 R
+73 0 R
+74 0 R
+75 0 R
+]
+endobj
+70 0 obj
+<< /Type /Annot
+/Subtype /Link
+/Rect [ 377.964 367.332 474.948 355.332 ]
+/C [ 0 0 0 ]
+/Border [ 0 0 0 ]
+/A << /URI (http://wiki.apache.org/hadoop/PoweredBy)
+/S /URI >>
+/H /I
+>>
+endobj
+71 0 obj
+<< /Type /Annot
+/Subtype /Link
+/Rect [ 315.3 301.332 380.292 289.332 ]
+/C [ 0 0 0 ]
+/Border [ 0 0 0 ]
+/A << /URI (http://wiki.apache.org/hadoop/FAQ)
+/S /URI >>
+/H /I
+>>
+endobj
+72 0 obj
+<< /Type /Annot
+/Subtype /Link
+/Rect [ 108.0 192.198 204.648 180.198 ]
+/C [ 0 0 0 ]
+/Border [ 0 0 0 ]
+/A << /URI (http://hadoop.apache.org/)
+/S /URI >>
+/H /I
+>>
+endobj
+73 0 obj
+<< /Type /Annot
+/Subtype /Link
+/Rect [ 108.0 178.998 172.992 166.998 ]
+/C [ 0 0 0 ]
+/Border [ 0 0 0 ]
+/A << /URI (http://wiki.apache.org/hadoop/FrontPage)
+/S /URI >>
+/H /I
+>>
+endobj
+74 0 obj
+<< /Type /Annot
+/Subtype /Link
+/Rect [ 108.0 152.598 132.0 140.598 ]
+/C [ 0 0 0 ]
+/Border [ 0 0 0 ]
+/A << /URI (http://wiki.apache.org/hadoop/FAQ)
+/S /URI >>
+/H /I
+>>
+endobj
+75 0 obj
+<< /Type /Annot
+/Subtype /Link
+/Rect [ 148.992 139.398 212.64 127.398 ]
+/C [ 0 0 0 ]
+/Border [ 0 0 0 ]
+/A << /URI (http://hadoop.apache.org/core/docs/current/api/)
+/S /URI >>
+/H /I
+>>
+endobj
+76 0 obj
+<< /Length 637 /Filter [ /ASCII85Decode /FlateDecode ]
+ >>
+stream
+Gat$t_2b!=&A@ZM5%Y=n[>g0>[r/fL>I@A`d*qD(S7',FM,OYbgV9oo"?W)fV$[CfNHq*SDeAG.kWY&V7g)i[[u<'N(aVc5hMe*+cP_K@=bYGSO6A3WDANEfl43A?_EA4;LS04>'-J_kq%c-;*\$20kR$?X*/RIe1P+J+A0cD1I$01<q\qAiIHoLhK<cPHPIf/Rap5ZG6gN.30iq`-O95AcU56)lP/J[+^g*TcMDG`)UJmsS(fE!51Kk56Nau@f8aLOjTQXhHRWhNdK5@1F?960@gsc[iX[Y1A76Y^1$VV=u.uOU-)27GW4EY,dq>U8XIH,uUV!OPg;TMV=6JBHGb1iVgH(dj`2(cIWRl>B.KFQIcf7<>9kFbn&[qWE?*IMC7[44=]B,doGXYr6_1r0E$'D=UPC$TiFY?Zo=d',W<F]Mg\3(g75\d=)4UDpgDbVtER'\HEX"Gq]Vm.DV3!LZJ,RXJGB0(=.rVnfUeKt88`C=l%."UI:EUoT*>p9F8epb+WFK2deE^<9,SU_5sF"HU_7.2@dHo1IeiA-kaTF+ob8WXi_Aa6K\mbnha7h+VkK&]IjsPh4'1p\f,W]J='q/8Yr$Qu6!t4b8.71`l;"%fo_V`hP$!)tt.U3ueV~>
+endstream
+endobj
+77 0 obj
+<< /Type /Page
+/Parent 1 0 R
+/MediaBox [ 0 0 612 792 ]
+/Resources 3 0 R
+/Contents 76 0 R
+/Annots 78 0 R
+>>
+endobj
+78 0 obj
+[
+79 0 R
+]
+endobj
+79 0 obj
+<< /Type /Annot
+/Subtype /Link
+/Rect [ 243.66 664.8 395.592 652.8 ]
+/C [ 0 0 0 ]
+/Border [ 0 0 0 ]
+/A << /URI (mailto:core-user@hadoop.apache.org)
+/S /URI >>
+/H /I
+>>
+endobj
+81 0 obj
+<<
+ /Title (\376\377\0\61\0\40\0\120\0\165\0\162\0\160\0\157\0\163\0\145)
+ /Parent 80 0 R
+ /Next 82 0 R
+ /A 9 0 R
+>> endobj
+82 0 obj
+<<
+ /Title (\376\377\0\62\0\40\0\117\0\166\0\145\0\162\0\166\0\151\0\145\0\167)
+ /Parent 80 0 R
+ /Prev 81 0 R
+ /Next 83 0 R
+ /A 11 0 R
+>> endobj
+83 0 obj
+<<
+ /Title (\376\377\0\63\0\40\0\120\0\162\0\145\0\55\0\162\0\145\0\161\0\165\0\151\0\163\0\151\0\164\0\145\0\163)
+ /Parent 80 0 R
+ /Prev 82 0 R
+ /Next 84 0 R
+ /A 13 0 R
+>> endobj
+84 0 obj
+<<
+ /Title (\376\377\0\64\0\40\0\127\0\145\0\142\0\40\0\111\0\156\0\164\0\145\0\162\0\146\0\141\0\143\0\145)
+ /Parent 80 0 R
+ /Prev 83 0 R
+ /Next 85 0 R
+ /A 15 0 R
+>> endobj
+85 0 obj
+<<
+ /Title (\376\377\0\65\0\40\0\123\0\150\0\145\0\154\0\154\0\40\0\103\0\157\0\155\0\155\0\141\0\156\0\144\0\163)
+ /Parent 80 0 R
+ /First 86 0 R
+ /Last 86 0 R
+ /Prev 84 0 R
+ /Next 87 0 R
+ /Count -1
+ /A 17 0 R
+>> endobj
+86 0 obj
+<<
+ /Title (\376\377\0\65\0\56\0\61\0\40\0\104\0\106\0\123\0\101\0\144\0\155\0\151\0\156\0\40\0\103\0\157\0\155\0\155\0\141\0\156\0\144)
+ /Parent 85 0 R
+ /A 19 0 R
+>> endobj
+87 0 obj
+<<
+ /Title (\376\377\0\66\0\40\0\123\0\145\0\143\0\157\0\156\0\144\0\141\0\162\0\171\0\40\0\116\0\141\0\155\0\145\0\156\0\157\0\144\0\145)
+ /Parent 80 0 R
+ /Prev 85 0 R
+ /Next 88 0 R
+ /A 21 0 R
+>> endobj
+88 0 obj
+<<
+ /Title (\376\377\0\67\0\40\0\122\0\145\0\142\0\141\0\154\0\141\0\156\0\143\0\145\0\162)
+ /Parent 80 0 R
+ /Prev 87 0 R
+ /Next 89 0 R
+ /A 23 0 R
+>> endobj
+89 0 obj
+<<
+ /Title (\376\377\0\70\0\40\0\122\0\141\0\143\0\153\0\40\0\101\0\167\0\141\0\162\0\145\0\156\0\145\0\163\0\163)
+ /Parent 80 0 R
+ /Prev 88 0 R
+ /Next 90 0 R
+ /A 25 0 R
+>> endobj
+90 0 obj
+<<
+ /Title (\376\377\0\71\0\40\0\123\0\141\0\146\0\145\0\155\0\157\0\144\0\145)
+ /Parent 80 0 R
+ /Prev 89 0 R
+ /Next 91 0 R
+ /A 27 0 R
+>> endobj
+91 0 obj
+<<
+ /Title (\376\377\0\61\0\60\0\40\0\106\0\163\0\143\0\153)
+ /Parent 80 0 R
+ /Prev 90 0 R
+ /Next 92 0 R
+ /A 29 0 R
+>> endobj
+92 0 obj
+<<
+ /Title (\376\377\0\61\0\61\0\40\0\125\0\160\0\147\0\162\0\141\0\144\0\145\0\40\0\141\0\156\0\144\0\40\0\122\0\157\0\154\0\154\0\142\0\141\0\143\0\153)
+ /Parent 80 0 R
+ /Prev 91 0 R
+ /Next 93 0 R
+ /A 31 0 R
+>> endobj
+93 0 obj
+<<
+ /Title (\376\377\0\61\0\62\0\40\0\106\0\151\0\154\0\145\0\40\0\120\0\145\0\162\0\155\0\151\0\163\0\163\0\151\0\157\0\156\0\163\0\40\0\141\0\156\0\144\0\40\0\123\0\145\0\143\0\165\0\162\0\151\0\164\0\171)
+ /Parent 80 0 R
+ /Prev 92 0 R
+ /Next 94 0 R
+ /A 33 0 R
+>> endobj
+94 0 obj
+<<
+ /Title (\376\377\0\61\0\63\0\40\0\123\0\143\0\141\0\154\0\141\0\142\0\151\0\154\0\151\0\164\0\171)
+ /Parent 80 0 R
+ /Prev 93 0 R
+ /Next 95 0 R
+ /A 35 0 R
+>> endobj
+95 0 obj
+<<
+ /Title (\376\377\0\61\0\64\0\40\0\122\0\145\0\154\0\141\0\164\0\145\0\144\0\40\0\104\0\157\0\143\0\165\0\155\0\145\0\156\0\164\0\141\0\164\0\151\0\157\0\156)
+ /Parent 80 0 R
+ /Prev 94 0 R
+ /A 37 0 R
+>> endobj
+96 0 obj
+<< /Type /Font
+/Subtype /Type1
+/Name /F3
+/BaseFont /Helvetica-Bold
+/Encoding /WinAnsiEncoding >>
+endobj
+97 0 obj
+<< /Type /Font
+/Subtype /Type1
+/Name /F5
+/BaseFont /Times-Roman
+/Encoding /WinAnsiEncoding >>
+endobj
+98 0 obj
+<< /Type /Font
+/Subtype /Type1
+/Name /F6
+/BaseFont /Times-Italic
+/Encoding /WinAnsiEncoding >>
+endobj
+99 0 obj
+<< /Type /Font
+/Subtype /Type1
+/Name /F1
+/BaseFont /Helvetica
+/Encoding /WinAnsiEncoding >>
+endobj
+100 0 obj
+<< /Type /Font
+/Subtype /Type1
+/Name /F9
+/BaseFont /Courier
+/Encoding /WinAnsiEncoding >>
+endobj
+101 0 obj
+<< /Type /Font
+/Subtype /Type1
+/Name /F2
+/BaseFont /Helvetica-Oblique
+/Encoding /WinAnsiEncoding >>
+endobj
+102 0 obj
+<< /Type /Font
+/Subtype /Type1
+/Name /F7
+/BaseFont /Times-Bold
+/Encoding /WinAnsiEncoding >>
+endobj
+1 0 obj
+<< /Type /Pages
+/Count 7
+/Kids [6 0 R 39 0 R 47 0 R 52 0 R 59 0 R 68 0 R 77 0 R ] >>
+endobj
+2 0 obj
+<< /Type /Catalog
+/Pages 1 0 R
+ /Outlines 80 0 R
+ /PageMode /UseOutlines
+ >>
+endobj
+3 0 obj
+<< 
+/Font << /F3 96 0 R /F5 97 0 R /F1 99 0 R /F6 98 0 R /F9 100 0 R /F2 101 0 R /F7 102 0 R >> 
+/ProcSet [ /PDF /ImageC /Text ] >> 
+endobj
+9 0 obj
+<<
+/S /GoTo
+/D [39 0 R /XYZ 85.0 659.0 null]
+>>
+endobj
+11 0 obj
+<<
+/S /GoTo
+/D [39 0 R /XYZ 85.0 553.866 null]
+>>
+endobj
+13 0 obj
+<<
+/S /GoTo
+/D [47 0 R /XYZ 85.0 594.2 null]
+>>
+endobj
+15 0 obj
+<<
+/S /GoTo
+/D [47 0 R /XYZ 85.0 461.866 null]
+>>
+endobj
+17 0 obj
+<<
+/S /GoTo
+/D [47 0 R /XYZ 85.0 356.732 null]
+>>
+endobj
+19 0 obj
+<<
+/S /GoTo
+/D [47 0 R /XYZ 85.0 238.398 null]
+>>
+endobj
+21 0 obj
+<<
+/S /GoTo
+/D [52 0 R /XYZ 85.0 613.4 null]
+>>
+endobj
+23 0 obj
+<<
+/S /GoTo
+/D [52 0 R /XYZ 85.0 421.066 null]
+>>
+endobj
+25 0 obj
+<<
+/S /GoTo
+/D [52 0 R /XYZ 85.0 169.932 null]
+>>
+endobj
+27 0 obj
+<<
+/S /GoTo
+/D [59 0 R /XYZ 85.0 562.6 null]
+>>
+endobj
+29 0 obj
+<<
+/S /GoTo
+/D [59 0 R /XYZ 85.0 404.666 null]
+>>
+endobj
+31 0 obj
+<<
+/S /GoTo
+/D [59 0 R /XYZ 85.0 286.332 null]
+>>
+endobj
+33 0 obj
+<<
+/S /GoTo
+/D [68 0 R /XYZ 85.0 501.8 null]
+>>
+endobj
+35 0 obj
+<<
+/S /GoTo
+/D [68 0 R /XYZ 85.0 396.666 null]
+>>
+endobj
+37 0 obj
+<<
+/S /GoTo
+/D [68 0 R /XYZ 85.0 265.132 null]
+>>
+endobj
+80 0 obj
+<<
+ /First 81 0 R
+ /Last 95 0 R
+>> endobj
+xref
+0 103
+0000000000 65535 f 
+0000026953 00000 n 
+0000027053 00000 n 
+0000027145 00000 n 
+0000000015 00000 n 
+0000000071 00000 n 
+0000001103 00000 n 
+0000001223 00000 n 
+0000001346 00000 n 
+0000027293 00000 n 
+0000001481 00000 n 
+0000027356 00000 n 
+0000001618 00000 n 
+0000027422 00000 n 
+0000001755 00000 n 
+0000027486 00000 n 
+0000001892 00000 n 
+0000027552 00000 n 
+0000002029 00000 n 
+0000027618 00000 n 
+0000002166 00000 n 
+0000027684 00000 n 
+0000002303 00000 n 
+0000027748 00000 n 
+0000002440 00000 n 
+0000027814 00000 n 
+0000002577 00000 n 
+0000027880 00000 n 
+0000002714 00000 n 
+0000027944 00000 n 
+0000002851 00000 n 
+0000028010 00000 n 
+0000002988 00000 n 
+0000028076 00000 n 
+0000003125 00000 n 
+0000028140 00000 n 
+0000003262 00000 n 
+0000028206 00000 n 
+0000003399 00000 n 
+0000006282 00000 n 
+0000006405 00000 n 
+0000006460 00000 n 
+0000006639 00000 n 
+0000006809 00000 n 
+0000006989 00000 n 
+0000007158 00000 n 
+0000007329 00000 n 
+0000009852 00000 n 
+0000009975 00000 n 
+0000010009 00000 n 
+0000010176 00000 n 
+0000010346 00000 n 
+0000012986 00000 n 
+0000013109 00000 n 
+0000013143 00000 n 
+0000013280 00000 n 
+0000013401 00000 n 
+0000013473 00000 n 
+0000013674 00000 n 
+0000016785 00000 n 
+0000016908 00000 n 
+0000016956 00000 n 
+0000017091 00000 n 
+0000017220 00000 n 
+0000017292 00000 n 
+0000017489 00000 n 
+0000017787 00000 n 
+0000017987 00000 n 
+0000020963 00000 n 
+0000021086 00000 n 
+0000021148 00000 n 
+0000021341 00000 n 
+0000021526 00000 n 
+0000021703 00000 n 
+0000021894 00000 n 
+0000022077 00000 n 
+0000022277 00000 n 
+0000023006 00000 n 
+0000023129 00000 n 
+0000023156 00000 n 
+0000028272 00000 n 
+0000023339 00000 n 
+0000023472 00000 n 
+0000023626 00000 n 
+0000023815 00000 n 
+0000023998 00000 n 
+0000024227 00000 n 
+0000024410 00000 n 
+0000024623 00000 n 
+0000024789 00000 n 
+0000024978 00000 n 
+0000025132 00000 n 
+0000025267 00000 n 
+0000025496 00000 n 
+0000025778 00000 n 
+0000025955 00000 n 
+0000026177 00000 n 
+0000026290 00000 n 
+0000026400 00000 n 
+0000026511 00000 n 
+0000026619 00000 n 
+0000026726 00000 n 
+0000026843 00000 n 
+trailer
+<<
+/Size 103
+/Root 2 0 R
+/Info 4 0 R
+>>
+startxref
+28323
+%%EOF



Mime
View raw message