Browse Source

HADOOP-2390. Added documentation for user-controls for intermediate map-outputs & final job-outputs and native-hadoop libraries.

git-svn-id: https://svn.apache.org/repos/asf/lucene/hadoop/trunk@608973 13f79535-47bb-0310-9956-ffa450edef68
Arun Murthy 17 years ago
parent
commit
ca132fb27e
44 changed files with 1747 additions and 371 deletions
  1. 3 0
      CHANGES.txt
  2. 75 9
      docs/cluster_setup.html
  3. 80 14
      docs/hdfs_design.html
  4. 9 9
      docs/hdfs_design.pdf
  5. 75 9
      docs/hod.html
  6. 79 9
      docs/index.html
  7. 44 31
      docs/index.pdf
  8. 99 35
      docs/linkmap.html
  9. 21 86
      docs/linkmap.pdf
  10. 153 27
      docs/mapred_tutorial.html
  11. 3 3
      docs/mapred_tutorial.pdf
  12. 404 0
      docs/native_libraries.html
  13. 96 0
      docs/native_libraries.pdf
  14. 75 9
      docs/quickstart.html
  15. 6 6
      docs/skin/CommonMessages_de.xml
  16. 7 7
      docs/skin/CommonMessages_en_US.xml
  17. 6 7
      docs/skin/CommonMessages_es.xml
  18. 6 6
      docs/skin/CommonMessages_fr.xml
  19. 33 14
      docs/skin/basic.css
  20. 6 6
      docs/skin/breadcrumbs-optimized.js
  21. 6 6
      docs/skin/breadcrumbs.js
  22. 6 6
      docs/skin/fontsize.js
  23. 16 8
      docs/skin/getBlank.js
  24. 6 6
      docs/skin/getMenu.js
  25. BIN
      docs/skin/images/chapter_open.gif
  26. BIN
      docs/skin/images/rc-b-l-15-1body-2menu-3menu.png
  27. BIN
      docs/skin/images/rc-b-r-15-1body-2menu-3menu.png
  28. BIN
      docs/skin/images/rc-b-r-5-1header-2tab-selected-3tab-selected.png
  29. BIN
      docs/skin/images/rc-t-l-5-1header-2searchbox-3searchbox.png
  30. BIN
      docs/skin/images/rc-t-l-5-1header-2tab-selected-3tab-selected.png
  31. BIN
      docs/skin/images/rc-t-l-5-1header-2tab-unselected-3tab-unselected.png
  32. BIN
      docs/skin/images/rc-t-r-15-1body-2menu-3menu.png
  33. BIN
      docs/skin/images/rc-t-r-5-1header-2searchbox-3searchbox.png
  34. BIN
      docs/skin/images/rc-t-r-5-1header-2tab-selected-3tab-selected.png
  35. BIN
      docs/skin/images/rc-t-r-5-1header-2tab-unselected-3tab-unselected.png
  36. 12 14
      docs/skin/menu.js
  37. 8 8
      docs/skin/print.css
  38. 10 5
      docs/skin/profile.css
  39. 56 19
      docs/skin/screen.css
  40. 75 9
      docs/streaming.html
  41. 1 0
      src/docs/src/documentation/content/xdocs/index.xml
  42. 72 2
      src/docs/src/documentation/content/xdocs/mapred_tutorial.xml
  43. 175 0
      src/docs/src/documentation/content/xdocs/native_libraries.xml
  44. 24 1
      src/docs/src/documentation/content/xdocs/site.xml

+ 3 - 0
CHANGES.txt

@@ -152,6 +152,9 @@ Trunk (unreleased changes)
     HADOOP-1719. Improves the utilization of shuffle copier threads.
     HADOOP-1719. Improves the utilization of shuffle copier threads.
     (Amar Kamat via ddas)
     (Amar Kamat via ddas)
  
  
+    HADOOP-2390. Added documentation for user-controls for intermediate
+    map-outputs & final job-outputs and native-hadoop libraries. (acmurthy) 
+ 
   OPTIMIZATIONS
   OPTIMIZATIONS
 
 
     HADOOP-1898.  Release the lock protecting the last time of the last stack
     HADOOP-1898.  Release the lock protecting the last time of the last stack

+ 75 - 9
docs/cluster_setup.html

@@ -1,9 +1,9 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
 <html>
 <html>
 <head>
 <head>
 <META http-equiv="Content-Type" content="text/html; charset=UTF-8">
 <META http-equiv="Content-Type" content="text/html; charset=UTF-8">
 <meta content="Apache Forrest" name="Generator">
 <meta content="Apache Forrest" name="Generator">
-<meta name="Forrest-version" content="0.7">
+<meta name="Forrest-version" content="0.8">
 <meta name="Forrest-skin-name" content="pelt">
 <meta name="Forrest-skin-name" content="pelt">
 <title>Hadoop Cluster Setup</title>
 <title>Hadoop Cluster Setup</title>
 <link type="text/css" href="skin/basic.css" rel="stylesheet">
 <link type="text/css" href="skin/basic.css" rel="stylesheet">
@@ -16,46 +16,91 @@
 <body onload="init()">
 <body onload="init()">
 <script type="text/javascript">ndeSetTextSize();</script>
 <script type="text/javascript">ndeSetTextSize();</script>
 <div id="top">
 <div id="top">
+<!--+
+    |breadtrail
+    +-->
 <div class="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>
 <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>
 </div>
+<!--+
+    |header
+    +-->
 <div class="header">
 <div class="header">
+<!--+
+    |start group logo
+    +-->
 <div class="grouplogo">
 <div class="grouplogo">
 <a href="http://lucene.apache.org/"><img class="logoImage" alt="Lucene" src="images/lucene_green_150.gif" title="Apache Lucene"></a>
 <a href="http://lucene.apache.org/"><img class="logoImage" alt="Lucene" src="images/lucene_green_150.gif" title="Apache Lucene"></a>
 </div>
 </div>
+<!--+
+    |end group logo
+    +-->
+<!--+
+    |start Project Logo
+    +-->
 <div class="projectlogo">
 <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>
 <a href="http://lucene.apache.org/hadoop/"><img class="logoImage" alt="Hadoop" src="images/hadoop-logo.jpg" title="Scalable Computing Platform"></a>
 </div>
 </div>
+<!--+
+    |end Project Logo
+    +-->
+<!--+
+    |start Search
+    +-->
 <div class="searchbox">
 <div class="searchbox">
 <form action="http://www.google.com/search" method="get" class="roundtopsmall">
 <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 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 attr="value" name="Search" value="Search" type="submit">
+                    <input name="Search" value="Search" type="submit">
 </form>
 </form>
 </div>
 </div>
+<!--+
+    |end search
+    +-->
+<!--+
+    |start Tabs
+    +-->
 <ul id="tabs">
 <ul id="tabs">
 <li>
 <li>
-<a class="base-not-selected" href="http://lucene.apache.org/hadoop/">Project</a>
+<a class="unselected" href="http://lucene.apache.org/hadoop/">Project</a>
 </li>
 </li>
 <li>
 <li>
-<a class="base-not-selected" href="http://wiki.apache.org/lucene-hadoop">Wiki</a>
+<a class="unselected" href="http://wiki.apache.org/lucene-hadoop">Wiki</a>
 </li>
 </li>
 <li class="current">
 <li class="current">
-<a class="base-selected" href="index.html">Hadoop 0.16 Documentation</a>
+<a class="selected" href="index.html">Hadoop 0.16 Documentation</a>
 </li>
 </li>
 </ul>
 </ul>
+<!--+
+    |end Tabs
+    +-->
 </div>
 </div>
 </div>
 </div>
 <div id="main">
 <div id="main">
 <div id="publishedStrip">
 <div id="publishedStrip">
+<!--+
+    |start Subtabs
+    +-->
 <div id="level2tabs"></div>
 <div id="level2tabs"></div>
+<!--+
+    |end Endtabs
+    +-->
 <script type="text/javascript"><!--
 <script type="text/javascript"><!--
-document.write("<text>Last Published:</text> " + document.lastModified);
+document.write("Last Published: " + document.lastModified);
 //  --></script>
 //  --></script>
 </div>
 </div>
+<!--+
+    |breadtrail
+    +-->
 <div class="breadtrail">
 <div class="breadtrail">
-             
+
              &nbsp;
              &nbsp;
            </div>
            </div>
+<!--+
+    |start Menu, mainarea
+    +-->
+<!--+
+    |start Menu
+    +-->
 <div id="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 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 id="menu_selected_1.1" class="selectedmenuitemgroup" style="display: block;">
@@ -75,6 +120,9 @@ document.write("<text>Last Published:</text> " + document.lastModified);
 <a href="mapred_tutorial.html">Map-Reduce Tutorial</a>
 <a href="mapred_tutorial.html">Map-Reduce Tutorial</a>
 </div>
 </div>
 <div class="menuitem">
 <div class="menuitem">
+<a href="native_libraries.html">Native Hadoop Libraries</a>
+</div>
+<div class="menuitem">
 <a href="streaming.html">Streaming</a>
 <a href="streaming.html">Streaming</a>
 </div>
 </div>
 <div class="menuitem">
 <div class="menuitem">
@@ -96,8 +144,17 @@ document.write("<text>Last Published:</text> " + document.lastModified);
 <div id="credit"></div>
 <div id="credit"></div>
 <div id="roundbottom">
 <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>
 <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 id="credit2"></div>
 </div>
 </div>
+<!--+
+    |end Menu
+    +-->
+<!--+
+    |start content
+    +-->
 <div id="content">
 <div id="content">
 <div title="Portable Document Format" class="pdflink">
 <div title="Portable Document Format" class="pdflink">
 <a class="dida" href="cluster_setup.pdf"><img alt="PDF -icon" src="skin/images/pdfdoc.gif" class="skin"><br>
 <a class="dida" href="cluster_setup.pdf"><img alt="PDF -icon" src="skin/images/pdfdoc.gif" class="skin"><br>
@@ -627,18 +684,27 @@ document.write("<text>Last Published:</text> " + document.lastModified);
 </div>
 </div>
   
   
 </div>
 </div>
+<!--+
+    |end content
+    +-->
 <div class="clearboth">&nbsp;</div>
 <div class="clearboth">&nbsp;</div>
 </div>
 </div>
 <div id="footer">
 <div id="footer">
+<!--+
+    |start bottomstrip
+    +-->
 <div class="lastmodified">
 <div class="lastmodified">
 <script type="text/javascript"><!--
 <script type="text/javascript"><!--
-document.write("<text>Last Published:</text> " + document.lastModified);
+document.write("Last Published: " + document.lastModified);
 //  --></script>
 //  --></script>
 </div>
 </div>
 <div class="copyright">
 <div class="copyright">
         Copyright &copy;
         Copyright &copy;
          2007 <a href="http://www.apache.org/licenses/">The Apache Software Foundation.</a>
          2007 <a href="http://www.apache.org/licenses/">The Apache Software Foundation.</a>
 </div>
 </div>
+<!--+
+    |end bottomstrip
+    +-->
 </div>
 </div>
 </body>
 </body>
 </html>
 </html>

+ 80 - 14
docs/hdfs_design.html

@@ -1,9 +1,9 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
 <html>
 <html>
 <head>
 <head>
 <META http-equiv="Content-Type" content="text/html; charset=UTF-8">
 <META http-equiv="Content-Type" content="text/html; charset=UTF-8">
 <meta content="Apache Forrest" name="Generator">
 <meta content="Apache Forrest" name="Generator">
-<meta name="Forrest-version" content="0.7">
+<meta name="Forrest-version" content="0.8">
 <meta name="Forrest-skin-name" content="pelt">
 <meta name="Forrest-skin-name" content="pelt">
 <title> 
 <title> 
       The Hadoop Distributed File System: Architecture and Design
       The Hadoop Distributed File System: Architecture and Design
@@ -18,46 +18,91 @@
 <body onload="init()">
 <body onload="init()">
 <script type="text/javascript">ndeSetTextSize();</script>
 <script type="text/javascript">ndeSetTextSize();</script>
 <div id="top">
 <div id="top">
+<!--+
+    |breadtrail
+    +-->
 <div class="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>
 <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>
 </div>
+<!--+
+    |header
+    +-->
 <div class="header">
 <div class="header">
+<!--+
+    |start group logo
+    +-->
 <div class="grouplogo">
 <div class="grouplogo">
 <a href="http://lucene.apache.org/"><img class="logoImage" alt="Lucene" src="images/lucene_green_150.gif" title="Apache Lucene"></a>
 <a href="http://lucene.apache.org/"><img class="logoImage" alt="Lucene" src="images/lucene_green_150.gif" title="Apache Lucene"></a>
 </div>
 </div>
+<!--+
+    |end group logo
+    +-->
+<!--+
+    |start Project Logo
+    +-->
 <div class="projectlogo">
 <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>
 <a href="http://lucene.apache.org/hadoop/"><img class="logoImage" alt="Hadoop" src="images/hadoop-logo.jpg" title="Scalable Computing Platform"></a>
 </div>
 </div>
+<!--+
+    |end Project Logo
+    +-->
+<!--+
+    |start Search
+    +-->
 <div class="searchbox">
 <div class="searchbox">
 <form action="http://www.google.com/search" method="get" class="roundtopsmall">
 <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 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 attr="value" name="Search" value="Search" type="submit">
+                    <input name="Search" value="Search" type="submit">
 </form>
 </form>
 </div>
 </div>
+<!--+
+    |end search
+    +-->
+<!--+
+    |start Tabs
+    +-->
 <ul id="tabs">
 <ul id="tabs">
 <li>
 <li>
-<a class="base-not-selected" href="http://lucene.apache.org/hadoop/">Project</a>
+<a class="unselected" href="http://lucene.apache.org/hadoop/">Project</a>
 </li>
 </li>
 <li>
 <li>
-<a class="base-not-selected" href="http://wiki.apache.org/lucene-hadoop">Wiki</a>
+<a class="unselected" href="http://wiki.apache.org/lucene-hadoop">Wiki</a>
 </li>
 </li>
 <li class="current">
 <li class="current">
-<a class="base-selected" href="index.html">Hadoop 0.16 Documentation</a>
+<a class="selected" href="index.html">Hadoop 0.16 Documentation</a>
 </li>
 </li>
 </ul>
 </ul>
+<!--+
+    |end Tabs
+    +-->
 </div>
 </div>
 </div>
 </div>
 <div id="main">
 <div id="main">
 <div id="publishedStrip">
 <div id="publishedStrip">
+<!--+
+    |start Subtabs
+    +-->
 <div id="level2tabs"></div>
 <div id="level2tabs"></div>
+<!--+
+    |end Endtabs
+    +-->
 <script type="text/javascript"><!--
 <script type="text/javascript"><!--
-document.write("<text>Last Published:</text> " + document.lastModified);
+document.write("Last Published: " + document.lastModified);
 //  --></script>
 //  --></script>
 </div>
 </div>
+<!--+
+    |breadtrail
+    +-->
 <div class="breadtrail">
 <div class="breadtrail">
-             
+
              &nbsp;
              &nbsp;
            </div>
            </div>
+<!--+
+    |start Menu, mainarea
+    +-->
+<!--+
+    |start Menu
+    +-->
 <div id="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 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 id="menu_selected_1.1" class="selectedmenuitemgroup" style="display: block;">
@@ -77,6 +122,9 @@ document.write("<text>Last Published:</text> " + document.lastModified);
 <a href="mapred_tutorial.html">Map-Reduce Tutorial</a>
 <a href="mapred_tutorial.html">Map-Reduce Tutorial</a>
 </div>
 </div>
 <div class="menuitem">
 <div class="menuitem">
+<a href="native_libraries.html">Native Hadoop Libraries</a>
+</div>
+<div class="menuitem">
 <a href="streaming.html">Streaming</a>
 <a href="streaming.html">Streaming</a>
 </div>
 </div>
 <div class="menuitem">
 <div class="menuitem">
@@ -98,8 +146,17 @@ document.write("<text>Last Published:</text> " + document.lastModified);
 <div id="credit"></div>
 <div id="credit"></div>
 <div id="roundbottom">
 <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>
 <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 id="credit2"></div>
 </div>
 </div>
+<!--+
+    |end Menu
+    +-->
+<!--+
+    |start content
+    +-->
 <div id="content">
 <div id="content">
 <div title="Portable Document Format" class="pdflink">
 <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>
 <a class="dida" href="hdfs_design.pdf"><img alt="PDF -icon" src="skin/images/pdfdoc.gif" class="skin"><br>
@@ -279,8 +336,8 @@ document.write("<text>Last Published:</text> " + document.lastModified);
 <p>
 <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.
       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>
       </p>
-<div style="text-align: center;">
-<img class="figure" alt="HDFS Architecture" src="images/hdfsarchitecture.gif"></div>
+<div id="" style="text-align: center;">
+<img id="" class="figure" alt="HDFS Architecture" src="images/hdfsarchitecture.gif"></div>
 <p>
 <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.
       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>
@@ -315,8 +372,8 @@ document.write("<text>Last Published:</text> " + document.lastModified);
 <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. 
       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>
     </p>
-<div style="text-align: center;">
-<img class="figure" alt="HDFS Datanodes" src="images/hdfsdatanodes.gif"></div>
+<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>
 <a name="N100AC"></a><a name="Replica+Placement%3A+The+First+Baby+Steps"></a>
 <h3 class="h4"> Replica Placement: The First Baby Steps </h3>
 <h3 class="h4"> Replica Placement: The First Baby Steps </h3>
 <p>
 <p>
@@ -392,7 +449,7 @@ document.write("<text>Last Published:</text> " + document.lastModified);
 <a name="N1013F"></a><a name="Data+Integrity"></a>
 <a name="N1013F"></a><a name="Data+Integrity"></a>
 <h3 class="h4"> Data Integrity </h3>
 <h3 class="h4"> Data Integrity </h3>
 <p>
 <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.
         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>
         </p>
 <a name="N1014B"></a><a name="Metadata+Disk+Failure"></a>
 <a name="N1014B"></a><a name="Metadata+Disk+Failure"></a>
@@ -561,18 +618,27 @@ document.write("<text>Last Published:</text> " + document.lastModified);
 <font size="-2">by&nbsp;Dhruba Borthakur</font>
 <font size="-2">by&nbsp;Dhruba Borthakur</font>
 </p>
 </p>
 </div>
 </div>
+<!--+
+    |end content
+    +-->
 <div class="clearboth">&nbsp;</div>
 <div class="clearboth">&nbsp;</div>
 </div>
 </div>
 <div id="footer">
 <div id="footer">
+<!--+
+    |start bottomstrip
+    +-->
 <div class="lastmodified">
 <div class="lastmodified">
 <script type="text/javascript"><!--
 <script type="text/javascript"><!--
-document.write("<text>Last Published:</text> " + document.lastModified);
+document.write("Last Published: " + document.lastModified);
 //  --></script>
 //  --></script>
 </div>
 </div>
 <div class="copyright">
 <div class="copyright">
         Copyright &copy;
         Copyright &copy;
          2007 <a href="http://www.apache.org/licenses/">The Apache Software Foundation.</a>
          2007 <a href="http://www.apache.org/licenses/">The Apache Software Foundation.</a>
 </div>
 </div>
+<!--+
+    |end bottomstrip
+    +-->
 </div>
 </div>
 </body>
 </body>
 </html>
 </html>

File diff suppressed because it is too large
+ 9 - 9
docs/hdfs_design.pdf


+ 75 - 9
docs/hod.html

@@ -1,9 +1,9 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
 <html>
 <html>
 <head>
 <head>
 <META http-equiv="Content-Type" content="text/html; charset=UTF-8">
 <META http-equiv="Content-Type" content="text/html; charset=UTF-8">
 <meta content="Apache Forrest" name="Generator">
 <meta content="Apache Forrest" name="Generator">
-<meta name="Forrest-version" content="0.7">
+<meta name="Forrest-version" content="0.8">
 <meta name="Forrest-skin-name" content="pelt">
 <meta name="Forrest-skin-name" content="pelt">
 <title> 
 <title> 
       Hadoop On Demand
       Hadoop On Demand
@@ -18,46 +18,91 @@
 <body onload="init()">
 <body onload="init()">
 <script type="text/javascript">ndeSetTextSize();</script>
 <script type="text/javascript">ndeSetTextSize();</script>
 <div id="top">
 <div id="top">
+<!--+
+    |breadtrail
+    +-->
 <div class="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>
 <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>
 </div>
+<!--+
+    |header
+    +-->
 <div class="header">
 <div class="header">
+<!--+
+    |start group logo
+    +-->
 <div class="grouplogo">
 <div class="grouplogo">
 <a href="http://lucene.apache.org/"><img class="logoImage" alt="Lucene" src="images/lucene_green_150.gif" title="Apache Lucene"></a>
 <a href="http://lucene.apache.org/"><img class="logoImage" alt="Lucene" src="images/lucene_green_150.gif" title="Apache Lucene"></a>
 </div>
 </div>
+<!--+
+    |end group logo
+    +-->
+<!--+
+    |start Project Logo
+    +-->
 <div class="projectlogo">
 <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>
 <a href="http://lucene.apache.org/hadoop/"><img class="logoImage" alt="Hadoop" src="images/hadoop-logo.jpg" title="Scalable Computing Platform"></a>
 </div>
 </div>
+<!--+
+    |end Project Logo
+    +-->
+<!--+
+    |start Search
+    +-->
 <div class="searchbox">
 <div class="searchbox">
 <form action="http://www.google.com/search" method="get" class="roundtopsmall">
 <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 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 attr="value" name="Search" value="Search" type="submit">
+                    <input name="Search" value="Search" type="submit">
 </form>
 </form>
 </div>
 </div>
+<!--+
+    |end search
+    +-->
+<!--+
+    |start Tabs
+    +-->
 <ul id="tabs">
 <ul id="tabs">
 <li>
 <li>
-<a class="base-not-selected" href="http://lucene.apache.org/hadoop/">Project</a>
+<a class="unselected" href="http://lucene.apache.org/hadoop/">Project</a>
 </li>
 </li>
 <li>
 <li>
-<a class="base-not-selected" href="http://wiki.apache.org/lucene-hadoop">Wiki</a>
+<a class="unselected" href="http://wiki.apache.org/lucene-hadoop">Wiki</a>
 </li>
 </li>
 <li class="current">
 <li class="current">
-<a class="base-selected" href="index.html">Hadoop 0.16 Documentation</a>
+<a class="selected" href="index.html">Hadoop 0.16 Documentation</a>
 </li>
 </li>
 </ul>
 </ul>
+<!--+
+    |end Tabs
+    +-->
 </div>
 </div>
 </div>
 </div>
 <div id="main">
 <div id="main">
 <div id="publishedStrip">
 <div id="publishedStrip">
+<!--+
+    |start Subtabs
+    +-->
 <div id="level2tabs"></div>
 <div id="level2tabs"></div>
+<!--+
+    |end Endtabs
+    +-->
 <script type="text/javascript"><!--
 <script type="text/javascript"><!--
-document.write("<text>Last Published:</text> " + document.lastModified);
+document.write("Last Published: " + document.lastModified);
 //  --></script>
 //  --></script>
 </div>
 </div>
+<!--+
+    |breadtrail
+    +-->
 <div class="breadtrail">
 <div class="breadtrail">
-             
+
              &nbsp;
              &nbsp;
            </div>
            </div>
+<!--+
+    |start Menu, mainarea
+    +-->
+<!--+
+    |start Menu
+    +-->
 <div id="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 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 id="menu_selected_1.1" class="selectedmenuitemgroup" style="display: block;">
@@ -77,6 +122,9 @@ document.write("<text>Last Published:</text> " + document.lastModified);
 <a href="mapred_tutorial.html">Map-Reduce Tutorial</a>
 <a href="mapred_tutorial.html">Map-Reduce Tutorial</a>
 </div>
 </div>
 <div class="menuitem">
 <div class="menuitem">
+<a href="native_libraries.html">Native Hadoop Libraries</a>
+</div>
+<div class="menuitem">
 <a href="streaming.html">Streaming</a>
 <a href="streaming.html">Streaming</a>
 </div>
 </div>
 <div class="menupage">
 <div class="menupage">
@@ -98,8 +146,17 @@ document.write("<text>Last Published:</text> " + document.lastModified);
 <div id="credit"></div>
 <div id="credit"></div>
 <div id="roundbottom">
 <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>
 <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 id="credit2"></div>
 </div>
 </div>
+<!--+
+    |end Menu
+    +-->
+<!--+
+    |start content
+    +-->
 <div id="content">
 <div id="content">
 <div title="Portable Document Format" class="pdflink">
 <div title="Portable Document Format" class="pdflink">
 <a class="dida" href="hod.pdf"><img alt="PDF -icon" src="skin/images/pdfdoc.gif" class="skin"><br>
 <a class="dida" href="hod.pdf"><img alt="PDF -icon" src="skin/images/pdfdoc.gif" class="skin"><br>
@@ -1045,18 +1102,27 @@ document.write("<text>Last Published:</text> " + document.lastModified);
 </div>
 </div>
   
   
 </div>
 </div>
+<!--+
+    |end content
+    +-->
 <div class="clearboth">&nbsp;</div>
 <div class="clearboth">&nbsp;</div>
 </div>
 </div>
 <div id="footer">
 <div id="footer">
+<!--+
+    |start bottomstrip
+    +-->
 <div class="lastmodified">
 <div class="lastmodified">
 <script type="text/javascript"><!--
 <script type="text/javascript"><!--
-document.write("<text>Last Published:</text> " + document.lastModified);
+document.write("Last Published: " + document.lastModified);
 //  --></script>
 //  --></script>
 </div>
 </div>
 <div class="copyright">
 <div class="copyright">
         Copyright &copy;
         Copyright &copy;
          2007 <a href="http://www.apache.org/licenses/">The Apache Software Foundation.</a>
          2007 <a href="http://www.apache.org/licenses/">The Apache Software Foundation.</a>
 </div>
 </div>
+<!--+
+    |end bottomstrip
+    +-->
 </div>
 </div>
 </body>
 </body>
 </html>
 </html>

+ 79 - 9
docs/index.html

@@ -1,9 +1,9 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
 <html>
 <html>
 <head>
 <head>
 <META http-equiv="Content-Type" content="text/html; charset=UTF-8">
 <META http-equiv="Content-Type" content="text/html; charset=UTF-8">
 <meta content="Apache Forrest" name="Generator">
 <meta content="Apache Forrest" name="Generator">
-<meta name="Forrest-version" content="0.7">
+<meta name="Forrest-version" content="0.8">
 <meta name="Forrest-skin-name" content="pelt">
 <meta name="Forrest-skin-name" content="pelt">
 <title>Hadoop Documentation</title>
 <title>Hadoop Documentation</title>
 <link type="text/css" href="skin/basic.css" rel="stylesheet">
 <link type="text/css" href="skin/basic.css" rel="stylesheet">
@@ -16,46 +16,91 @@
 <body onload="init()">
 <body onload="init()">
 <script type="text/javascript">ndeSetTextSize();</script>
 <script type="text/javascript">ndeSetTextSize();</script>
 <div id="top">
 <div id="top">
+<!--+
+    |breadtrail
+    +-->
 <div class="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>
 <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>
 </div>
+<!--+
+    |header
+    +-->
 <div class="header">
 <div class="header">
+<!--+
+    |start group logo
+    +-->
 <div class="grouplogo">
 <div class="grouplogo">
 <a href="http://lucene.apache.org/"><img class="logoImage" alt="Lucene" src="images/lucene_green_150.gif" title="Apache Lucene"></a>
 <a href="http://lucene.apache.org/"><img class="logoImage" alt="Lucene" src="images/lucene_green_150.gif" title="Apache Lucene"></a>
 </div>
 </div>
+<!--+
+    |end group logo
+    +-->
+<!--+
+    |start Project Logo
+    +-->
 <div class="projectlogo">
 <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>
 <a href="http://lucene.apache.org/hadoop/"><img class="logoImage" alt="Hadoop" src="images/hadoop-logo.jpg" title="Scalable Computing Platform"></a>
 </div>
 </div>
+<!--+
+    |end Project Logo
+    +-->
+<!--+
+    |start Search
+    +-->
 <div class="searchbox">
 <div class="searchbox">
 <form action="http://www.google.com/search" method="get" class="roundtopsmall">
 <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 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 attr="value" name="Search" value="Search" type="submit">
+                    <input name="Search" value="Search" type="submit">
 </form>
 </form>
 </div>
 </div>
+<!--+
+    |end search
+    +-->
+<!--+
+    |start Tabs
+    +-->
 <ul id="tabs">
 <ul id="tabs">
 <li>
 <li>
-<a class="base-not-selected" href="http://lucene.apache.org/hadoop/">Project</a>
+<a class="unselected" href="http://lucene.apache.org/hadoop/">Project</a>
 </li>
 </li>
 <li>
 <li>
-<a class="base-not-selected" href="http://wiki.apache.org/lucene-hadoop">Wiki</a>
+<a class="unselected" href="http://wiki.apache.org/lucene-hadoop">Wiki</a>
 </li>
 </li>
 <li class="current">
 <li class="current">
-<a class="base-selected" href="index.html">Hadoop 0.16 Documentation</a>
+<a class="selected" href="index.html">Hadoop 0.16 Documentation</a>
 </li>
 </li>
 </ul>
 </ul>
+<!--+
+    |end Tabs
+    +-->
 </div>
 </div>
 </div>
 </div>
 <div id="main">
 <div id="main">
 <div id="publishedStrip">
 <div id="publishedStrip">
+<!--+
+    |start Subtabs
+    +-->
 <div id="level2tabs"></div>
 <div id="level2tabs"></div>
+<!--+
+    |end Endtabs
+    +-->
 <script type="text/javascript"><!--
 <script type="text/javascript"><!--
-document.write("<text>Last Published:</text> " + document.lastModified);
+document.write("Last Published: " + document.lastModified);
 //  --></script>
 //  --></script>
 </div>
 </div>
+<!--+
+    |breadtrail
+    +-->
 <div class="breadtrail">
 <div class="breadtrail">
-             
+
              &nbsp;
              &nbsp;
            </div>
            </div>
+<!--+
+    |start Menu, mainarea
+    +-->
+<!--+
+    |start Menu
+    +-->
 <div id="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 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 id="menu_selected_1.1" class="selectedmenuitemgroup" style="display: block;">
@@ -75,6 +120,9 @@ document.write("<text>Last Published:</text> " + document.lastModified);
 <a href="mapred_tutorial.html">Map-Reduce Tutorial</a>
 <a href="mapred_tutorial.html">Map-Reduce Tutorial</a>
 </div>
 </div>
 <div class="menuitem">
 <div class="menuitem">
+<a href="native_libraries.html">Native Hadoop Libraries</a>
+</div>
+<div class="menuitem">
 <a href="streaming.html">Streaming</a>
 <a href="streaming.html">Streaming</a>
 </div>
 </div>
 <div class="menuitem">
 <div class="menuitem">
@@ -99,8 +147,17 @@ document.write("<text>Last Published:</text> " + document.lastModified);
 </div>
 </div>
 <div id="roundbottom">
 <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>
 <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 id="credit2"></div>
 </div>
 </div>
+<!--+
+    |end Menu
+    +-->
+<!--+
+    |start content
+    +-->
 <div id="content">
 <div id="content">
 <div title="Portable Document Format" class="pdflink">
 <div title="Portable Document Format" class="pdflink">
 <a class="dida" href="index.pdf"><img alt="PDF -icon" src="skin/images/pdfdoc.gif" class="skin"><br>
 <a class="dida" href="index.pdf"><img alt="PDF -icon" src="skin/images/pdfdoc.gif" class="skin"><br>
@@ -132,6 +189,10 @@ document.write("<text>Last Published:</text> " + document.lastModified);
 <a href="mapred_tutorial.html">Hadoop Map-Reduce Tutorial</a>
 <a href="mapred_tutorial.html">Hadoop Map-Reduce Tutorial</a>
 </li>
 </li>
       
       
+<li>
+<a href="native_libraries.html">Native Hadoop Libraries</a>
+</li>
+      
 <li>
 <li>
 <a href="api/index.html">API Docs</a>
 <a href="api/index.html">API Docs</a>
 </li>
 </li>
@@ -147,12 +208,18 @@ document.write("<text>Last Published:</text> " + document.lastModified);
 </ul>
 </ul>
   
   
 </div>
 </div>
+<!--+
+    |end content
+    +-->
 <div class="clearboth">&nbsp;</div>
 <div class="clearboth">&nbsp;</div>
 </div>
 </div>
 <div id="footer">
 <div id="footer">
+<!--+
+    |start bottomstrip
+    +-->
 <div class="lastmodified">
 <div class="lastmodified">
 <script type="text/javascript"><!--
 <script type="text/javascript"><!--
-document.write("<text>Last Published:</text> " + document.lastModified);
+document.write("Last Published: " + document.lastModified);
 //  --></script>
 //  --></script>
 </div>
 </div>
 <div class="copyright">
 <div class="copyright">
@@ -160,6 +227,9 @@ document.write("<text>Last Published:</text> " + document.lastModified);
          2007 <a href="http://www.apache.org/licenses/">The Apache Software Foundation.</a>
          2007 <a href="http://www.apache.org/licenses/">The Apache Software Foundation.</a>
 </div>
 </div>
 <div id="logos"></div>
 <div id="logos"></div>
+<!--+
+    |end bottomstrip
+    +-->
 </div>
 </div>
 </body>
 </body>
 </html>
 </html>

+ 44 - 31
docs/index.pdf

@@ -5,10 +5,10 @@
 /Producer (FOP 0.20.5) >>
 /Producer (FOP 0.20.5) >>
 endobj
 endobj
 5 0 obj
 5 0 obj
-<< /Length 1161 /Filter [ /ASCII85Decode /FlateDecode ]
+<< /Length 1271 /Filter [ /ASCII85Decode /FlateDecode ]
  >>
  >>
 stream
 stream
-Gat=+9lldX&A@ZcFA-:M<CfZ:A(!2N3n'KDp.Puk%g:'6'5SXPilSs=ps]A"&5Ne]0&$'V/ut8I?<U]R)57TfBXtQBnIo"-D(HV<rF[@Yn-OkX-6ud_d,0a'r[Np=Qfp5JV1*T-'*n>.m5$s7j8C;#LR(.^-q?1t5W_NlFg3&aKs]X8!eqL%0%P"V`Q)r40s4N9S/U!&M-n.8#RfX?TFPpt^L)-7#ATMO$7s9,IV,Zk(e)HuWp!il[l?=d7Y.Kpo92kMl?'We$3rXeML!ptW2^jrNk=rigX^iX=mk8P=>.3WMdiTV7Y1_l&*f9@_q\7oq:j>DYq"GjiB+?4/$R'JQHq88nor0[)&?2[Sd5oZ\VlJ]@GP/>b9f:'TXFn+"VbD.LJ_3/PJhm<Jlk\[%j==_K%ZOUs$e.M_'Tj%Nl!WRe\]#X0W,*YCZE?4pF1r[WB+&HDMN2C'NN0M8[&Y2<JoP5@ukFH`\<a%e0Cf;Un0K,j_BZa=UNpBf^ieB)3b2?ee>6o_:(37dG0\2e,2AC6@kY-0SGO9#Z#ehntQbug,9Z/^!FUS\_OJ<MEI8LSEafI^X0Dj:,Gf2g2gl"27rcgTn*8*X^JN_#"%V2.)li'FbXqO7X:H%A5$nX]&43b>XJM="e^0`GhsFJFX.[5:g&77eITU;pAB@^U)XZ9+)9,irBS/T3NjNT!]dAjZl`HW9'A+MTHTub)a-`Un0p:dAY65g?SK2m[NS%'DlPHI69+Fl2PED.D&A6QP'u8?b+5CJ6F_FLI7=sHl@$'W-r@O#dp$]KViMjZPr!Mg*uCtlViMeCH%#%(i6\"Ea&%>W<\W+F#(kP3HgV#)^Q1I&J,+lG&,I=bN&F-9^7J%tKL6$rLYrjS-Jm?j6@n91T#F:b8$cAd'(!n^%DA3001L.2A$kp!fbtLYLTZ*`NKNtV1d*)4oE0nUJ;2uWot&0d>,c?e&?EQodTQ5XmK`/tNY'ICLJ_HO=^<2q:$>CJ*6o1ub;0)-jD`Zil':2\5#\]JDGTNOX8=OB`[V/GH3UrcY:U07.7]4]l\:,YkKPBVUoqU$IQ#g<7<#%]Q'PJ,>N3P)&oP.Gq5Sk=gbooo`&1Toh-([t#=!b4,$nnP567A138^p^Y@A!XWis^j.(N8aX&LCKC5#CIrrIqX;Xs~>
+Gat=,9lo&I&A@[:i98BA#RCJSG]]B88Z1soZ"A;qHCu]Xig:>nIRrLK++R^#Os3>1I'@dJIJ^6p==j8fja;=B&7q6%e]&cp?fVd*F^.?,T8Nd2'9$<p8@7*Gs6dUSlSLc=6gq!-olkVPd\ts%6P1)RH?b5E8#nj3-q>nl6$l/XpTYjB7U#2DJ`5aL]1n_>krCqDX_Z`8kLOe"dSmd_@8V?,e.F;>&*r*K8?L'/JHa"F/?EuSPJgWdPoQq!R[2OW.M.j]@90=LZebTr"iIFt@[Zt6<7_Uaa4JR([U"+Z]A0;%Y^Vlf2oX'lRg>%k"/n`h!r&i9c@;pcT2&*"IK,6GcPJS!6IYZ_eb&Tl\K2McG+JgK/@ghekfJ*l5-EW'Cl>k3=;4SbI2F>3)(m6WVD3qHI,Zl6(d`I"p@P7SLmG7S"b`(!0,h:g/23,BTO;W*g$1b6krDh3Wng_^G:QQkI$d@7pnVrc*?B@`k]e02ZAJED.A*Q:94YH!@Teu5AK1pUm6%.A^r(KW-Z/BqO(^P_/`:[K5sE1Oc8-;)a<<sE4aQ^`&09LX'_$N%j63=#Z58B\l?8]_DR[:*DGYI4;!>o?A"e$gq6iTl#'-<OA>(T.e>H/;,E1mrl2I9=H(hMm^3s[Y9?cN:",K,@eZC&%QEY3M+k\5CPfH4=+?jt8l[akl3<23!Sf@>f^l>lu%tK5$B/$<?%Y><S%l"\"jSMM-dO]i"m8Z0j35d`nYEWl41#+_<"-!lY3b]N?83b&7e0R*X2Q?WM<+?2`#bg]8e#KRWm6Uj.VcS<-p.KMO!jCm_bB.Q$e"2S(cYY^T!Oss&knl1;o*hL<Ca#`ME8]&-%!C@cqfd:4s'<s5dA/H#n4dhi9/q[qL(KkaiJHljD(+>T.Z6-A_dnld,f0J#C$=*CraEI4/lq#C;&U(k6iZB5Lso=kL\ZlckWFL&2!>K;Ikp1r'#I89%0_.BV*':2n(66'QYt&3KP:O#%)'rq$O(qXMP%4/Mp2@O!aQ*3%5T@FU)hho7?;V`)g*="S`0"OI@Wto87lC(k0oB67>;ADe\Cbk6q=Wm"_@9^nZr#V/B^OX`k?P9ngL_\XKKk)%7C080C^7'b^IA[`#*29Od^6!hagl4[[6Xb@mBY;W<g*3DY1KrS1t;H*+]Iog+63QhnJB;e7TcfcfP#W&KL%IX/XY@CjLKRipEnQD``DEmTPM]i`iI/T2?R%a"W,=;n=F'@0Sh)BmEf^DbVnkX5?Cr7[6%?[`VTn;JU*XrX3-<_$U~>
 endstream
 endstream
 endobj
 endobj
 6 0 obj
 6 0 obj
@@ -30,6 +30,7 @@ endobj
 13 0 R
 13 0 R
 14 0 R
 14 0 R
 15 0 R
 15 0 R
+16 0 R
 ]
 ]
 endobj
 endobj
 8 0 obj
 8 0 obj
@@ -90,10 +91,10 @@ endobj
 13 0 obj
 13 0 obj
 << /Type /Annot
 << /Type /Annot
 /Subtype /Link
 /Subtype /Link
-/Rect [ 108.0 489.4 154.992 477.4 ]
+/Rect [ 108.0 489.4 227.304 477.4 ]
 /C [ 0 0 0 ]
 /C [ 0 0 0 ]
 /Border [ 0 0 0 ]
 /Border [ 0 0 0 ]
-/A << /URI (api/index.html)
+/A << /URI (native_libraries.html)
 /S /URI >>
 /S /URI >>
 /H /I
 /H /I
 >>
 >>
@@ -101,10 +102,10 @@ endobj
 14 0 obj
 14 0 obj
 << /Type /Annot
 << /Type /Annot
 /Subtype /Link
 /Subtype /Link
-/Rect [ 108.0 476.2 132.0 464.2 ]
+/Rect [ 108.0 476.2 154.992 464.2 ]
 /C [ 0 0 0 ]
 /C [ 0 0 0 ]
 /Border [ 0 0 0 ]
 /Border [ 0 0 0 ]
-/A << /URI (http://wiki.apache.org/lucene-hadoop/)
+/A << /URI (api/index.html)
 /S /URI >>
 /S /URI >>
 /H /I
 /H /I
 >>
 >>
@@ -115,33 +116,44 @@ endobj
 /Rect [ 108.0 463.0 132.0 451.0 ]
 /Rect [ 108.0 463.0 132.0 451.0 ]
 /C [ 0 0 0 ]
 /C [ 0 0 0 ]
 /Border [ 0 0 0 ]
 /Border [ 0 0 0 ]
-/A << /URI (http://wiki.apache.org/lucene-hadoop/FAQ)
+/A << /URI (http://wiki.apache.org/lucene-hadoop/)
 /S /URI >>
 /S /URI >>
 /H /I
 /H /I
 >>
 >>
 endobj
 endobj
 16 0 obj
 16 0 obj
+<< /Type /Annot
+/Subtype /Link
+/Rect [ 108.0 449.8 132.0 437.8 ]
+/C [ 0 0 0 ]
+/Border [ 0 0 0 ]
+/A << /URI (http://wiki.apache.org/lucene-hadoop/FAQ)
+/S /URI >>
+/H /I
+>>
+endobj
+17 0 obj
 << /Type /Font
 << /Type /Font
 /Subtype /Type1
 /Subtype /Type1
 /Name /F3
 /Name /F3
 /BaseFont /Helvetica-Bold
 /BaseFont /Helvetica-Bold
 /Encoding /WinAnsiEncoding >>
 /Encoding /WinAnsiEncoding >>
 endobj
 endobj
-17 0 obj
+18 0 obj
 << /Type /Font
 << /Type /Font
 /Subtype /Type1
 /Subtype /Type1
 /Name /F5
 /Name /F5
 /BaseFont /Times-Roman
 /BaseFont /Times-Roman
 /Encoding /WinAnsiEncoding >>
 /Encoding /WinAnsiEncoding >>
 endobj
 endobj
-18 0 obj
+19 0 obj
 << /Type /Font
 << /Type /Font
 /Subtype /Type1
 /Subtype /Type1
 /Name /F1
 /Name /F1
 /BaseFont /Helvetica
 /BaseFont /Helvetica
 /Encoding /WinAnsiEncoding >>
 /Encoding /WinAnsiEncoding >>
 endobj
 endobj
-19 0 obj
+20 0 obj
 << /Type /Font
 << /Type /Font
 /Subtype /Type1
 /Subtype /Type1
 /Name /F2
 /Name /F2
@@ -160,37 +172,38 @@ endobj
 endobj
 endobj
 3 0 obj
 3 0 obj
 << 
 << 
-/Font << /F3 16 0 R /F5 17 0 R /F1 18 0 R /F2 19 0 R >> 
+/Font << /F3 17 0 R /F5 18 0 R /F1 19 0 R /F2 20 0 R >> 
 /ProcSet [ /PDF /ImageC /Text ] >> 
 /ProcSet [ /PDF /ImageC /Text ] >> 
 endobj
 endobj
 xref
 xref
-0 20
+0 21
 0000000000 65535 f 
 0000000000 65535 f 
-0000003354 00000 n 
-0000003412 00000 n 
-0000003462 00000 n 
+0000003640 00000 n 
+0000003698 00000 n 
+0000003748 00000 n 
 0000000015 00000 n 
 0000000015 00000 n 
 0000000071 00000 n 
 0000000071 00000 n 
-0000001324 00000 n 
-0000001444 00000 n 
-0000001517 00000 n 
-0000001716 00000 n 
-0000001878 00000 n 
-0000002044 00000 n 
-0000002208 00000 n 
-0000002376 00000 n 
-0000002538 00000 n 
-0000002721 00000 n 
-0000002907 00000 n 
-0000003020 00000 n 
-0000003130 00000 n 
-0000003238 00000 n 
+0000001434 00000 n 
+0000001554 00000 n 
+0000001634 00000 n 
+0000001833 00000 n 
+0000001995 00000 n 
+0000002161 00000 n 
+0000002325 00000 n 
+0000002493 00000 n 
+0000002662 00000 n 
+0000002824 00000 n 
+0000003007 00000 n 
+0000003193 00000 n 
+0000003306 00000 n 
+0000003416 00000 n 
+0000003524 00000 n 
 trailer
 trailer
 <<
 <<
-/Size 20
+/Size 21
 /Root 2 0 R
 /Root 2 0 R
 /Info 4 0 R
 /Info 4 0 R
 >>
 >>
 startxref
 startxref
-3574
+3860
 %%EOF
 %%EOF

+ 99 - 35
docs/linkmap.html

@@ -1,11 +1,11 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
 <html>
 <html>
 <head>
 <head>
 <META http-equiv="Content-Type" content="text/html; charset=UTF-8">
 <META http-equiv="Content-Type" content="text/html; charset=UTF-8">
 <meta content="Apache Forrest" name="Generator">
 <meta content="Apache Forrest" name="Generator">
-<meta name="Forrest-version" content="0.7">
+<meta name="Forrest-version" content="0.8">
 <meta name="Forrest-skin-name" content="pelt">
 <meta name="Forrest-skin-name" content="pelt">
-<title>Site Linkmap</title>
+<title>Site Linkmap Table of Contents</title>
 <link type="text/css" href="skin/basic.css" rel="stylesheet">
 <link type="text/css" href="skin/basic.css" rel="stylesheet">
 <link media="screen" type="text/css" href="skin/screen.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 media="print" type="text/css" href="skin/print.css" rel="stylesheet">
@@ -16,46 +16,91 @@
 <body onload="init()">
 <body onload="init()">
 <script type="text/javascript">ndeSetTextSize();</script>
 <script type="text/javascript">ndeSetTextSize();</script>
 <div id="top">
 <div id="top">
+<!--+
+    |breadtrail
+    +-->
 <div class="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>
 <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>
 </div>
+<!--+
+    |header
+    +-->
 <div class="header">
 <div class="header">
+<!--+
+    |start group logo
+    +-->
 <div class="grouplogo">
 <div class="grouplogo">
 <a href="http://lucene.apache.org/"><img class="logoImage" alt="Lucene" src="images/lucene_green_150.gif" title="Apache Lucene"></a>
 <a href="http://lucene.apache.org/"><img class="logoImage" alt="Lucene" src="images/lucene_green_150.gif" title="Apache Lucene"></a>
 </div>
 </div>
+<!--+
+    |end group logo
+    +-->
+<!--+
+    |start Project Logo
+    +-->
 <div class="projectlogo">
 <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>
 <a href="http://lucene.apache.org/hadoop/"><img class="logoImage" alt="Hadoop" src="images/hadoop-logo.jpg" title="Scalable Computing Platform"></a>
 </div>
 </div>
+<!--+
+    |end Project Logo
+    +-->
+<!--+
+    |start Search
+    +-->
 <div class="searchbox">
 <div class="searchbox">
 <form action="http://www.google.com/search" method="get" class="roundtopsmall">
 <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 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 attr="value" name="Search" value="Search" type="submit">
+                    <input name="Search" value="Search" type="submit">
 </form>
 </form>
 </div>
 </div>
+<!--+
+    |end search
+    +-->
+<!--+
+    |start Tabs
+    +-->
 <ul id="tabs">
 <ul id="tabs">
 <li>
 <li>
-<a class="base-not-selected" href="http://lucene.apache.org/hadoop/">Project</a>
+<a class="unselected" href="http://lucene.apache.org/hadoop/">Project</a>
 </li>
 </li>
 <li>
 <li>
-<a class="base-not-selected" href="http://wiki.apache.org/lucene-hadoop">Wiki</a>
+<a class="unselected" href="http://wiki.apache.org/lucene-hadoop">Wiki</a>
 </li>
 </li>
 <li class="current">
 <li class="current">
-<a class="base-selected" href="index.html">Hadoop 0.16 Documentation</a>
+<a class="selected" href="index.html">Hadoop 0.16 Documentation</a>
 </li>
 </li>
 </ul>
 </ul>
+<!--+
+    |end Tabs
+    +-->
 </div>
 </div>
 </div>
 </div>
 <div id="main">
 <div id="main">
 <div id="publishedStrip">
 <div id="publishedStrip">
+<!--+
+    |start Subtabs
+    +-->
 <div id="level2tabs"></div>
 <div id="level2tabs"></div>
+<!--+
+    |end Endtabs
+    +-->
 <script type="text/javascript"><!--
 <script type="text/javascript"><!--
-document.write("<text>Last Published:</text> " + document.lastModified);
+document.write("Last Published: " + document.lastModified);
 //  --></script>
 //  --></script>
 </div>
 </div>
+<!--+
+    |breadtrail
+    +-->
 <div class="breadtrail">
 <div class="breadtrail">
-             
+
              &nbsp;
              &nbsp;
            </div>
            </div>
+<!--+
+    |start Menu, mainarea
+    +-->
+<!--+
+    |start Menu
+    +-->
 <div id="menu">
 <div id="menu">
 <div onclick="SwitchMenu('menu_1.1', 'skin/')" id="menu_1.1Title" class="menutitle">Documentation</div>
 <div onclick="SwitchMenu('menu_1.1', 'skin/')" id="menu_1.1Title" class="menutitle">Documentation</div>
 <div id="menu_1.1" class="menuitemgroup">
 <div id="menu_1.1" class="menuitemgroup">
@@ -75,6 +120,9 @@ document.write("<text>Last Published:</text> " + document.lastModified);
 <a href="mapred_tutorial.html">Map-Reduce Tutorial</a>
 <a href="mapred_tutorial.html">Map-Reduce Tutorial</a>
 </div>
 </div>
 <div class="menuitem">
 <div class="menuitem">
+<a href="native_libraries.html">Native Hadoop Libraries</a>
+</div>
+<div class="menuitem">
 <a href="streaming.html">Streaming</a>
 <a href="streaming.html">Streaming</a>
 </div>
 </div>
 <div class="menuitem">
 <div class="menuitem">
@@ -96,100 +144,108 @@ document.write("<text>Last Published:</text> " + document.lastModified);
 <div id="credit"></div>
 <div id="credit"></div>
 <div id="roundbottom">
 <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>
 <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 id="credit2"></div>
 </div>
 </div>
+<!--+
+    |end Menu
+    +-->
+<!--+
+    |start content
+    +-->
 <div id="content">
 <div id="content">
 <div title="Portable Document Format" class="pdflink">
 <div title="Portable Document Format" class="pdflink">
 <a class="dida" href="linkmap.pdf"><img alt="PDF -icon" src="skin/images/pdfdoc.gif" class="skin"><br>
 <a class="dida" href="linkmap.pdf"><img alt="PDF -icon" src="skin/images/pdfdoc.gif" class="skin"><br>
         PDF</a>
         PDF</a>
 </div>
 </div>
-<h1>Site Linkmap</h1>
-<div id="minitoc-area">
-<ul class="minitoc">
-<li>
-<a href="#Table+of+Contents">Table of Contents</a>
-</li>
-</ul>
-</div>
-<a name="N10007"></a><a name="Table+of+Contents"></a>
-<h2 class="h3">Table of Contents</h2>
-<div class="section">
+<h1>Site Linkmap Table of Contents</h1>
+<p>
+          This is a map of the complete site and its structure.
+        </p>
 <ul>
 <ul>
 <li>
 <li>
-<a href="">Hadoop</a>&nbsp;&nbsp;&nbsp;_________________________&nbsp;&nbsp;<em>site</em>
+<a>Hadoop</a>&nbsp;&nbsp;___________________&nbsp;&nbsp;<em>site</em>
 </li>
 </li>
 <ul>
 <ul>
 
 
   
   
 <ul>
 <ul>
 <li>
 <li>
-<a href="">Documentation</a>&nbsp;&nbsp;&nbsp;_________________________&nbsp;&nbsp;<em>docs</em>
+<a>Documentation</a>&nbsp;&nbsp;___________________&nbsp;&nbsp;<em>docs</em>
 </li>
 </li>
 <ul> 
 <ul> 
     
     
 <ul>
 <ul>
 <li>
 <li>
-<a href="index.html">Overview</a>&nbsp;&nbsp;&nbsp;_________________________&nbsp;&nbsp;<em>overview</em>
+<a href="index.html">Overview</a>&nbsp;&nbsp;___________________&nbsp;&nbsp;<em>overview</em>
 </li>
 </li>
 </ul>
 </ul>
     
     
 <ul>
 <ul>
 <li>
 <li>
-<a href="quickstart.html">Quickstart</a>&nbsp;&nbsp;&nbsp;_________________________&nbsp;&nbsp;<em>quickstart</em>
+<a href="quickstart.html">Quickstart</a>&nbsp;&nbsp;___________________&nbsp;&nbsp;<em>quickstart</em>
 </li>
 </li>
 </ul>
 </ul>
     
     
 <ul>
 <ul>
 <li>
 <li>
-<a href="cluster_setup.html">Cluster Setup</a>&nbsp;&nbsp;&nbsp;_________________________&nbsp;&nbsp;<em>setup</em>
+<a href="cluster_setup.html">Cluster Setup</a>&nbsp;&nbsp;___________________&nbsp;&nbsp;<em>setup</em>
 </li>
 </li>
 </ul>
 </ul>
     
     
 <ul>
 <ul>
 <li>
 <li>
-<a href="hdfs_design.html">HDFS Architecture</a>&nbsp;&nbsp;&nbsp;_________________________&nbsp;&nbsp;<em>hdfs</em>
+<a href="hdfs_design.html">HDFS Architecture</a>&nbsp;&nbsp;___________________&nbsp;&nbsp;<em>hdfs</em>
 </li>
 </li>
 </ul>
 </ul>
     
     
 <ul>
 <ul>
 <li>
 <li>
-<a href="mapred_tutorial.html">Map-Reduce Tutorial</a>&nbsp;&nbsp;&nbsp;_________________________&nbsp;&nbsp;<em>mapred</em>
+<a href="mapred_tutorial.html">Map-Reduce Tutorial</a>&nbsp;&nbsp;___________________&nbsp;&nbsp;<em>mapred</em>
 </li>
 </li>
 </ul>
 </ul>
     
     
 <ul>
 <ul>
 <li>
 <li>
-<a href="streaming.html">Streaming</a>&nbsp;&nbsp;&nbsp;_________________________&nbsp;&nbsp;<em>streaming</em>
+<a href="native_libraries.html">Native Hadoop Libraries</a>&nbsp;&nbsp;___________________&nbsp;&nbsp;<em>mapred</em>
 </li>
 </li>
 </ul>
 </ul>
     
     
 <ul>
 <ul>
 <li>
 <li>
-<a href="hod.html">Hadoop On Demand</a>&nbsp;&nbsp;&nbsp;_________________________&nbsp;&nbsp;<em>hod</em>
+<a href="streaming.html">Streaming</a>&nbsp;&nbsp;___________________&nbsp;&nbsp;<em>streaming</em>
 </li>
 </li>
 </ul>
 </ul>
     
     
 <ul>
 <ul>
 <li>
 <li>
-<a href="api/index.html">API Docs</a>&nbsp;&nbsp;&nbsp;_________________________&nbsp;&nbsp;<em>api</em>
+<a href="hod.html">Hadoop On Demand</a>&nbsp;&nbsp;___________________&nbsp;&nbsp;<em>hod</em>
 </li>
 </li>
 </ul>
 </ul>
     
     
 <ul>
 <ul>
 <li>
 <li>
-<a href="http://wiki.apache.org/lucene-hadoop/">Wiki</a>&nbsp;&nbsp;&nbsp;_________________________&nbsp;&nbsp;<em>wiki</em>
+<a href="api/index.html">API Docs</a>&nbsp;&nbsp;___________________&nbsp;&nbsp;<em>api</em>
 </li>
 </li>
 </ul>
 </ul>
     
     
 <ul>
 <ul>
 <li>
 <li>
-<a href="http://wiki.apache.org/lucene-hadoop/FAQ">FAQ</a>&nbsp;&nbsp;&nbsp;_________________________&nbsp;&nbsp;<em>faq</em>
+<a href="http://wiki.apache.org/lucene-hadoop/">Wiki</a>&nbsp;&nbsp;___________________&nbsp;&nbsp;<em>wiki</em>
 </li>
 </li>
 </ul>
 </ul>
     
     
 <ul>
 <ul>
 <li>
 <li>
-<a href="http://lucene.apache.org/hadoop/mailing_lists.html">Mailing Lists</a>&nbsp;&nbsp;&nbsp;_________________________&nbsp;&nbsp;<em>lists</em>
+<a href="http://wiki.apache.org/lucene-hadoop/FAQ">FAQ</a>&nbsp;&nbsp;___________________&nbsp;&nbsp;<em>faq</em>
+</li>
+</ul>
+    
+<ul>
+<li>
+<a href="http://lucene.apache.org/hadoop/mailing_lists.html">Mailing Lists</a>&nbsp;&nbsp;___________________&nbsp;&nbsp;<em>lists</em>
 </li>
 </li>
 </ul>
 </ul>
   
   
@@ -202,19 +258,27 @@ document.write("<text>Last Published:</text> " + document.lastModified);
 </ul>
 </ul>
 </ul>
 </ul>
 </div>
 </div>
-</div>
+<!--+
+    |end content
+    +-->
 <div class="clearboth">&nbsp;</div>
 <div class="clearboth">&nbsp;</div>
 </div>
 </div>
 <div id="footer">
 <div id="footer">
+<!--+
+    |start bottomstrip
+    +-->
 <div class="lastmodified">
 <div class="lastmodified">
 <script type="text/javascript"><!--
 <script type="text/javascript"><!--
-document.write("<text>Last Published:</text> " + document.lastModified);
+document.write("Last Published: " + document.lastModified);
 //  --></script>
 //  --></script>
 </div>
 </div>
 <div class="copyright">
 <div class="copyright">
         Copyright &copy;
         Copyright &copy;
          2007 <a href="http://www.apache.org/licenses/">The Apache Software Foundation.</a>
          2007 <a href="http://www.apache.org/licenses/">The Apache Software Foundation.</a>
 </div>
 </div>
+<!--+
+    |end bottomstrip
+    +-->
 </div>
 </div>
 </body>
 </body>
 </html>
 </html>

+ 21 - 86
docs/linkmap.pdf

@@ -5,10 +5,10 @@
 /Producer (FOP 0.20.5) >>
 /Producer (FOP 0.20.5) >>
 endobj
 endobj
 5 0 obj
 5 0 obj
-<< /Length 357 /Filter [ /ASCII85Decode /FlateDecode ]
+<< /Length 881 /Filter [ /ASCII85Decode /FlateDecode ]
  >>
  >>
 stream
 stream
-GauI0_,>n>&;KY!METC?CGrC"Nj`F.NYeV(W<]6G1/^A&*T(0o)+Zp_BQ?ZCAG=hhs0WHJ>9?gp&kjq=\>2I.5nM+G'#`g5(eF;:#g<UH]j9#u/%AG;)K*4.U3]$MbmIdn4:EnQ1r1dMX;T+jcNKHEPnq3rPum.l5-:kLX86_r0p''/O]3Qe#m5V<OW1G%7,)fBqF^G*>hr$Mh_DcrLsR56#bIK6F`53R[DXtdUdiT?fEY&K$uH3ZGS9>i8i:fc@\e+]Ng%D?EQA^gaAXTIFn=&tLL\*oq4a5lV52V!1.TC[]-^*T]rUc(4)(7LD>dW)PJ3tGFOJ<P&[llGkcDt]YAB9Cf7*hB0p>c~>
+GatUrhbVu\&BE]*=83@Kn8-.jO2h=&fE>]cOnLK+aWrLD8E5jmT`+Vk@q_C,O=@P7la)lRIa5L1mke<t=p9FQLd8OS+T%KW&@c(TJBSg^`6O&N_'"\&\coj/el%E9E'g;OX;kNgl=%k[rC"fs8oJ!PqXKuR[&A(f%"<j$X&3I/';msS@o3@r7%IRdaMtf!G3-deo7$I$i!_!t`ju_pOf@`N'\]$jUi5cQpQW$4e`aThFB]-_B?)7`/:gCj_L>,`HRDpSm'a,062DMe"j`I>YqXZ6s*=Lp3t1"+,S>c&6A@*uN8kHpZk*p=Jd0jT(q\_P<Ru'4HfJ;0C+`[T",H"HjXPU1)/s7:(brcMB\-%SIZi]92AHU-JA\(8g,kiL6NkCRA2gX7*ZE:=4eI_E*V38P4gu)H1_0@33hSPbgI@+4:[kd=mHh1f9\S1U)^mViitQ#pqb0/']Js9#Hbs?b'df-V.\$s:,VZ%a:pnA'dn*(Z)m,/O^,u-6ni$*"P-ic>QFr_\8s(Er6X=cUeKUVt[1tjAqTT`EPK13uDdMd'GusT@MInb+@5+pri'[Dq3!r1ABru0e\$EUF83$hS)2^8af*Sl.N^g)6E"fFUIXEcVmTQ$H"pQ!0TmEE0\'j'_UNO!Brl*p`No7HP9"G[N+NAVGRZ8_ieaud(aOrfZ3qWF,\XVT`c].FqQ8]o(nXXUnj"q37ULeD`Aa,([?a,N]rrOFof9oQLTNF79h*[g``FIL0G.e>S&W@R"SMGeMJQdTKib!1FgIPf)?e`Yh7$Mt&,dqo"a?UA'(-.d=[JO1Oqa1&Ui@SKJ[g5<_f2`Yn;n:]RbdZ2=URui!c)alKj^#b*]uS:$2`g?GZUJB,I?DE2oR@6"SEp~>
 endstream
 endstream
 endobj
 endobj
 6 0 obj
 6 0 obj
@@ -17,143 +17,78 @@ endobj
 /MediaBox [ 0 0 612 792 ]
 /MediaBox [ 0 0 612 792 ]
 /Resources 3 0 R
 /Resources 3 0 R
 /Contents 5 0 R
 /Contents 5 0 R
-/Annots 7 0 R
 >>
 >>
 endobj
 endobj
 7 0 obj
 7 0 obj
-[
-8 0 R
-]
-endobj
-8 0 obj
-<< /Type /Annot
-/Subtype /Link
-/Rect [ 102.0 559.666 195.992 547.666 ]
-/C [ 0 0 0 ]
-/Border [ 0 0 0 ]
-/A 9 0 R
-/H /I
->>
-endobj
-10 0 obj
-<< /Length 858 /Filter [ /ASCII85Decode /FlateDecode ]
- >>
-stream
-Gatn%?#Q2d'Sc)P'u"K;iqhDKRC:;MBiWmkBc#M\\_na3"B$qUp?uWX'MM_'-'m>*/H!3m#G8mo&&#<7"IMIX_Ms>df#%L@56_.oCP#E>W;tlur&hgb'J'Nnf2"_UTB\Va2uWD<Sf+)eneD!+iE,JHkWN+s>55GUMGaY,+TQ<G?P!u<!=B;(]fY\q#/UA((2*t@3(1Djq*bSX%*hoOebp?\h$,4\%9G%)o7Nm(/`iV0hbdCd;Pb5H+<UdB1,8Vg&0bj#,Tr4%q#]TBj"c[q]hOhK8Y42Fo1=l'\A`_m^5"*$"n#$>hT!0Qd`#.ZT4a;j"B$cT7eoo,MG?_+^J/oR-.,(o<+4q[YpOOpeYAm&7EBj)hBom+X4$4+YE$"Ke]_OElnLna%;a3gFpaH:a+O6jo]gJ)mO=Jk['L!!10(#\_GUc`r.4MnhL+6Xg8>piR;6qII+N?Q3?9NL9O8toSOm%`Pd,f8?6'@n:\(dkNtp'r'O'mfCchZ];G%-gAM63c-h1:V*ID:_bF>TJ^=7Lp`H/A#_(cfMm.([_P`rA`>2F^J(n2j20=A<(!3W(X,h%F2NYU')j<9ot-%ZpKc].'$PPpr2'[CH=pKs"%LQ-VM,bb;].ue>0UhsO^n+'[\R[GgmT`@tp`3*t2b'&+;n0&`eZ1"<)$7*(O%LLiPlfQ[1+B$'A$<"3A&%3FeK2"K`28]_i&k_$*1q%]!HD9*b'?pnPDN1SjJLtSCG(-o847ja-E8C,T&InS)1@>QcQua)M%X_m9E@Z0o+9!%tG%V`,H5<fCkI?QY6F)ZhSaM-l5t,\(c8Xlg(!arOYHkYU=J2uP:&CUR/tH+2p1pjAf]VZE39,F8~>
-endstream
-endobj
-11 0 obj
-<< /Type /Page
-/Parent 1 0 R
-/MediaBox [ 0 0 612 792 ]
-/Resources 3 0 R
-/Contents 10 0 R
->>
-endobj
-13 0 obj
-<<
- /Title (\376\377\0\61\0\40\0\124\0\141\0\142\0\154\0\145\0\40\0\157\0\146\0\40\0\103\0\157\0\156\0\164\0\145\0\156\0\164\0\163)
- /Parent 12 0 R
- /A 9 0 R
->> endobj
-14 0 obj
 << /Type /Font
 << /Type /Font
 /Subtype /Type1
 /Subtype /Type1
 /Name /F3
 /Name /F3
 /BaseFont /Helvetica-Bold
 /BaseFont /Helvetica-Bold
 /Encoding /WinAnsiEncoding >>
 /Encoding /WinAnsiEncoding >>
 endobj
 endobj
-15 0 obj
+8 0 obj
 << /Type /Font
 << /Type /Font
 /Subtype /Type1
 /Subtype /Type1
 /Name /F5
 /Name /F5
 /BaseFont /Times-Roman
 /BaseFont /Times-Roman
 /Encoding /WinAnsiEncoding >>
 /Encoding /WinAnsiEncoding >>
 endobj
 endobj
-16 0 obj
+9 0 obj
 << /Type /Font
 << /Type /Font
 /Subtype /Type1
 /Subtype /Type1
 /Name /F6
 /Name /F6
 /BaseFont /Times-Italic
 /BaseFont /Times-Italic
 /Encoding /WinAnsiEncoding >>
 /Encoding /WinAnsiEncoding >>
 endobj
 endobj
-17 0 obj
+10 0 obj
 << /Type /Font
 << /Type /Font
 /Subtype /Type1
 /Subtype /Type1
 /Name /F1
 /Name /F1
 /BaseFont /Helvetica
 /BaseFont /Helvetica
 /Encoding /WinAnsiEncoding >>
 /Encoding /WinAnsiEncoding >>
 endobj
 endobj
-18 0 obj
+11 0 obj
 << /Type /Font
 << /Type /Font
 /Subtype /Type1
 /Subtype /Type1
 /Name /F2
 /Name /F2
 /BaseFont /Helvetica-Oblique
 /BaseFont /Helvetica-Oblique
 /Encoding /WinAnsiEncoding >>
 /Encoding /WinAnsiEncoding >>
 endobj
 endobj
-19 0 obj
-<< /Type /Font
-/Subtype /Type1
-/Name /F7
-/BaseFont /Times-Bold
-/Encoding /WinAnsiEncoding >>
-endobj
 1 0 obj
 1 0 obj
 << /Type /Pages
 << /Type /Pages
-/Count 2
-/Kids [6 0 R 11 0 R ] >>
+/Count 1
+/Kids [6 0 R ] >>
 endobj
 endobj
 2 0 obj
 2 0 obj
 << /Type /Catalog
 << /Type /Catalog
 /Pages 1 0 R
 /Pages 1 0 R
- /Outlines 12 0 R
- /PageMode /UseOutlines
  >>
  >>
 endobj
 endobj
 3 0 obj
 3 0 obj
 << 
 << 
-/Font << /F3 14 0 R /F5 15 0 R /F1 17 0 R /F6 16 0 R /F2 18 0 R /F7 19 0 R >> 
+/Font << /F3 7 0 R /F5 8 0 R /F1 10 0 R /F6 9 0 R /F2 11 0 R >> 
 /ProcSet [ /PDF /ImageC /Text ] >> 
 /ProcSet [ /PDF /ImageC /Text ] >> 
 endobj
 endobj
-9 0 obj
-<<
-/S /GoTo
-/D [11 0 R /XYZ 85.0 659.0 null]
->>
-endobj
-12 0 obj
-<<
- /First 13 0 R
- /Last 13 0 R
->> endobj
 xref
 xref
-0 20
+0 12
 0000000000 65535 f 
 0000000000 65535 f 
-0000002701 00000 n 
-0000002766 00000 n 
-0000002858 00000 n 
+0000001704 00000 n 
+0000001762 00000 n 
+0000001812 00000 n 
 0000000015 00000 n 
 0000000015 00000 n 
 0000000071 00000 n 
 0000000071 00000 n 
-0000000519 00000 n 
-0000000639 00000 n 
-0000000664 00000 n 
-0000002992 00000 n 
-0000000799 00000 n 
-0000001749 00000 n 
-0000003055 00000 n 
-0000001857 00000 n 
-0000002034 00000 n 
-0000002147 00000 n 
-0000002257 00000 n 
-0000002368 00000 n 
-0000002476 00000 n 
-0000002592 00000 n 
+0000001043 00000 n 
+0000001149 00000 n 
+0000001261 00000 n 
+0000001370 00000 n 
+0000001480 00000 n 
+0000001588 00000 n 
 trailer
 trailer
 <<
 <<
-/Size 20
+/Size 12
 /Root 2 0 R
 /Root 2 0 R
 /Info 4 0 R
 /Info 4 0 R
 >>
 >>
 startxref
 startxref
-3106
+1932
 %%EOF
 %%EOF

+ 153 - 27
docs/mapred_tutorial.html

@@ -1,9 +1,9 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
 <html>
 <html>
 <head>
 <head>
 <META http-equiv="Content-Type" content="text/html; charset=UTF-8">
 <META http-equiv="Content-Type" content="text/html; charset=UTF-8">
 <meta content="Apache Forrest" name="Generator">
 <meta content="Apache Forrest" name="Generator">
-<meta name="Forrest-version" content="0.7">
+<meta name="Forrest-version" content="0.8">
 <meta name="Forrest-skin-name" content="pelt">
 <meta name="Forrest-skin-name" content="pelt">
 <title>Hadoop Map-Reduce Tutorial</title>
 <title>Hadoop Map-Reduce Tutorial</title>
 <link type="text/css" href="skin/basic.css" rel="stylesheet">
 <link type="text/css" href="skin/basic.css" rel="stylesheet">
@@ -16,46 +16,91 @@
 <body onload="init()">
 <body onload="init()">
 <script type="text/javascript">ndeSetTextSize();</script>
 <script type="text/javascript">ndeSetTextSize();</script>
 <div id="top">
 <div id="top">
+<!--+
+    |breadtrail
+    +-->
 <div class="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>
 <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>
 </div>
+<!--+
+    |header
+    +-->
 <div class="header">
 <div class="header">
+<!--+
+    |start group logo
+    +-->
 <div class="grouplogo">
 <div class="grouplogo">
 <a href="http://lucene.apache.org/"><img class="logoImage" alt="Lucene" src="images/lucene_green_150.gif" title="Apache Lucene"></a>
 <a href="http://lucene.apache.org/"><img class="logoImage" alt="Lucene" src="images/lucene_green_150.gif" title="Apache Lucene"></a>
 </div>
 </div>
+<!--+
+    |end group logo
+    +-->
+<!--+
+    |start Project Logo
+    +-->
 <div class="projectlogo">
 <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>
 <a href="http://lucene.apache.org/hadoop/"><img class="logoImage" alt="Hadoop" src="images/hadoop-logo.jpg" title="Scalable Computing Platform"></a>
 </div>
 </div>
+<!--+
+    |end Project Logo
+    +-->
+<!--+
+    |start Search
+    +-->
 <div class="searchbox">
 <div class="searchbox">
 <form action="http://www.google.com/search" method="get" class="roundtopsmall">
 <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 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 attr="value" name="Search" value="Search" type="submit">
+                    <input name="Search" value="Search" type="submit">
 </form>
 </form>
 </div>
 </div>
+<!--+
+    |end search
+    +-->
+<!--+
+    |start Tabs
+    +-->
 <ul id="tabs">
 <ul id="tabs">
 <li>
 <li>
-<a class="base-not-selected" href="http://lucene.apache.org/hadoop/">Project</a>
+<a class="unselected" href="http://lucene.apache.org/hadoop/">Project</a>
 </li>
 </li>
 <li>
 <li>
-<a class="base-not-selected" href="http://wiki.apache.org/lucene-hadoop">Wiki</a>
+<a class="unselected" href="http://wiki.apache.org/lucene-hadoop">Wiki</a>
 </li>
 </li>
 <li class="current">
 <li class="current">
-<a class="base-selected" href="index.html">Hadoop 0.16 Documentation</a>
+<a class="selected" href="index.html">Hadoop 0.16 Documentation</a>
 </li>
 </li>
 </ul>
 </ul>
+<!--+
+    |end Tabs
+    +-->
 </div>
 </div>
 </div>
 </div>
 <div id="main">
 <div id="main">
 <div id="publishedStrip">
 <div id="publishedStrip">
+<!--+
+    |start Subtabs
+    +-->
 <div id="level2tabs"></div>
 <div id="level2tabs"></div>
+<!--+
+    |end Endtabs
+    +-->
 <script type="text/javascript"><!--
 <script type="text/javascript"><!--
-document.write("<text>Last Published:</text> " + document.lastModified);
+document.write("Last Published: " + document.lastModified);
 //  --></script>
 //  --></script>
 </div>
 </div>
+<!--+
+    |breadtrail
+    +-->
 <div class="breadtrail">
 <div class="breadtrail">
-             
+
              &nbsp;
              &nbsp;
            </div>
            </div>
+<!--+
+    |start Menu, mainarea
+    +-->
+<!--+
+    |start Menu
+    +-->
 <div id="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 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 id="menu_selected_1.1" class="selectedmenuitemgroup" style="display: block;">
@@ -75,6 +120,9 @@ document.write("<text>Last Published:</text> " + document.lastModified);
 <div class="menupagetitle">Map-Reduce Tutorial</div>
 <div class="menupagetitle">Map-Reduce Tutorial</div>
 </div>
 </div>
 <div class="menuitem">
 <div class="menuitem">
+<a href="native_libraries.html">Native Hadoop Libraries</a>
+</div>
+<div class="menuitem">
 <a href="streaming.html">Streaming</a>
 <a href="streaming.html">Streaming</a>
 </div>
 </div>
 <div class="menuitem">
 <div class="menuitem">
@@ -96,8 +144,17 @@ document.write("<text>Last Published:</text> " + document.lastModified);
 <div id="credit"></div>
 <div id="credit"></div>
 <div id="roundbottom">
 <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>
 <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 id="credit2"></div>
 </div>
 </div>
+<!--+
+    |end Menu
+    +-->
+<!--+
+    |start content
+    +-->
 <div id="content">
 <div id="content">
 <div title="Portable Document Format" class="pdflink">
 <div title="Portable Document Format" class="pdflink">
 <a class="dida" href="mapred_tutorial.pdf"><img alt="PDF -icon" src="skin/images/pdfdoc.gif" class="skin"><br>
 <a class="dida" href="mapred_tutorial.pdf"><img alt="PDF -icon" src="skin/images/pdfdoc.gif" class="skin"><br>
@@ -206,6 +263,9 @@ document.write("<text>Last Published:</text> " + document.lastModified);
 <li>
 <li>
 <a href="#JobControl">JobControl</a>
 <a href="#JobControl">JobControl</a>
 </li>
 </li>
+<li>
+<a href="#Data+Compression">Data Compression</a>
+</li>
 </ul>
 </ul>
 </li>
 </li>
 </ul>
 </ul>
@@ -214,7 +274,7 @@ document.write("<text>Last Published:</text> " + document.lastModified);
 <a href="#Example%3A+WordCount+v2.0">Example: WordCount v2.0</a>
 <a href="#Example%3A+WordCount+v2.0">Example: WordCount v2.0</a>
 <ul class="minitoc">
 <ul class="minitoc">
 <li>
 <li>
-<a href="#Source+Code-N10A91">Source Code</a>
+<a href="#Source+Code-N10B1F">Source Code</a>
 </li>
 </li>
 <li>
 <li>
 <a href="#Sample+Runs">Sample Runs</a>
 <a href="#Sample+Runs">Sample Runs</a>
@@ -1513,9 +1573,14 @@ document.write("<text>Last Published:</text> " + document.lastModified);
         individual task.</p>
         individual task.</p>
 <p>
 <p>
 <a href="api/org/apache/hadoop/mapred/TextInputFormat.html">
 <a href="api/org/apache/hadoop/mapred/TextInputFormat.html">
-        TextInputFormat</a> is the default <span class="codefrag">InputFormat</span>.
-        </p>
-<a name="N108E9"></a><a name="InputSplit"></a>
+        TextInputFormat</a> is the default <span class="codefrag">InputFormat</span>.</p>
+<p>If <span class="codefrag">TextInputFormat</span> is the <span class="codefrag">InputFormat</span> for a 
+        given job, the framework detects input-files with the <em>.gz</em> and 
+        <em>.lzo</em> extensions and automatically decompresses them using the 
+        appropriate <span class="codefrag">CompressionCodec</span>. However, it must be noted that
+        compressed files with the above extensions cannot be <em>split</em> and 
+        each compressed file is processed in its entirety by a single mapper.</p>
+<a name="N108FE"></a><a name="InputSplit"></a>
 <h4>InputSplit</h4>
 <h4>InputSplit</h4>
 <p>
 <p>
 <a href="api/org/apache/hadoop/mapred/InputSplit.html">
 <a href="api/org/apache/hadoop/mapred/InputSplit.html">
@@ -1529,7 +1594,7 @@ document.write("<text>Last Published:</text> " + document.lastModified);
           FileSplit</a> is the default <span class="codefrag">InputSplit</span>. It sets 
           FileSplit</a> is the default <span class="codefrag">InputSplit</span>. It sets 
           <span class="codefrag">map.input.file</span> to the path of the input file for the
           <span class="codefrag">map.input.file</span> to the path of the input file for the
           logical split.</p>
           logical split.</p>
-<a name="N1090E"></a><a name="RecordReader"></a>
+<a name="N10923"></a><a name="RecordReader"></a>
 <h4>RecordReader</h4>
 <h4>RecordReader</h4>
 <p>
 <p>
 <a href="api/org/apache/hadoop/mapred/RecordReader.html">
 <a href="api/org/apache/hadoop/mapred/RecordReader.html">
@@ -1541,7 +1606,7 @@ document.write("<text>Last Published:</text> " + document.lastModified);
           for processing. <span class="codefrag">RecordReader</span> thus assumes the 
           for processing. <span class="codefrag">RecordReader</span> thus assumes the 
           responsibility of processing record boundaries and presents the tasks 
           responsibility of processing record boundaries and presents the tasks 
           with keys and values.</p>
           with keys and values.</p>
-<a name="N10931"></a><a name="Job+Output"></a>
+<a name="N10946"></a><a name="Job+Output"></a>
 <h3 class="h4">Job Output</h3>
 <h3 class="h4">Job Output</h3>
 <p>
 <p>
 <a href="api/org/apache/hadoop/mapred/OutputFormat.html">
 <a href="api/org/apache/hadoop/mapred/OutputFormat.html">
@@ -1566,7 +1631,7 @@ document.write("<text>Last Published:</text> " + document.lastModified);
 <p>
 <p>
 <span class="codefrag">TextOutputFormat</span> is the default 
 <span class="codefrag">TextOutputFormat</span> is the default 
         <span class="codefrag">OutputFormat</span>.</p>
         <span class="codefrag">OutputFormat</span>.</p>
-<a name="N1095A"></a><a name="Task+Side-Effect+Files"></a>
+<a name="N1096F"></a><a name="Task+Side-Effect+Files"></a>
 <h4>Task Side-Effect Files</h4>
 <h4>Task Side-Effect Files</h4>
 <p>In some applications, component tasks need to create and/or write to
 <p>In some applications, component tasks need to create and/or write to
           side-files, which differ from the actual job-output files.</p>
           side-files, which differ from the actual job-output files.</p>
@@ -1592,7 +1657,7 @@ document.write("<text>Last Published:</text> " + document.lastModified);
           JobConf.getOutputPath()</a>, and the framework will promote them 
           JobConf.getOutputPath()</a>, and the framework will promote them 
           similarly for succesful task-attempts, thus eliminating the need to 
           similarly for succesful task-attempts, thus eliminating the need to 
           pick unique paths per task-attempt.</p>
           pick unique paths per task-attempt.</p>
-<a name="N1098F"></a><a name="RecordWriter"></a>
+<a name="N109A4"></a><a name="RecordWriter"></a>
 <h4>RecordWriter</h4>
 <h4>RecordWriter</h4>
 <p>
 <p>
 <a href="api/org/apache/hadoop/mapred/RecordWriter.html">
 <a href="api/org/apache/hadoop/mapred/RecordWriter.html">
@@ -1600,9 +1665,9 @@ document.write("<text>Last Published:</text> " + document.lastModified);
           pairs to an output file.</p>
           pairs to an output file.</p>
 <p>RecordWriter implementations write the job outputs to the 
 <p>RecordWriter implementations write the job outputs to the 
           <span class="codefrag">FileSystem</span>.</p>
           <span class="codefrag">FileSystem</span>.</p>
-<a name="N109A6"></a><a name="Other+Useful+Features"></a>
+<a name="N109BB"></a><a name="Other+Useful+Features"></a>
 <h3 class="h4">Other Useful Features</h3>
 <h3 class="h4">Other Useful Features</h3>
-<a name="N109AC"></a><a name="Counters"></a>
+<a name="N109C1"></a><a name="Counters"></a>
 <h4>Counters</h4>
 <h4>Counters</h4>
 <p>
 <p>
 <span class="codefrag">Counters</span> represent global counters, defined either by 
 <span class="codefrag">Counters</span> represent global counters, defined either by 
@@ -1616,7 +1681,7 @@ document.write("<text>Last Published:</text> " + document.lastModified);
           Reporter.incrCounter(Enum, long)</a> in the <span class="codefrag">map</span> and/or 
           Reporter.incrCounter(Enum, long)</a> in the <span class="codefrag">map</span> and/or 
           <span class="codefrag">reduce</span> methods. These counters are then globally 
           <span class="codefrag">reduce</span> methods. These counters are then globally 
           aggregated by the framework.</p>
           aggregated by the framework.</p>
-<a name="N109D7"></a><a name="DistributedCache"></a>
+<a name="N109EC"></a><a name="DistributedCache"></a>
 <h4>DistributedCache</h4>
 <h4>DistributedCache</h4>
 <p>
 <p>
 <a href="api/org/apache/hadoop/filecache/DistributedCache.html">
 <a href="api/org/apache/hadoop/filecache/DistributedCache.html">
@@ -1648,7 +1713,7 @@ document.write("<text>Last Published:</text> " + document.lastModified);
 <span class="codefrag">DistributedCache</span> tracks the modification timestamps of 
 <span class="codefrag">DistributedCache</span> tracks the modification timestamps of 
           the cached files. Clearly the cache files should not be modified by 
           the cached files. Clearly the cache files should not be modified by 
           the application or externally while the job is executing.</p>
           the application or externally while the job is executing.</p>
-<a name="N10A11"></a><a name="Tool"></a>
+<a name="N10A26"></a><a name="Tool"></a>
 <h4>Tool</h4>
 <h4>Tool</h4>
 <p>The <a href="api/org/apache/hadoop/util/Tool.html">Tool</a> 
 <p>The <a href="api/org/apache/hadoop/util/Tool.html">Tool</a> 
           interface supports the handling of generic Hadoop command-line options.
           interface supports the handling of generic Hadoop command-line options.
@@ -1688,7 +1753,7 @@ document.write("<text>Last Published:</text> " + document.lastModified);
             </span>
             </span>
           
           
 </p>
 </p>
-<a name="N10A43"></a><a name="IsolationRunner"></a>
+<a name="N10A58"></a><a name="IsolationRunner"></a>
 <h4>IsolationRunner</h4>
 <h4>IsolationRunner</h4>
 <p>
 <p>
 <a href="api/org/apache/hadoop/mapred/IsolationRunner.html">
 <a href="api/org/apache/hadoop/mapred/IsolationRunner.html">
@@ -1712,21 +1777,73 @@ document.write("<text>Last Published:</text> " + document.lastModified);
 <p>
 <p>
 <span class="codefrag">IsolationRunner</span> will run the failed task in a single 
 <span class="codefrag">IsolationRunner</span> will run the failed task in a single 
           jvm, which can be in the debugger, over precisely the same input.</p>
           jvm, which can be in the debugger, over precisely the same input.</p>
-<a name="N10A76"></a><a name="JobControl"></a>
+<a name="N10A8B"></a><a name="JobControl"></a>
 <h4>JobControl</h4>
 <h4>JobControl</h4>
 <p>
 <p>
 <a href="api/org/apache/hadoop/mapred/jobcontrol/package-summary.html">
 <a href="api/org/apache/hadoop/mapred/jobcontrol/package-summary.html">
           JobControl</a> is a utility which encapsulates a set of Map-Reduce jobs
           JobControl</a> is a utility which encapsulates a set of Map-Reduce jobs
           and their dependencies.</p>
           and their dependencies.</p>
+<a name="N10A98"></a><a name="Data+Compression"></a>
+<h4>Data Compression</h4>
+<p>Hadoop Map-Reduce provides facilities for the application-writer to
+          specify compression for both intermediate map-outputs and the
+          job-outputs i.e. output of the reduces. It also comes bundled with
+          <a href="api/org/apache/hadoop/io/compress/CompressionCodec.html">
+          CompressionCodec</a> implementations for the 
+          <a href="http://www.zlib.net/">zlib</a> and <a href="http://www.oberhumer.com/opensource/lzo/">lzo</a> compression 
+          algorithms. The <a href="http://www.gzip.org/">gzip</a> file format is also
+          supported.</p>
+<p>Hadoop also provides native implementations of the above compression
+          codecs for reasons of both performance (zlib) and non-availability of
+          Java libraries (lzo). More details on their usage and availability are
+          available <a href="native_libraries.html">here</a>.</p>
+<a name="N10AB8"></a><a name="Intermediate+Outputs"></a>
+<h5>Intermediate Outputs</h5>
+<p>Applications can control compression of intermediate map-outputs
+            via the 
+            <a href="api/org/apache/hadoop/mapred/JobConf.html#setCompressMapOutput(boolean)">
+            JobConf.setCompressMapOutput(boolean)</a> api and the 
+            <span class="codefrag">CompressionCodec</span> to be used via the
+            <a href="api/org/apache/hadoop/mapred/JobConf.html#setMapOutputCompressorClass(java.lang.Class)">
+            JobConf.setMapOutputCompressorClass(Class)</a> api. Since 
+            the intermediate map-outputs are always stored in the 
+            <a href="api/org/apache/hadoop/io/SequenceFile.html">SequenceFile</a>
+            format, the
+            <a href="api/org/apache/hadoop/io/SequenceFile.CompressionType.html">
+            SequenceFile.CompressionType</a> (i.e.
+            <a href="api/org/apache/hadoop/io/SequenceFile.CompressionType.html#RECORD">
+            RECORD</a> / 
+            <a href="api/org/apache/hadoop/io/SequenceFile.CompressionType.html#BLOCK">
+            BLOCK</a> - defaults to <span class="codefrag">RECORD</span>) can be specified via the
+            <a href="api/org/apache/hadoop/mapred/JobConf.html#setMapOutputCompressionType(org.apache.hadoop.io.SequenceFile.CompressionType)">
+            JobConf.setMapOutputCompressionType(SequenceFile.CompressionType)</a> 
+            api.</p>
+<a name="N10AE4"></a><a name="Job+Outputs"></a>
+<h5>Job Outputs</h5>
+<p>Applications can control compression of job-outputs via the
+            <a href="api/org/apache/hadoop/mapred/OutputFormatBase.html#setCompressOutput(org.apache.hadoop.mapred.JobConf,%20boolean)">
+            OutputFormatBase.setCompressOutput(JobConf, boolean)</a> api and the 
+            <span class="codefrag">CompressionCodec</span> to be used can be specified via the
+            <a href="api/org/apache/hadoop/mapred/OutputFormatBase.html#setOutputCompressorClass(org.apache.hadoop.mapred.JobConf,%20java.lang.Class)">
+            OutputFormatBase.setOutputCompressorClass(JobConf, Class)</a> api.</p>
+<p>If the job outputs are to be stored in the 
+            <a href="api/org/apache/hadoop/mapred/SequenceFileOutputFormat.html">
+            SequenceFileOutputFormat</a>, the required
+            <span class="codefrag">SequenceFile.CompressionType</span> (i.e. <span class="codefrag">RECORD</span> / 
+            <span class="codefrag">BLOCK</span> - defaults to <span class="codefrag">RECORD</span>)can be specified 
+            via the 
+            <a href="api/org/apache/hadoop/mapred/SequenceFileOutputFormat.html#setOutputCompressionType(org.apache.hadoop.mapred.JobConf,%20org.apache.hadoop.io.SequenceFile.CompressionType)">
+            SequenceFileOutputFormat.setOutputCompressionType(JobConf, 
+            SequenceFile.CompressionType)</a> api.</p>
 </div>
 </div>
 
 
     
     
-<a name="N10A85"></a><a name="Example%3A+WordCount+v2.0"></a>
+<a name="N10B13"></a><a name="Example%3A+WordCount+v2.0"></a>
 <h2 class="h3">Example: WordCount v2.0</h2>
 <h2 class="h3">Example: WordCount v2.0</h2>
 <div class="section">
 <div class="section">
 <p>Here is a more complete <span class="codefrag">WordCount</span> which uses many of the
 <p>Here is a more complete <span class="codefrag">WordCount</span> which uses many of the
       features provided by the Map-Reduce framework we discussed so far:</p>
       features provided by the Map-Reduce framework we discussed so far:</p>
-<a name="N10A91"></a><a name="Source+Code-N10A91"></a>
+<a name="N10B1F"></a><a name="Source+Code-N10B1F"></a>
 <h3 class="h4">Source Code</h3>
 <h3 class="h4">Source Code</h3>
 <table class="ForrestTable" cellspacing="1" cellpadding="4">
 <table class="ForrestTable" cellspacing="1" cellpadding="4">
           
           
@@ -2904,7 +3021,7 @@ document.write("<text>Last Published:</text> " + document.lastModified);
 </tr>
 </tr>
         
         
 </table>
 </table>
-<a name="N111C3"></a><a name="Sample+Runs"></a>
+<a name="N11251"></a><a name="Sample+Runs"></a>
 <h3 class="h4">Sample Runs</h3>
 <h3 class="h4">Sample Runs</h3>
 <p>Sample text-files as input:</p>
 <p>Sample text-files as input:</p>
 <p>
 <p>
@@ -3069,7 +3186,7 @@ document.write("<text>Last Published:</text> " + document.lastModified);
 <br>
 <br>
         
         
 </p>
 </p>
-<a name="N11293"></a><a name="Salient+Points"></a>
+<a name="N11321"></a><a name="Salient+Points"></a>
 <h3 class="h4">Salient Points</h3>
 <h3 class="h4">Salient Points</h3>
 <p>The second version of <span class="codefrag">WordCount</span> improves upon the 
 <p>The second version of <span class="codefrag">WordCount</span> improves upon the 
         previous one by using some features offered by the Map-Reduce framework:
         previous one by using some features offered by the Map-Reduce framework:
@@ -3114,18 +3231,27 @@ document.write("<text>Last Published:</text> " + document.lastModified);
     
     
   
   
 </div>
 </div>
+<!--+
+    |end content
+    +-->
 <div class="clearboth">&nbsp;</div>
 <div class="clearboth">&nbsp;</div>
 </div>
 </div>
 <div id="footer">
 <div id="footer">
+<!--+
+    |start bottomstrip
+    +-->
 <div class="lastmodified">
 <div class="lastmodified">
 <script type="text/javascript"><!--
 <script type="text/javascript"><!--
-document.write("<text>Last Published:</text> " + document.lastModified);
+document.write("Last Published: " + document.lastModified);
 //  --></script>
 //  --></script>
 </div>
 </div>
 <div class="copyright">
 <div class="copyright">
         Copyright &copy;
         Copyright &copy;
          2007 <a href="http://www.apache.org/licenses/">The Apache Software Foundation.</a>
          2007 <a href="http://www.apache.org/licenses/">The Apache Software Foundation.</a>
 </div>
 </div>
+<!--+
+    |end bottomstrip
+    +-->
 </div>
 </div>
 </body>
 </body>
 </html>
 </html>

File diff suppressed because it is too large
+ 3 - 3
docs/mapred_tutorial.pdf


+ 404 - 0
docs/native_libraries.html

@@ -0,0 +1,404 @@
+<!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>Native Hadoop Libraries</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>
+<a class="unselected" href="http://lucene.apache.org/hadoop/">Project</a>
+</li>
+<li>
+<a class="unselected" href="http://wiki.apache.org/lucene-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="menuitem">
+<a href="mapred_tutorial.html">Map-Reduce Tutorial</a>
+</div>
+<div class="menupage">
+<div class="menupagetitle">Native Hadoop Libraries</div>
+</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/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="http://lucene.apache.org/hadoop/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="native_libraries.pdf"><img alt="PDF -icon" src="skin/images/pdfdoc.gif" class="skin"><br>
+        PDF</a>
+</div>
+<h1>Native Hadoop Libraries</h1>
+<div id="minitoc-area">
+<ul class="minitoc">
+<li>
+<a href="#Purpose">Purpose</a>
+</li>
+<li>
+<a href="#Components">Components</a>
+</li>
+<li>
+<a href="#Usage">Usage</a>
+</li>
+<li>
+<a href="#Supported+Platforms">Supported Platforms</a>
+</li>
+<li>
+<a href="#Building+Native+Hadoop+Libraries">Building Native Hadoop Libraries</a>
+<ul class="minitoc">
+<li>
+<a href="#Notes">Notes</a>
+</li>
+</ul>
+</li>
+</ul>
+</div>
+  
+    
+<a name="N1000C"></a><a name="Purpose"></a>
+<h2 class="h3">Purpose</h2>
+<div class="section">
+<p>Hadoop has native implementations of certain components for reasons of 
+      both performace &amp; non-availability of Java implementations. These 
+      components are available in a single, dynamically-linked, native library. 
+      On the *nix platform it is <em>libhadoop.so</em>. This document describes 
+      the usage &amp; details on how to build the native libraries.</p>
+</div>
+    
+    
+<a name="N10019"></a><a name="Components"></a>
+<h2 class="h3">Components</h2>
+<div class="section">
+<p>Hadoop currently has the following 
+      <a href="api/org/apache/hadoop/io/compress/CompressionCodec.html">
+      compression codecs</a> as the native components:</p>
+<ul>
+        
+<li>
+<a href="http://www.zlib.net/">zlib</a>
+</li>
+        
+<li>
+<a href="http://www.gzip.org/">gzip</a>
+</li>
+        
+<li>
+<a href="http://www.oberhumer.com/opensource/lzo/">lzo</a>
+</li>
+      
+</ul>
+<p>Of the above, the availability of native hadoop libraries is imperative 
+      for the lzo and gzip compression codecs to work.</p>
+</div>
+
+    
+<a name="N1003C"></a><a name="Usage"></a>
+<h2 class="h3">Usage</h2>
+<div class="section">
+<p>It is fairly simple to use the native hadoop libraries:</p>
+<ul>
+        
+<li>
+          Take a look at the 
+          <a href="#Supported+Platforms">supported platforms</a>.
+        </li>
+        
+<li>
+          Either <a href="http://lucene.apache.org/hadoop/releases.html#Download">download</a> the pre-built 
+          32-bit i386-Linux native hadoop libraries (available as part of hadoop 
+          distribution in <span class="codefrag">lib/native</span> directory) or 
+          <a href="#Building+Native+Hadoop+Libraries">build</a> them yourself.
+        </li>
+        
+<li>
+          Ensure you have either or both of <strong>&gt;zlib-1.2</strong> and 
+          <strong>&gt;lzo2.0</strong> packages for your platform installed; 
+          depending on your needs.
+        </li>
+      
+</ul>
+<p>The <span class="codefrag">bin/hadoop</span> script ensures that the native hadoop 
+      library is on the library path via the system property 
+      <em>-Djava.library.path=&lt;path&gt;</em>.</p>
+<p>To check everything went alright check the hadoop log files for:</p>
+<p>
+        
+<span class="codefrag">
+          DEBUG util.NativeCodeLoader - Trying to load the custom-built 
+          native-hadoop library... 
+        </span>
+<br>
+        
+<span class="codefrag">
+          INFO  util.NativeCodeLoader - Loaded the native-hadoop library
+        </span>
+      
+</p>
+<p>If something goes wrong, then:</p>
+<p>
+        
+<span class="codefrag">
+          INFO util.NativeCodeLoader - Unable to load native-hadoop library for 
+          your platform... using builtin-java classes where applicable
+        </span>
+      
+</p>
+</div>
+    
+    
+<a name="N10086"></a><a name="Supported+Platforms"></a>
+<h2 class="h3">Supported Platforms</h2>
+<div class="section">
+<p>Hadoop native library is supported only on *nix platforms only.
+      Unfortunately it is known not to work on <a href="http://www.cygwin.com/">Cygwin</a> 
+      and <a href="http://www.apple.com/macosx">Mac OS X</a> and has mainly been used on the 
+      GNU/Linux platform.</p>
+<p>It has been tested on the following GNU/Linux distributions:</p>
+<ul>
+        
+<li>
+          
+<a href="http://www.redhat.com/rhel/">RHEL4</a>/<a href="http://fedora.redhat.com/">Fedora</a>
+        
+</li>
+        
+<li>
+<a href="http://www.ubuntu.com/">Ubuntu</a>
+</li>
+        
+<li>
+<a href="http://www.gentoo.org/">Gentoo</a>
+</li>
+      
+</ul>
+<p>On all the above platforms a 32/64 bit Hadoop native library will work 
+      with a respective 32/64 bit jvm.</p>
+</div>
+    
+    
+<a name="N100B6"></a><a name="Building+Native+Hadoop+Libraries"></a>
+<h2 class="h3">Building Native Hadoop Libraries</h2>
+<div class="section">
+<p>Hadoop native library is written in 
+      <a href="http://en.wikipedia.org/wiki/ANSI_C">ANSI C</a> and built using 
+      the GNU autotools-chain (autoconf, autoheader, automake, autoscan, libtool). 
+      This means it should be straight-forward to build them on any platform with 
+      a standards compliant C compiler and the GNU autotools-chain. 
+      See <a href="#Supported+Platforms">supported platforms</a>.</p>
+<p>In particular the various packages you would need on the target 
+      platform are:</p>
+<ul>
+        
+<li>
+          C compiler (e.g. <a href="http://gcc.gnu.org/">GNU C Compiler</a>)
+        </li>
+        
+<li>
+          GNU Autools Chain: 
+          <a href="http://www.gnu.org/software/autoconf/">autoconf</a>, 
+          <a href="http://www.gnu.org/software/automake/">automake</a>, 
+          <a href="http://www.gnu.org/software/libtool/">libtool</a>
+        
+</li>
+        
+<li> 
+          zlib-development package (stable version &gt;= 1.2.0)
+        </li>
+        
+<li> 
+          lzo-development package (stable version &gt;= 2.0)
+        </li> 
+      
+</ul>
+<p>Once you have the pre-requisites use the standard <span class="codefrag">build.xml</span> 
+      and pass along the <span class="codefrag">compile.native</span> flag (set to 
+      <span class="codefrag">true</span>) to build the native hadoop library:</p>
+<p>
+<span class="codefrag">$ ant -Dcompile.native=true &lt;target&gt;</span>
+</p>
+<p>The native hadoop library is not built by default since not everyone is 
+      interested in building them.</p>
+<p>You should see the newly-built native hadoop library in:</p>
+<p>
+<span class="codefrag">$ build/native/&lt;platform&gt;/lib</span>
+</p>
+<p>where &lt;platform&gt; is combination of the system-properties: 
+      <span class="codefrag">${os.name}-${os.arch}-${sun.arch.data.model}</span>; for e.g. 
+      Linux-i386-32.</p>
+<a name="N10109"></a><a name="Notes"></a>
+<h3 class="h4">Notes</h3>
+<ul>
+          
+<li>
+            It is <strong>mandatory</strong> to have both the zlib and lzo 
+            development packages on the target platform for building the 
+            native hadoop library; however for deployment it is sufficient to 
+            install zlib or lzo if you wish to use only one of them.
+          </li>
+          
+<li>
+            It is necessary to have the correct 32/64 libraries of both zlib/lzo 
+            depending on the 32/64 bit jvm for the target platform for 
+            building/deployment of the native hadoop library.
+          </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>

File diff suppressed because it is too large
+ 96 - 0
docs/native_libraries.pdf


+ 75 - 9
docs/quickstart.html

@@ -1,9 +1,9 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
 <html>
 <html>
 <head>
 <head>
 <META http-equiv="Content-Type" content="text/html; charset=UTF-8">
 <META http-equiv="Content-Type" content="text/html; charset=UTF-8">
 <meta content="Apache Forrest" name="Generator">
 <meta content="Apache Forrest" name="Generator">
-<meta name="Forrest-version" content="0.7">
+<meta name="Forrest-version" content="0.8">
 <meta name="Forrest-skin-name" content="pelt">
 <meta name="Forrest-skin-name" content="pelt">
 <title>Hadoop Quickstart</title>
 <title>Hadoop Quickstart</title>
 <link type="text/css" href="skin/basic.css" rel="stylesheet">
 <link type="text/css" href="skin/basic.css" rel="stylesheet">
@@ -16,46 +16,91 @@
 <body onload="init()">
 <body onload="init()">
 <script type="text/javascript">ndeSetTextSize();</script>
 <script type="text/javascript">ndeSetTextSize();</script>
 <div id="top">
 <div id="top">
+<!--+
+    |breadtrail
+    +-->
 <div class="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>
 <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>
 </div>
+<!--+
+    |header
+    +-->
 <div class="header">
 <div class="header">
+<!--+
+    |start group logo
+    +-->
 <div class="grouplogo">
 <div class="grouplogo">
 <a href="http://lucene.apache.org/"><img class="logoImage" alt="Lucene" src="images/lucene_green_150.gif" title="Apache Lucene"></a>
 <a href="http://lucene.apache.org/"><img class="logoImage" alt="Lucene" src="images/lucene_green_150.gif" title="Apache Lucene"></a>
 </div>
 </div>
+<!--+
+    |end group logo
+    +-->
+<!--+
+    |start Project Logo
+    +-->
 <div class="projectlogo">
 <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>
 <a href="http://lucene.apache.org/hadoop/"><img class="logoImage" alt="Hadoop" src="images/hadoop-logo.jpg" title="Scalable Computing Platform"></a>
 </div>
 </div>
+<!--+
+    |end Project Logo
+    +-->
+<!--+
+    |start Search
+    +-->
 <div class="searchbox">
 <div class="searchbox">
 <form action="http://www.google.com/search" method="get" class="roundtopsmall">
 <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 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 attr="value" name="Search" value="Search" type="submit">
+                    <input name="Search" value="Search" type="submit">
 </form>
 </form>
 </div>
 </div>
+<!--+
+    |end search
+    +-->
+<!--+
+    |start Tabs
+    +-->
 <ul id="tabs">
 <ul id="tabs">
 <li>
 <li>
-<a class="base-not-selected" href="http://lucene.apache.org/hadoop/">Project</a>
+<a class="unselected" href="http://lucene.apache.org/hadoop/">Project</a>
 </li>
 </li>
 <li>
 <li>
-<a class="base-not-selected" href="http://wiki.apache.org/lucene-hadoop">Wiki</a>
+<a class="unselected" href="http://wiki.apache.org/lucene-hadoop">Wiki</a>
 </li>
 </li>
 <li class="current">
 <li class="current">
-<a class="base-selected" href="index.html">Hadoop 0.16 Documentation</a>
+<a class="selected" href="index.html">Hadoop 0.16 Documentation</a>
 </li>
 </li>
 </ul>
 </ul>
+<!--+
+    |end Tabs
+    +-->
 </div>
 </div>
 </div>
 </div>
 <div id="main">
 <div id="main">
 <div id="publishedStrip">
 <div id="publishedStrip">
+<!--+
+    |start Subtabs
+    +-->
 <div id="level2tabs"></div>
 <div id="level2tabs"></div>
+<!--+
+    |end Endtabs
+    +-->
 <script type="text/javascript"><!--
 <script type="text/javascript"><!--
-document.write("<text>Last Published:</text> " + document.lastModified);
+document.write("Last Published: " + document.lastModified);
 //  --></script>
 //  --></script>
 </div>
 </div>
+<!--+
+    |breadtrail
+    +-->
 <div class="breadtrail">
 <div class="breadtrail">
-             
+
              &nbsp;
              &nbsp;
            </div>
            </div>
+<!--+
+    |start Menu, mainarea
+    +-->
+<!--+
+    |start Menu
+    +-->
 <div id="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 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 id="menu_selected_1.1" class="selectedmenuitemgroup" style="display: block;">
@@ -75,6 +120,9 @@ document.write("<text>Last Published:</text> " + document.lastModified);
 <a href="mapred_tutorial.html">Map-Reduce Tutorial</a>
 <a href="mapred_tutorial.html">Map-Reduce Tutorial</a>
 </div>
 </div>
 <div class="menuitem">
 <div class="menuitem">
+<a href="native_libraries.html">Native Hadoop Libraries</a>
+</div>
+<div class="menuitem">
 <a href="streaming.html">Streaming</a>
 <a href="streaming.html">Streaming</a>
 </div>
 </div>
 <div class="menuitem">
 <div class="menuitem">
@@ -96,8 +144,17 @@ document.write("<text>Last Published:</text> " + document.lastModified);
 <div id="credit"></div>
 <div id="credit"></div>
 <div id="roundbottom">
 <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>
 <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 id="credit2"></div>
 </div>
 </div>
+<!--+
+    |end Menu
+    +-->
+<!--+
+    |start content
+    +-->
 <div id="content">
 <div id="content">
 <div title="Portable Document Format" class="pdflink">
 <div title="Portable Document Format" class="pdflink">
 <a class="dida" href="quickstart.pdf"><img alt="PDF -icon" src="skin/images/pdfdoc.gif" class="skin"><br>
 <a class="dida" href="quickstart.pdf"><img alt="PDF -icon" src="skin/images/pdfdoc.gif" class="skin"><br>
@@ -469,18 +526,27 @@ document.write("<text>Last Published:</text> " + document.lastModified);
     
     
   
   
 </div>
 </div>
+<!--+
+    |end content
+    +-->
 <div class="clearboth">&nbsp;</div>
 <div class="clearboth">&nbsp;</div>
 </div>
 </div>
 <div id="footer">
 <div id="footer">
+<!--+
+    |start bottomstrip
+    +-->
 <div class="lastmodified">
 <div class="lastmodified">
 <script type="text/javascript"><!--
 <script type="text/javascript"><!--
-document.write("<text>Last Published:</text> " + document.lastModified);
+document.write("Last Published: " + document.lastModified);
 //  --></script>
 //  --></script>
 </div>
 </div>
 <div class="copyright">
 <div class="copyright">
         Copyright &copy;
         Copyright &copy;
          2007 <a href="http://www.apache.org/licenses/">The Apache Software Foundation.</a>
          2007 <a href="http://www.apache.org/licenses/">The Apache Software Foundation.</a>
 </div>
 </div>
+<!--+
+    |end bottomstrip
+    +-->
 </div>
 </div>
 </body>
 </body>
 </html>
 </html>

+ 6 - 6
docs/skin/CommonMessages_de.xml

@@ -1,11 +1,11 @@
 <?xml version="1.0" encoding="ISO-8859-1"?>
 <?xml version="1.0" encoding="ISO-8859-1"?>
 <!--
 <!--
-  Copyright 1999-2004 The Apache Software Foundation or its licensors,
-  as applicable.
-
-  Licensed under the Apache License, Version 2.0 (the "License");
-  you may not use this file except in compliance with the License.
-  You may obtain a copy of the License at
+  Licensed to the Apache Software Foundation (ASF) under one or more
+  contributor license agreements.  See the NOTICE file distributed with
+  this work for additional information regarding copyright ownership.
+  The ASF licenses this file to You under the Apache License, Version 2.0
+  (the "License"); you may not use this file except in compliance with
+  the License.  You may obtain a copy of the License at
 
 
       http://www.apache.org/licenses/LICENSE-2.0
       http://www.apache.org/licenses/LICENSE-2.0
 
 

+ 7 - 7
docs/skin/CommonMessages_en_US.xml

@@ -1,11 +1,11 @@
 <?xml version="1.0" encoding="ISO-8859-1"?>
 <?xml version="1.0" encoding="ISO-8859-1"?>
 <!--
 <!--
-  Copyright 1999-2004 The Apache Software Foundation or its licensors,
-  as applicable.
-
-  Licensed under the Apache License, Version 2.0 (the "License");
-  you may not use this file except in compliance with the License.
-  You may obtain a copy of the License at
+  Licensed to the Apache Software Foundation (ASF) under one or more
+  contributor license agreements.  See the NOTICE file distributed with
+  this work for additional information regarding copyright ownership.
+  The ASF licenses this file to You under the Apache License, Version 2.0
+  (the "License"); you may not use this file except in compliance with
+  the License.  You may obtain a copy of the License at
 
 
       http://www.apache.org/licenses/LICENSE-2.0
       http://www.apache.org/licenses/LICENSE-2.0
 
 
@@ -19,5 +19,5 @@
   <message  key="Font size:">Font size:</message>
   <message  key="Font size:">Font size:</message>
   <message key="Last Published:">Last Published:</message>
   <message key="Last Published:">Last Published:</message>
   <message key="Search">Search</message>
   <message key="Search">Search</message>
-  <message key="Search the site with">Search the site with</message>
+  <message key="Search the site with">Search site with</message>
 </catalogue>
 </catalogue>

+ 6 - 7
docs/skin/CommonMessages_es.xml

@@ -1,11 +1,11 @@
 <?xml version="1.0" encoding="ISO-8859-1"?>
 <?xml version="1.0" encoding="ISO-8859-1"?>
 <!--
 <!--
-  Copyright 1999-2004 The Apache Software Foundation or its licensors,
-  as applicable.
-
-  Licensed under the Apache License, Version 2.0 (the "License");
-  you may not use this file except in compliance with the License.
-  You may obtain a copy of the License at
+  Licensed to the Apache Software Foundation (ASF) under one or more
+  contributor license agreements.  See the NOTICE file distributed with
+  this work for additional information regarding copyright ownership.
+  The ASF licenses this file to You under the Apache License, Version 2.0
+  (the "License"); you may not use this file except in compliance with
+  the License.  You may obtain a copy of the License at
 
 
       http://www.apache.org/licenses/LICENSE-2.0
       http://www.apache.org/licenses/LICENSE-2.0
 
 
@@ -21,4 +21,3 @@
   <message key="Search">Buscar</message>
   <message key="Search">Buscar</message>
   <message key="Search the site with">Buscar en</message>
   <message key="Search the site with">Buscar en</message>
 </catalogue>
 </catalogue>
-

+ 6 - 6
docs/skin/CommonMessages_fr.xml

@@ -1,11 +1,11 @@
 <?xml version="1.0" encoding="ISO-8859-1"?>
 <?xml version="1.0" encoding="ISO-8859-1"?>
 <!--
 <!--
-  Copyright 1999-2004 The Apache Software Foundation or its licensors,
-  as applicable.
-
-  Licensed under the Apache License, Version 2.0 (the "License");
-  you may not use this file except in compliance with the License.
-  You may obtain a copy of the License at
+  Licensed to the Apache Software Foundation (ASF) under one or more
+  contributor license agreements.  See the NOTICE file distributed with
+  this work for additional information regarding copyright ownership.
+  The ASF licenses this file to You under the Apache License, Version 2.0
+  (the "License"); you may not use this file except in compliance with
+  the License.  You may obtain a copy of the License at
 
 
       http://www.apache.org/licenses/LICENSE-2.0
       http://www.apache.org/licenses/LICENSE-2.0
 
 

+ 33 - 14
docs/skin/basic.css

@@ -1,10 +1,10 @@
 /*
 /*
-* Copyright 2002-2005 The Apache Software Foundation or its licensors,
-* as applicable.
-*
-* Licensed under the Apache License, Version 2.0 (the "License");
-* you may not use this file except in compliance with the License.
-* You may obtain a copy of the License at
+* Licensed to the Apache Software Foundation (ASF) under one or more
+* contributor license agreements.  See the NOTICE file distributed with
+* this work for additional information regarding copyright ownership.
+* The ASF licenses this file to You under the Apache License, Version 2.0
+* (the "License"); you may not use this file except in compliance with
+* the License.  You may obtain a copy of the License at
 *
 *
 *     http://www.apache.org/licenses/LICENSE-2.0
 *     http://www.apache.org/licenses/LICENSE-2.0
 *
 *
@@ -38,34 +38,45 @@ img { border: 0; }
   clear: both;
   clear: both;
 }
 }
 
 
-.frame {
+.note, .warning, .fixme {
   border: solid black 1px;
   border: solid black 1px;
   margin: 1em 3em;
   margin: 1em 3em;
 }
 }
 
 
-.frame .label {
+.note .label {
   background: #369;
   background: #369;
   color: white;
   color: white;
   font-weight: bold;
   font-weight: bold;
   padding: 5px 10px;
   padding: 5px 10px;
 }
 }
-.frame .content {
-  padding: 5px 10px;
+.note .content {
   background: #F0F0FF;
   background: #F0F0FF;
   color: black;
   color: black;
   line-height: 120%;
   line-height: 120%;
   font-size: 90%;
   font-size: 90%;
+  padding: 5px 10px;
 }
 }
 .warning .label {
 .warning .label {
   background: #C00;
   background: #C00;
   color: white;
   color: white;
+  font-weight: bold;
+  padding: 5px 10px;
 }
 }
 .warning .content {
 .warning .content {
   background: #FFF0F0;
   background: #FFF0F0;
   color: black;
   color: black;
+  line-height: 120%;
+  font-size: 90%;
+  padding: 5px 10px;
 }
 }
 .fixme .label {
 .fixme .label {
   background: #C6C600;
   background: #C6C600;
+  color: black;
+  font-weight: bold;
+  padding: 5px 10px;
+}
+.fixme .content {
+  padding: 5px 10px;
 }
 }
 
 
 /**
 /**
@@ -128,10 +139,18 @@ p {
 
 
 #content li,
 #content li,
 #content th,
 #content th,
-#content td {
-  line-height: 110%;  
-  margin-top: .1em;
-  margin-bottom: .1em;
+#content td,
+#content li ul,
+#content li ol{
+  margin-top: .5em;
+  margin-bottom: .5em;
+}
+
+
+#content li li,
+#minitoc-area li{
+  margin-top: 0em;
+  margin-bottom: 0em;
 }
 }
 
 
 #content .attribution {
 #content .attribution {

+ 6 - 6
docs/skin/breadcrumbs-optimized.js

@@ -1,10 +1,10 @@
 /*
 /*
-* Copyright 2002-2004 The Apache Software Foundation or its licensors,
-* as applicable.
-*
-* Licensed under the Apache License, Version 2.0 (the "License");
-* you may not use this file except in compliance with the License.
-* You may obtain a copy of the License at
+* Licensed to the Apache Software Foundation (ASF) under one or more
+* contributor license agreements.  See the NOTICE file distributed with
+* this work for additional information regarding copyright ownership.
+* The ASF licenses this file to You under the Apache License, Version 2.0
+* (the "License"); you may not use this file except in compliance with
+* the License.  You may obtain a copy of the License at
 *
 *
 *     http://www.apache.org/licenses/LICENSE-2.0
 *     http://www.apache.org/licenses/LICENSE-2.0
 *
 *

+ 6 - 6
docs/skin/breadcrumbs.js

@@ -1,10 +1,10 @@
 /*
 /*
-* Copyright 2002-2004 The Apache Software Foundation or its licensors,
-* as applicable.
-*
-* Licensed under the Apache License, Version 2.0 (the "License");
-* you may not use this file except in compliance with the License.
-* You may obtain a copy of the License at
+* Licensed to the Apache Software Foundation (ASF) under one or more
+* contributor license agreements.  See the NOTICE file distributed with
+* this work for additional information regarding copyright ownership.
+* The ASF licenses this file to You under the Apache License, Version 2.0
+* (the "License"); you may not use this file except in compliance with
+* the License.  You may obtain a copy of the License at
 *
 *
 *     http://www.apache.org/licenses/LICENSE-2.0
 *     http://www.apache.org/licenses/LICENSE-2.0
 *
 *

+ 6 - 6
docs/skin/fontsize.js

@@ -1,10 +1,10 @@
 /*
 /*
-* Copyright 2002-2004 The Apache Software Foundation or its licensors,
-* as applicable.
-*
-* Licensed under the Apache License, Version 2.0 (the "License");
-* you may not use this file except in compliance with the License.
-* You may obtain a copy of the License at
+* Licensed to the Apache Software Foundation (ASF) under one or more
+* contributor license agreements.  See the NOTICE file distributed with
+* this work for additional information regarding copyright ownership.
+* The ASF licenses this file to You under the Apache License, Version 2.0
+* (the "License"); you may not use this file except in compliance with
+* the License.  You may obtain a copy of the License at
 *
 *
 *     http://www.apache.org/licenses/LICENSE-2.0
 *     http://www.apache.org/licenses/LICENSE-2.0
 *
 *

+ 16 - 8
docs/skin/getBlank.js

@@ -1,10 +1,10 @@
 /*
 /*
-* Copyright 2002-2004 The Apache Software Foundation or its licensors,
-* as applicable.
-*
-* Licensed under the Apache License, Version 2.0 (the "License");
-* you may not use this file except in compliance with the License.
-* You may obtain a copy of the License at
+* Licensed to the Apache Software Foundation (ASF) under one or more
+* contributor license agreements.  See the NOTICE file distributed with
+* this work for additional information regarding copyright ownership.
+* The ASF licenses this file to You under the Apache License, Version 2.0
+* (the "License"); you may not use this file except in compliance with
+* the License.  You may obtain a copy of the License at
 *
 *
 *     http://www.apache.org/licenses/LICENSE-2.0
 *     http://www.apache.org/licenses/LICENSE-2.0
 *
 *
@@ -15,12 +15,14 @@
 * limitations under the License.
 * limitations under the License.
 */
 */
 /**
 /**
- * This script, when included in a html file and called from a form text field, will set the value of this field to ""
+ * getBlank script - when included in a html file and called from a form text field, will set the value of this field to ""
  * if the text value is still the standard value.
  * if the text value is still the standard value.
+ * getPrompt script - when included in a html file and called from a form text field, will set the value of this field to the prompt
+ * if the text value is empty.
  *
  *
  * Typical usage:
  * Typical usage:
  * <script type="text/javascript" language="JavaScript" src="getBlank.js"></script>
  * <script type="text/javascript" language="JavaScript" src="getBlank.js"></script>
- * <input type="text" id="query" value="Search the site:" onFocus="getBlank (this, 'Search the site:');"/>
+ * <input type="text" id="query" value="Search the site:" onFocus="getBlank (this, 'Search the site:');" onBlur="getBlank (this, 'Search the site:');"/>
  */
  */
 <!--
 <!--
 function getBlank (form, stdValue){
 function getBlank (form, stdValue){
@@ -29,4 +31,10 @@ if (form.value == stdValue){
 	}
 	}
 return true;
 return true;
 }
 }
+function getPrompt (form, stdValue){
+if (form.value == ''){
+	form.value = stdValue;
+	}
+return true;
+}
 //-->
 //-->

+ 6 - 6
docs/skin/getMenu.js

@@ -1,10 +1,10 @@
 /*
 /*
-* Copyright 2002-2004 The Apache Software Foundation or its licensors,
-* as applicable.
-*
-* Licensed under the Apache License, Version 2.0 (the "License");
-* you may not use this file except in compliance with the License.
-* You may obtain a copy of the License at
+* Licensed to the Apache Software Foundation (ASF) under one or more
+* contributor license agreements.  See the NOTICE file distributed with
+* this work for additional information regarding copyright ownership.
+* The ASF licenses this file to You under the Apache License, Version 2.0
+* (the "License"); you may not use this file except in compliance with
+* the License.  You may obtain a copy of the License at
 *
 *
 *     http://www.apache.org/licenses/LICENSE-2.0
 *     http://www.apache.org/licenses/LICENSE-2.0
 *
 *

BIN
docs/skin/images/chapter_open.gif


BIN
docs/skin/images/rc-b-l-15-1body-2menu-3menu.png


BIN
docs/skin/images/rc-b-r-15-1body-2menu-3menu.png


BIN
docs/skin/images/rc-b-r-5-1header-2tab-selected-3tab-selected.png


BIN
docs/skin/images/rc-t-l-5-1header-2searchbox-3searchbox.png


BIN
docs/skin/images/rc-t-l-5-1header-2tab-selected-3tab-selected.png


BIN
docs/skin/images/rc-t-l-5-1header-2tab-unselected-3tab-unselected.png


BIN
docs/skin/images/rc-t-r-15-1body-2menu-3menu.png


BIN
docs/skin/images/rc-t-r-5-1header-2searchbox-3searchbox.png


BIN
docs/skin/images/rc-t-r-5-1header-2tab-selected-3tab-selected.png


BIN
docs/skin/images/rc-t-r-5-1header-2tab-unselected-3tab-unselected.png


+ 12 - 14
docs/skin/menu.js

@@ -1,10 +1,10 @@
 /*
 /*
-* Copyright 2002-2004 The Apache Software Foundation or its licensors,
-* as applicable.
-*
-* Licensed under the Apache License, Version 2.0 (the "License");
-* you may not use this file except in compliance with the License.
-* You may obtain a copy of the License at
+* Licensed to the Apache Software Foundation (ASF) under one or more
+* contributor license agreements.  See the NOTICE file distributed with
+* this work for additional information regarding copyright ownership.
+* The ASF licenses this file to You under the Apache License, Version 2.0
+* (the "License"); you may not use this file except in compliance with
+* the License.  You may obtain a copy of the License at
 *
 *
 *     http://www.apache.org/licenses/LICENSE-2.0
 *     http://www.apache.org/licenses/LICENSE-2.0
 *
 *
@@ -32,19 +32,17 @@ function SwitchMenu(obj)
     var title = document.getElementById(obj+'Title');
     var title = document.getElementById(obj+'Title');
 
 
     if(obj.indexOf("_selected_")==0&&el.style.display == ""){
     if(obj.indexOf("_selected_")==0&&el.style.display == ""){
-      //nicolaken: doesn't work :-(
-      //title.style.backgroundImage = "url('images/chapter_open.gif')";
       el.style.display = "block";
       el.style.display = "block";
+      title.className = "pagegroupselected";
     }
     }
 
 
-    if(el.style.display != "block"){ 
-      //nicolaken: doesn't work :-(
-      //title.style.backgroundImage = 'url([url]images/chapter_open.gif[/url])';
+    if(el.style.display != "block"){
       el.style.display = "block";
       el.style.display = "block";
-    }else{
-      //nicolaken: doesn't work :-(
-      //title.style.backgroundImage = "url('images/chapter.gif')";
+      title.className = "pagegroupopen";
+    }
+    else{
       el.style.display = "none";
       el.style.display = "none";
+      title.className = "pagegroup";
     }
     }
   }// end -  if(document.getElementById) 
   }// end -  if(document.getElementById) 
 }//end - function SwitchMenu(obj)
 }//end - function SwitchMenu(obj)

+ 8 - 8
docs/skin/print.css

@@ -1,10 +1,10 @@
 /*
 /*
-* Copyright 2002-2004 The Apache Software Foundation or its licensors,
-* as applicable.
-*
-* Licensed under the Apache License, Version 2.0 (the "License");
-* you may not use this file except in compliance with the License.
-* You may obtain a copy of the License at
+* Licensed to the Apache Software Foundation (ASF) under one or more
+* contributor license agreements.  See the NOTICE file distributed with
+* this work for additional information regarding copyright ownership.
+* The ASF licenses this file to You under the Apache License, Version 2.0
+* (the "License"); you may not use this file except in compliance with
+* the License.  You may obtain a copy of the License at
 *
 *
 *     http://www.apache.org/licenses/LICENSE-2.0
 *     http://www.apache.org/licenses/LICENSE-2.0
 *
 *
@@ -31,12 +31,12 @@ body {
   padding: 0;
   padding: 0;
   float: none !important;
   float: none !important;
   color: black;
   color: black;
-  background: transparent;
+  background: inherit;
 }
 }
 
 
 a:link, a:visited {
 a:link, a:visited {
   color: #336699;
   color: #336699;
-  background: transparent;
+  background: inherit;
   text-decoration: underline;
   text-decoration: underline;
 }
 }
 
 

+ 10 - 5
docs/skin/profile.css

@@ -46,11 +46,16 @@ a.external  {
 #tabs li a:visited { color: #000000; }
 #tabs li a:visited { color: #000000; }
 #tabs li a:hover { color: #000000; }
 #tabs li a:hover { color: #000000; }
 
 
-#level2tabs       { background-color: #4C6C8F ;} 
+#level2tabs a.selected      { background-color: #4C6C8F ;} 
 #level2tabs a:link {  color: #ffffff;  }
 #level2tabs a:link {  color: #ffffff;  }
 #level2tabs a:visited { color: #ffffff; }
 #level2tabs a:visited { color: #ffffff; }
 #level2tabs a:hover { color: #ffffff; }
 #level2tabs a:hover { color: #ffffff; }
 
 
+#level2tabs { background-color: #E5E4D9;}
+#level2tabs a.unselected:link {  color: #000000;  }
+#level2tabs a.unselected:visited { color: #000000; }
+#level2tabs a.unselected:hover { color: #000000; }
+
 .heading { background-color: #E5E4D9;} 
 .heading { background-color: #E5E4D9;} 
 
 
 .boxed { background-color: #E5E4D9;} 
 .boxed { background-color: #E5E4D9;} 
@@ -80,7 +85,8 @@ color: #000000;
 background: #E5E4D9; 
 background: #E5E4D9; 
 }
 }
 
 
-#menu .menupagetitle  { background-color: #CFDCED}
+#menu .menupagetitle  { background-color: #CFDCED;
+  color: #000000;}
 
 
 #menu           { border-color: #999999;}
 #menu           { border-color: #999999;}
 #menu .menupagetitle  { border-color: #999999;}
 #menu .menupagetitle  { border-color: #999999;}
@@ -104,7 +110,6 @@ background-color: #E5E4D9 ;
 color: #000000; 
 color: #000000; 
 } 
 } 
  
  
-#menu .menupagetitle  { color: #000000;}    
 #menu .menupageitemgroup     { 
 #menu .menupageitemgroup     { 
 background-color: #E5E4D9;
 background-color: #E5E4D9;
 }
 }
@@ -123,8 +128,8 @@ background-color: #ffffff;
 color: #000000;
 color: #000000;
 } 
 } 
 a:link { color:#0000ff} 
 a:link { color:#0000ff} 
-a:visited { color:#0000ff} 
-a:hover { color:#0000ff} 
+a:visited { color:#009999} 
+a:hover { color:#6587ff} 
 
 
  
  
 .ForrestTable      { background-color: #ccc;} 
 .ForrestTable      { background-color: #ccc;} 

+ 56 - 19
docs/skin/screen.css

@@ -1,10 +1,10 @@
 /*
 /*
-* Copyright 2002-2004 The Apache Software Foundation or its licensors,
-* as applicable.
-*
-* Licensed under the Apache License, Version 2.0 (the "License");
-* you may not use this file except in compliance with the License.
-* You may obtain a copy of the License at
+* Licensed to the Apache Software Foundation (ASF) under one or more
+* contributor license agreements.  See the NOTICE file distributed with
+* this work for additional information regarding copyright ownership.
+* The ASF licenses this file to You under the Apache License, Version 2.0
+* (the "License"); you may not use this file except in compliance with
+* the License.  You may obtain a copy of the License at
 *
 *
 *     http://www.apache.org/licenses/LICENSE-2.0
 *     http://www.apache.org/licenses/LICENSE-2.0
 *
 *
@@ -17,7 +17,7 @@
 body {  margin: 0px 0px 0px 0px; font-family: Verdana, Helvetica, sans-serif; }
 body {  margin: 0px 0px 0px 0px; font-family: Verdana, Helvetica, sans-serif; }
 
 
 h1     { font-size : 160%; margin: 0px 0px 0px 0px;  padding: 0px; }
 h1     { font-size : 160%; margin: 0px 0px 0px 0px;  padding: 0px; }
-h2     { font-size : 140%; margin: 0.9em 0px 0px 0px; padding: 0px; font-weight : bold;}
+h2     { font-size : 140%; margin: 1em 0px 0.8em 0px; padding: 0px; font-weight : bold;}
 h3     { font-size : 130%; margin: 0.8em 0px 0px 0px; padding: 0px; font-weight : bold; }
 h3     { font-size : 130%; margin: 0.8em 0px 0px 0px; padding: 0px; font-weight : bold; }
 .h3 { margin: 22px 0px 3px 0px; }
 .h3 { margin: 22px 0px 3px 0px; }
 h4     { font-size : 120%; margin: 0.7em 0px 0px 0px; padding: 0px; font-weight : normal; text-align: left; }
 h4     { font-size : 120%; margin: 0.7em 0px 0px 0px; padding: 0px; font-weight : normal; text-align: left; }
@@ -152,6 +152,12 @@ html>body #top .searchbox {
     width: .1em; /* IE/Win fix */
     width: .1em; /* IE/Win fix */
 }
 }
 
 
+#tabs li a:hover {
+   
+    cursor: pointer;
+    text-decoration:underline;
+}
+
 #tabs > li a { width: auto; } /* Rest of IE/Win fix */
 #tabs > li a { width: auto; } /* Rest of IE/Win fix */
 
 
 /* Commented Backslash Hack hides rule from IE5-Mac \*/
 /* Commented Backslash Hack hides rule from IE5-Mac \*/
@@ -188,6 +194,27 @@ html>body #top .searchbox {
 margin: 0;
 margin: 0;
 float:left;
 float:left;
 position:relative;
 position:relative;
+
+}
+
+
+
+#level2tabs  a:hover {
+   
+    cursor: pointer;
+    text-decoration:underline;
+    
+}
+
+#level2tabs  a{
+   
+    cursor: pointer;
+    text-decoration:none;
+    background-image: url('images/chapter.gif');
+    background-repeat: no-repeat;
+    background-position: center left;
+    padding-left: 6px;
+    margin-left: 6px;
 }
 }
 
 
 /*
 /*
@@ -252,10 +279,10 @@ img.cornersmall {
 /**
 /**
  * Side menu
  * Side menu
  */
  */
-#menu a {  font-weight: normal;}
+#menu a {  font-weight: normal; text-decoration: none;}
 #menu a:visited {  font-weight: normal; }
 #menu a:visited {  font-weight: normal; }
 #menu a:active {  font-weight: normal; }
 #menu a:active {  font-weight: normal; }
-#menu a:hover {  font-weight: normal; }
+#menu a:hover {  font-weight: normal;  text-decoration:underline;}
 
 
 #menuarea { width:10em;}
 #menuarea { width:10em;}
 #menu {
 #menu {
@@ -268,6 +295,7 @@ img.cornersmall {
     z-index: 20;
     z-index: 20;
     background-color: #f90;
     background-color: #f90;
     font-size : 70%;
     font-size : 70%;
+    
 }
 }
 
 
 .menutitle {
 .menutitle {
@@ -278,20 +306,26 @@ img.cornersmall {
         background-repeat: no-repeat;
         background-repeat: no-repeat;
         background-position: center left;
         background-position: center left;
         font-weight : bold;
         font-weight : bold;
+
+        
 }
 }
 
 
+.menutitle:hover{text-decoration:underline;cursor: pointer;}
+
 #menu .menuitemgroup {
 #menu .menuitemgroup {
         margin: 0px 0px 6px 8px;
         margin: 0px 0px 6px 8px;
         padding: 0px;
         padding: 0px;
         font-weight : bold; }
         font-weight : bold; }
 
 
 #menu .selectedmenuitemgroup{
 #menu .selectedmenuitemgroup{
-        margin: 0px 0px 6px 8px;
+        margin: 0px 0px 0px 8px;
         padding: 0px;
         padding: 0px;
-        font-weight : bold; }
+        font-weight : normal; 
+       
+        }
 
 
 #menu .menuitem {
 #menu .menuitem {
-        padding: 0px 0px 2px 12px;
+        padding: 2px 0px 1px 13px;
         background-image: url('images/page.gif');
         background-image: url('images/page.gif');
         background-repeat: no-repeat;
         background-repeat: no-repeat;
         background-position: center left;
         background-position: center left;
@@ -300,19 +334,20 @@ img.cornersmall {
 }
 }
 
 
 #menu .menupage {
 #menu .menupage {
-        margin: 5px 0px 5px 10px;
+        margin: 2px 0px 1px 10px;
         padding: 0px 3px 0px 12px;
         padding: 0px 3px 0px 12px;
-        background-image: url('images/current.gif');
+        background-image: url('images/page.gif');
         background-repeat: no-repeat;
         background-repeat: no-repeat;
-        background-position: top left;
+        background-position: center left;
         font-style : normal;
         font-style : normal;
 }
 }
 #menu .menupagetitle {
 #menu .menupagetitle {
-        padding: 0px 0px 0px 6px;
+        padding: 0px 0px 0px 1px;
         font-style : normal;
         font-style : normal;
         border-style: solid;
         border-style: solid;
         border-width: 1px;
         border-width: 1px;
         margin-right: 10px;
         margin-right: 10px;
+         
 }
 }
 #menu .menupageitemgroup {
 #menu .menupageitemgroup {
         padding: 3px 0px 4px 6px;
         padding: 3px 0px 4px 6px;
@@ -436,10 +471,11 @@ acronym { cursor: help; }
 #minitoc-area {
 #minitoc-area {
     border-top: solid 1px #4C6C8F;
     border-top: solid 1px #4C6C8F;
     border-bottom: solid 1px #4C6C8F;
     border-bottom: solid 1px #4C6C8F;
-    margin-bottom: 15px;
+    margin: 15px 10% 5px 15px;
+   /* margin-bottom: 15px;
     margin-left: 15px;
     margin-left: 15px;
-    margin-right: 10%;
-    padding-bottom: 5px;
+    margin-right: 10%;*/
+    padding-bottom: 7px;
     padding-top: 5px;
     padding-top: 5px;
 }
 }
 .minitoc {
 .minitoc {
@@ -523,6 +559,7 @@ li p {
 }
 }
 
 
 .printlink {
 .printlink {
+    position: relative; /* IE bugfix cont'd */
     float: right;
     float: right;
 }
 }
 .printlink br {
 .printlink br {

+ 75 - 9
docs/streaming.html

@@ -1,9 +1,9 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
 <html>
 <html>
 <head>
 <head>
 <META http-equiv="Content-Type" content="text/html; charset=UTF-8">
 <META http-equiv="Content-Type" content="text/html; charset=UTF-8">
 <meta content="Apache Forrest" name="Generator">
 <meta content="Apache Forrest" name="Generator">
-<meta name="Forrest-version" content="0.7">
+<meta name="Forrest-version" content="0.8">
 <meta name="Forrest-skin-name" content="pelt">
 <meta name="Forrest-skin-name" content="pelt">
 <meta name="http-equiv" content="Content-Type">
 <meta name="http-equiv" content="Content-Type">
 <meta name="content" content="text/html;">
 <meta name="content" content="text/html;">
@@ -19,46 +19,91 @@
 <body onload="init()">
 <body onload="init()">
 <script type="text/javascript">ndeSetTextSize();</script>
 <script type="text/javascript">ndeSetTextSize();</script>
 <div id="top">
 <div id="top">
+<!--+
+    |breadtrail
+    +-->
 <div class="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>
 <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>
 </div>
+<!--+
+    |header
+    +-->
 <div class="header">
 <div class="header">
+<!--+
+    |start group logo
+    +-->
 <div class="grouplogo">
 <div class="grouplogo">
 <a href="http://lucene.apache.org/"><img class="logoImage" alt="Lucene" src="images/lucene_green_150.gif" title="Apache Lucene"></a>
 <a href="http://lucene.apache.org/"><img class="logoImage" alt="Lucene" src="images/lucene_green_150.gif" title="Apache Lucene"></a>
 </div>
 </div>
+<!--+
+    |end group logo
+    +-->
+<!--+
+    |start Project Logo
+    +-->
 <div class="projectlogo">
 <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>
 <a href="http://lucene.apache.org/hadoop/"><img class="logoImage" alt="Hadoop" src="images/hadoop-logo.jpg" title="Scalable Computing Platform"></a>
 </div>
 </div>
+<!--+
+    |end Project Logo
+    +-->
+<!--+
+    |start Search
+    +-->
 <div class="searchbox">
 <div class="searchbox">
 <form action="http://www.google.com/search" method="get" class="roundtopsmall">
 <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 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 attr="value" name="Search" value="Search" type="submit">
+                    <input name="Search" value="Search" type="submit">
 </form>
 </form>
 </div>
 </div>
+<!--+
+    |end search
+    +-->
+<!--+
+    |start Tabs
+    +-->
 <ul id="tabs">
 <ul id="tabs">
 <li>
 <li>
-<a class="base-not-selected" href="http://lucene.apache.org/hadoop/">Project</a>
+<a class="unselected" href="http://lucene.apache.org/hadoop/">Project</a>
 </li>
 </li>
 <li>
 <li>
-<a class="base-not-selected" href="http://wiki.apache.org/lucene-hadoop">Wiki</a>
+<a class="unselected" href="http://wiki.apache.org/lucene-hadoop">Wiki</a>
 </li>
 </li>
 <li class="current">
 <li class="current">
-<a class="base-selected" href="index.html">Hadoop 0.16 Documentation</a>
+<a class="selected" href="index.html">Hadoop 0.16 Documentation</a>
 </li>
 </li>
 </ul>
 </ul>
+<!--+
+    |end Tabs
+    +-->
 </div>
 </div>
 </div>
 </div>
 <div id="main">
 <div id="main">
 <div id="publishedStrip">
 <div id="publishedStrip">
+<!--+
+    |start Subtabs
+    +-->
 <div id="level2tabs"></div>
 <div id="level2tabs"></div>
+<!--+
+    |end Endtabs
+    +-->
 <script type="text/javascript"><!--
 <script type="text/javascript"><!--
-document.write("<text>Last Published:</text> " + document.lastModified);
+document.write("Last Published: " + document.lastModified);
 //  --></script>
 //  --></script>
 </div>
 </div>
+<!--+
+    |breadtrail
+    +-->
 <div class="breadtrail">
 <div class="breadtrail">
-             
+
              &nbsp;
              &nbsp;
            </div>
            </div>
+<!--+
+    |start Menu, mainarea
+    +-->
+<!--+
+    |start Menu
+    +-->
 <div id="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 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 id="menu_selected_1.1" class="selectedmenuitemgroup" style="display: block;">
@@ -77,6 +122,9 @@ document.write("<text>Last Published:</text> " + document.lastModified);
 <div class="menuitem">
 <div class="menuitem">
 <a href="mapred_tutorial.html">Map-Reduce Tutorial</a>
 <a href="mapred_tutorial.html">Map-Reduce Tutorial</a>
 </div>
 </div>
+<div class="menuitem">
+<a href="native_libraries.html">Native Hadoop Libraries</a>
+</div>
 <div class="menupage">
 <div class="menupage">
 <div class="menupagetitle">Streaming</div>
 <div class="menupagetitle">Streaming</div>
 </div>
 </div>
@@ -99,8 +147,17 @@ document.write("<text>Last Published:</text> " + document.lastModified);
 <div id="credit"></div>
 <div id="credit"></div>
 <div id="roundbottom">
 <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>
 <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 id="credit2"></div>
 </div>
 </div>
+<!--+
+    |end Menu
+    +-->
+<!--+
+    |start content
+    +-->
 <div id="content">
 <div id="content">
 <div title="Portable Document Format" class="pdflink">
 <div title="Portable Document Format" class="pdflink">
 <a class="dida" href="streaming.pdf"><img alt="PDF -icon" src="skin/images/pdfdoc.gif" class="skin"><br>
 <a class="dida" href="streaming.pdf"><img alt="PDF -icon" src="skin/images/pdfdoc.gif" class="skin"><br>
@@ -754,18 +811,27 @@ Anything found between BEGIN_STRING and END_STRING would be treated as one recor
 </div>
 </div>
 
 
 </div>
 </div>
+<!--+
+    |end content
+    +-->
 <div class="clearboth">&nbsp;</div>
 <div class="clearboth">&nbsp;</div>
 </div>
 </div>
 <div id="footer">
 <div id="footer">
+<!--+
+    |start bottomstrip
+    +-->
 <div class="lastmodified">
 <div class="lastmodified">
 <script type="text/javascript"><!--
 <script type="text/javascript"><!--
-document.write("<text>Last Published:</text> " + document.lastModified);
+document.write("Last Published: " + document.lastModified);
 //  --></script>
 //  --></script>
 </div>
 </div>
 <div class="copyright">
 <div class="copyright">
         Copyright &copy;
         Copyright &copy;
          2007 <a href="http://www.apache.org/licenses/">The Apache Software Foundation.</a>
          2007 <a href="http://www.apache.org/licenses/">The Apache Software Foundation.</a>
 </div>
 </div>
+<!--+
+    |end bottomstrip
+    +-->
 </div>
 </div>
 </body>
 </body>
 </html>
 </html>

+ 1 - 0
src/docs/src/documentation/content/xdocs/index.xml

@@ -19,6 +19,7 @@
       <li><a href="cluster_setup.html">Hadoop Cluster Setup</a></li>
       <li><a href="cluster_setup.html">Hadoop Cluster Setup</a></li>
       <li><a href="hdfs_design.html">Hadoop Distributed File System</a></li>
       <li><a href="hdfs_design.html">Hadoop Distributed File System</a></li>
       <li><a href="mapred_tutorial.html">Hadoop Map-Reduce Tutorial</a></li>
       <li><a href="mapred_tutorial.html">Hadoop Map-Reduce Tutorial</a></li>
+      <li><a href="native_libraries.html">Native Hadoop Libraries</a></li>
       <li><a href="ext:api/index">API Docs</a></li>
       <li><a href="ext:api/index">API Docs</a></li>
       <li><a href="ext:wiki">Wiki</a></li>
       <li><a href="ext:wiki">Wiki</a></li>
       <li><a href="ext:faq">FAQ</a></li>
       <li><a href="ext:faq">FAQ</a></li>

+ 72 - 2
src/docs/src/documentation/content/xdocs/mapred_tutorial.xml

@@ -1109,8 +1109,14 @@
         individual task.</p>
         individual task.</p>
 
 
         <p><a href="ext:api/org/apache/hadoop/mapred/textinputformat">
         <p><a href="ext:api/org/apache/hadoop/mapred/textinputformat">
-        TextInputFormat</a> is the default <code>InputFormat</code>.
-        </p>
+        TextInputFormat</a> is the default <code>InputFormat</code>.</p>
+        
+        <p>If <code>TextInputFormat</code> is the <code>InputFormat</code> for a 
+        given job, the framework detects input-files with the <em>.gz</em> and 
+        <em>.lzo</em> extensions and automatically decompresses them using the 
+        appropriate <code>CompressionCodec</code>. However, it must be noted that
+        compressed files with the above extensions cannot be <em>split</em> and 
+        each compressed file is processed in its entirety by a single mapper.</p>
         
         
         <section>
         <section>
           <title>InputSplit</title>
           <title>InputSplit</title>
@@ -1336,6 +1342,70 @@
           JobControl</a> is a utility which encapsulates a set of Map-Reduce jobs
           JobControl</a> is a utility which encapsulates a set of Map-Reduce jobs
           and their dependencies.</p>
           and their dependencies.</p>
         </section>
         </section>
+        
+        <section>
+          <title>Data Compression</title>
+          
+          <p>Hadoop Map-Reduce provides facilities for the application-writer to
+          specify compression for both intermediate map-outputs and the
+          job-outputs i.e. output of the reduces. It also comes bundled with
+          <a href="ext:api/org/apache/hadoop/io/compress/compressioncodec">
+          CompressionCodec</a> implementations for the 
+          <a href="ext:zlib">zlib</a> and <a href="ext:lzo">lzo</a> compression 
+          algorithms. The <a href="ext:gzip">gzip</a> file format is also
+          supported.</p>
+          
+          <p>Hadoop also provides native implementations of the above compression
+          codecs for reasons of both performance (zlib) and non-availability of
+          Java libraries (lzo). More details on their usage and availability are
+          available <a href="native_libraries.html">here</a>.</p>
+          
+          <section>
+            <title>Intermediate Outputs</title>
+            
+            <p>Applications can control compression of intermediate map-outputs
+            via the 
+            <a href="ext:api/org/apache/hadoop/mapred/jobconf/setcompressmapoutput">
+            JobConf.setCompressMapOutput(boolean)</a> api and the 
+            <code>CompressionCodec</code> to be used via the
+            <a href="ext:api/org/apache/hadoop/mapred/jobconf/setmapoutputcompressorclass">
+            JobConf.setMapOutputCompressorClass(Class)</a> api. Since 
+            the intermediate map-outputs are always stored in the 
+            <a href="ext:api/org/apache/hadoop/io/sequencefile">SequenceFile</a>
+            format, the
+            <a href="ext:api/org/apache/hadoop/io/sequencefilecompressiontype">
+            SequenceFile.CompressionType</a> (i.e.
+            <a href="ext:api/org/apache/hadoop/io/sequencefilecompressiontype/record">
+            RECORD</a> / 
+            <a href="ext:api/org/apache/hadoop/io/sequencefilecompressiontype/block">
+            BLOCK</a> - defaults to <code>RECORD</code>) can be specified via the
+            <a href="ext:api/org/apache/hadoop/mapred/jobconf/setmapoutputcompressiontype">
+            JobConf.setMapOutputCompressionType(SequenceFile.CompressionType)</a> 
+            api.</p>
+          </section>
+          
+          <section>
+            <title>Job Outputs</title>
+            
+            <p>Applications can control compression of job-outputs via the
+            <a href="ext:api/org/apache/hadoop/mapred/outputformatbase/setcompressoutput">
+            OutputFormatBase.setCompressOutput(JobConf, boolean)</a> api and the 
+            <code>CompressionCodec</code> to be used can be specified via the
+            <a href="ext:api/org/apache/hadoop/mapred/outputformatbase/setoutputcompressorclass">
+            OutputFormatBase.setOutputCompressorClass(JobConf, Class)</a> api.</p>
+            
+            <p>If the job outputs are to be stored in the 
+            <a href="ext:api/org/apache/hadoop/mapred/sequencefileoutputformat">
+            SequenceFileOutputFormat</a>, the required
+            <code>SequenceFile.CompressionType</code> (i.e. <code>RECORD</code> / 
+            <code>BLOCK</code> - defaults to <code>RECORD</code>)can be specified 
+            via the 
+            <a href="ext:api/org/apache/hadoop/mapred/sequencefileoutputformat/setoutputcompressiontype">
+            SequenceFileOutputFormat.setOutputCompressionType(JobConf, 
+            SequenceFile.CompressionType)</a> api.</p>
+          </section>
+        </section>
+        
       </section>
       </section>
     </section>
     </section>
 
 

+ 175 - 0
src/docs/src/documentation/content/xdocs/native_libraries.xml

@@ -0,0 +1,175 @@
+<?xml version="1.0"?>
+
+<!DOCTYPE document PUBLIC "-//APACHE//DTD Documentation V2.0//EN" "http://forrest.apache.org/dtd/document-v20.dtd">
+
+<document>
+  
+  <header>
+    <title>Native Hadoop Libraries</title>
+  </header>
+  
+  <body>
+  
+    <section>
+      <title>Purpose</title>
+      
+      <p>Hadoop has native implementations of certain components for reasons of 
+      both performace &amp; non-availability of Java implementations. These 
+      components are available in a single, dynamically-linked, native library. 
+      On the *nix platform it is <em>libhadoop.so</em>. This document describes 
+      the usage &amp; details on how to build the native libraries.</p>
+    </section>
+    
+    <section>
+      <title>Components</title>
+      
+      <p>Hadoop currently has the following 
+      <a href="ext:api/org/apache/hadoop/io/compress/compressioncodec">
+      compression codecs</a> as the native components:</p>
+      <ul>
+        <li><a href="ext:zlib">zlib</a></li>
+        <li><a href="ext:gzip">gzip</a></li>
+        <li><a href="ext:lzo">lzo</a></li>
+      </ul>
+      
+      <p>Of the above, the availability of native hadoop libraries is imperative 
+      for the lzo and gzip compression codecs to work.</p>
+    </section>
+
+    <section>
+      <title>Usage</title>
+      
+      <p>It is fairly simple to use the native hadoop libraries:</p>
+
+      <ul>
+        <li>
+          Take a look at the 
+          <a href="#Supported+Platforms">supported platforms</a>.
+        </li>
+        <li>
+          Either <a href="ext:releases/download">download</a> the pre-built 
+          32-bit i386-Linux native hadoop libraries (available as part of hadoop 
+          distribution in <code>lib/native</code> directory) or 
+          <a href="#Building+Native+Hadoop+Libraries">build</a> them yourself.
+        </li>
+        <li>
+          Ensure you have either or both of <strong>&gt;zlib-1.2</strong> and 
+          <strong>&gt;lzo2.0</strong> packages for your platform installed; 
+          depending on your needs.
+        </li>
+      </ul>
+      
+      <p>The <code>bin/hadoop</code> script ensures that the native hadoop 
+      library is on the library path via the system property 
+      <em>-Djava.library.path=&lt;path&gt;</em>.</p>
+
+      <p>To check everything went alright check the hadoop log files for:</p>
+      
+      <p>
+        <code>
+          DEBUG util.NativeCodeLoader - Trying to load the custom-built 
+          native-hadoop library... 
+        </code><br/>
+        <code>
+          INFO  util.NativeCodeLoader - Loaded the native-hadoop library
+        </code>
+      </p>
+
+      <p>If something goes wrong, then:</p>
+      <p>
+        <code>
+          INFO util.NativeCodeLoader - Unable to load native-hadoop library for 
+          your platform... using builtin-java classes where applicable
+        </code>
+      </p>
+    </section>
+    
+    <section>
+      <title>Supported Platforms</title>
+      
+      <p>Hadoop native library is supported only on *nix platforms only.
+      Unfortunately it is known not to work on <a href="ext:cygwin">Cygwin</a> 
+      and <a href="ext:osx">Mac OS X</a> and has mainly been used on the 
+      GNU/Linux platform.</p>
+
+      <p>It has been tested on the following GNU/Linux distributions:</p>
+      <ul>
+        <li>
+          <a href="http://www.redhat.com/rhel/">RHEL4</a>/<a href="http://fedora.redhat.com/">Fedora</a>
+        </li>
+        <li><a href="http://www.ubuntu.com/">Ubuntu</a></li>
+        <li><a href="http://www.gentoo.org/">Gentoo</a></li>
+      </ul>
+
+      <p>On all the above platforms a 32/64 bit Hadoop native library will work 
+      with a respective 32/64 bit jvm.</p>
+    </section>
+    
+    <section>
+      <title>Building Native Hadoop Libraries</title>
+      
+      <p>Hadoop native library is written in 
+      <a href="http://en.wikipedia.org/wiki/ANSI_C">ANSI C</a> and built using 
+      the GNU autotools-chain (autoconf, autoheader, automake, autoscan, libtool). 
+      This means it should be straight-forward to build them on any platform with 
+      a standards compliant C compiler and the GNU autotools-chain. 
+      See <a href="#Supported+Platforms">supported platforms</a>.</p>
+
+      <p>In particular the various packages you would need on the target 
+      platform are:</p>
+      <ul>
+        <li>
+          C compiler (e.g. <a href="http://gcc.gnu.org/">GNU C Compiler</a>)
+        </li>
+        <li>
+          GNU Autools Chain: 
+          <a href="http://www.gnu.org/software/autoconf/">autoconf</a>, 
+          <a href="http://www.gnu.org/software/automake/">automake</a>, 
+          <a href="http://www.gnu.org/software/libtool/">libtool</a>
+        </li>
+        <li> 
+          zlib-development package (stable version >= 1.2.0)
+        </li>
+        <li> 
+          lzo-development package (stable version >= 2.0)
+        </li> 
+      </ul>
+
+      <p>Once you have the pre-requisites use the standard <code>build.xml</code> 
+      and pass along the <code>compile.native</code> flag (set to 
+      <code>true</code>) to build the native hadoop library:</p>
+
+      <p><code>$ ant -Dcompile.native=true &lt;target&gt;</code></p>
+
+      <p>The native hadoop library is not built by default since not everyone is 
+      interested in building them.</p>
+
+      <p>You should see the newly-built native hadoop library in:</p>
+
+      <p><code>$ build/native/&lt;platform&gt;/lib</code></p>
+
+      <p>where &lt;platform&gt; is combination of the system-properties: 
+      <code>${os.name}-${os.arch}-${sun.arch.data.model}</code>; for e.g. 
+      Linux-i386-32.</p>
+
+      <section>
+        <title>Notes</title>
+        
+        <ul>
+          <li>
+            It is <strong>mandatory</strong> to have both the zlib and lzo 
+            development packages on the target platform for building the 
+            native hadoop library; however for deployment it is sufficient to 
+            install zlib or lzo if you wish to use only one of them.
+          </li>
+          <li>
+            It is necessary to have the correct 32/64 libraries of both zlib/lzo 
+            depending on the 32/64 bit jvm for the target platform for 
+            building/deployment of the native hadoop library.
+          </li>
+        </ul>
+      </section>
+    </section>
+  </body>
+  
+</document>

+ 24 - 1
src/docs/src/documentation/content/xdocs/site.xml

@@ -22,6 +22,7 @@ See http://forrest.apache.org/docs/linking.html for more info.
     <setup     label="Cluster Setup"      href="cluster_setup.html" />
     <setup     label="Cluster Setup"      href="cluster_setup.html" />
     <hdfs      label="HDFS Architecture"  href="hdfs_design.html" />
     <hdfs      label="HDFS Architecture"  href="hdfs_design.html" />
     <mapred    label="Map-Reduce Tutorial" href="mapred_tutorial.html" />
     <mapred    label="Map-Reduce Tutorial" href="mapred_tutorial.html" />
+    <mapred    label="Native Hadoop Libraries" href="native_libraries.html" />
     <streaming label="Streaming"          href="streaming.html" />
     <streaming label="Streaming"          href="streaming.html" />
     <hod       label="Hadoop On Demand"   href="hod.html" />
     <hod       label="Hadoop On Demand"   href="hod.html" />
     <api       label="API Docs"           href="ext:api/index" />
     <api       label="API Docs"           href="ext:api/index" />
@@ -33,13 +34,20 @@ See http://forrest.apache.org/docs/linking.html for more info.
   <external-refs>
   <external-refs>
     <site      href="http://lucene.apache.org/hadoop/"/>
     <site      href="http://lucene.apache.org/hadoop/"/>
     <lists     href="http://lucene.apache.org/hadoop/mailing_lists.html"/>
     <lists     href="http://lucene.apache.org/hadoop/mailing_lists.html"/>
-    <releases  href="http://lucene.apache.org/hadoop/releases.html"/>
+    <releases  href="http://lucene.apache.org/hadoop/releases.html">
+      <download href="#Download" />
+    </releases>
     <jira      href="http://lucene.apache.org/hadoop/issue_tracking.html"/>
     <jira      href="http://lucene.apache.org/hadoop/issue_tracking.html"/>
     <wiki      href="http://wiki.apache.org/lucene-hadoop/" />
     <wiki      href="http://wiki.apache.org/lucene-hadoop/" />
     <faq       href="http://wiki.apache.org/lucene-hadoop/FAQ" />
     <faq       href="http://wiki.apache.org/lucene-hadoop/FAQ" />
     <lucene    href="http://lucene.apache.org/" />
     <lucene    href="http://lucene.apache.org/" />
     <nutch     href="http://lucene.apache.org/nutch/" />
     <nutch     href="http://lucene.apache.org/nutch/" />
     <hadoop-default href="http://lucene.apache.org/hadoop/hadoop-default.html" />
     <hadoop-default href="http://lucene.apache.org/hadoop/hadoop-default.html" />
+    <zlib      href="http://www.zlib.net/" />
+    <lzo       href="http://www.oberhumer.com/opensource/lzo/" />
+    <gzip      href="http://www.gzip.org/" />
+    <cygwin    href="http://www.cygwin.com/" />
+    <osx       href="http://www.apple.com/macosx" />
     <api href="api/">
     <api href="api/">
       <index href="index.html" />
       <index href="index.html" />
       <org href="org/">
       <org href="org/">
@@ -63,6 +71,11 @@ See http://forrest.apache.org/docs/linking.html for more info.
                 <close href="#close()" />
                 <close href="#close()" />
               </closeable>
               </closeable>
               <sequencefile href="SequenceFile.html" />
               <sequencefile href="SequenceFile.html" />
+              <sequencefilecompressiontype href="SequenceFile.CompressionType.html">
+                <none href="#NONE" />
+                <record href="#RECORD" />
+                <block href="#BLOCK" />
+              </sequencefilecompressiontype>
               <writable href="Writable.html" />
               <writable href="Writable.html" />
               <writablecomparable href="WritableComparable.html" />
               <writablecomparable href="WritableComparable.html" />
               <compress href="compress/">
               <compress href="compress/">
@@ -99,6 +112,9 @@ See http://forrest.apache.org/docs/linking.html for more info.
                 <setmaxmaptaskfailurespercent href="#setMaxMapTaskFailuresPercent(int)" />
                 <setmaxmaptaskfailurespercent href="#setMaxMapTaskFailuresPercent(int)" />
                 <setmaxreducetaskfailurespercent href="#setMaxReduceTaskFailuresPercent(int)" />
                 <setmaxreducetaskfailurespercent href="#setMaxReduceTaskFailuresPercent(int)" />
                 <setjobendnotificationuri href="#setJobEndNotificationURI(java.lang.String)" />
                 <setjobendnotificationuri href="#setJobEndNotificationURI(java.lang.String)" />
+                <setcompressmapoutput href="#setCompressMapOutput(boolean)" />
+                <setmapoutputcompressiontype href="#setMapOutputCompressionType(org.apache.hadoop.io.SequenceFile.CompressionType)" />
+                <setmapoutputcompressorclass href="#setMapOutputCompressorClass(java.lang.Class)" />
               </jobconf>
               </jobconf>
               <jobconfigurable href="JobConfigurable.html">
               <jobconfigurable href="JobConfigurable.html">
                 <configure href="#configure(org.apache.hadoop.mapred.JobConf)" />
                 <configure href="#configure(org.apache.hadoop.mapred.JobConf)" />
@@ -113,6 +129,13 @@ See http://forrest.apache.org/docs/linking.html for more info.
                 <collect href="#collect(K, V)" />
                 <collect href="#collect(K, V)" />
               </outputcollector>
               </outputcollector>
               <outputformat href="OutputFormat.html" />
               <outputformat href="OutputFormat.html" />
+              <outputformatbase href="OutputFormatBase.html">
+                <setcompressoutput href="#setCompressOutput(org.apache.hadoop.mapred.JobConf,%20boolean)" />
+                <setoutputcompressorclass href="#setOutputCompressorClass(org.apache.hadoop.mapred.JobConf,%20java.lang.Class)" />
+              </outputformatbase>
+              <sequencefileoutputformat href="SequenceFileOutputFormat.html">
+                <setoutputcompressiontype href="#setOutputCompressionType(org.apache.hadoop.mapred.JobConf,%20org.apache.hadoop.io.SequenceFile.CompressionType)" />
+              </sequencefileoutputformat>
               <partitioner href="Partitioner.html" />
               <partitioner href="Partitioner.html" />
               <recordreader href="RecordReader.html" />
               <recordreader href="RecordReader.html" />
               <recordwriter href="RecordWriter.html" />
               <recordwriter href="RecordWriter.html" />

Some files were not shown because too many files changed in this diff