Просмотр исходного кода

HADOOP-3492. Add forrest documentation for user archives. Contributed by Mahadev Konar.

git-svn-id: https://svn.apache.org/repos/asf/hadoop/core/branches/branch-0.18@666343 13f79535-47bb-0310-9956-ffa450edef68
Hairong Kuang 17 лет назад
Родитель
Сommit
8368ef7f14

+ 3 - 0
CHANGES.txt

@@ -273,6 +273,9 @@ Release 0.18.0 - Unreleased
     HADOOP-2916. Refactor src structure, but leave package structure alone.
     (Raghu Angadi via mukund) 
 
+    HADOOP-3492. Add forrest documentation for user archives.
+    (Mahadev Konar via hairong)
+
   OPTIMIZATIONS
 
     HADOOP-3274. The default constructor of BytesWritable creates empty 

+ 3 - 1
docs/changes.html

@@ -277,7 +277,7 @@ InputFormat.validateInput.<br />(tomwhite via omalley)</li>
     </ol>
   </li>
   <li><a href="javascript:toggleList('release_0.18.0_-_unreleased_._bug_fixes_')">  BUG FIXES
-</a>&nbsp;&nbsp;&nbsp;(77)
+</a>&nbsp;&nbsp;&nbsp;(78)
     <ol id="release_0.18.0_-_unreleased_._bug_fixes_">
       <li><a href="http://issues.apache.org/jira/browse/HADOOP-2905">HADOOP-2905</a>. 'fsck -move' triggers NPE in NameNode.<br />(Lohit Vjayarenu via rangadi)</li>
       <li>Increment ClientProtocol.versionID missed by <a href="http://issues.apache.org/jira/browse/HADOOP-2585">HADOOP-2585</a>.<br />(shv)</li>
@@ -437,6 +437,8 @@ don't have fragments even when createSymLink is true.<br />(Abhijit Bagri via dd
 ResolutionMonitor.<br />(Lohit Vijayarenu via shv)</li>
       <li><a href="http://issues.apache.org/jira/browse/HADOOP-3511">HADOOP-3511</a>. Fixes namenode image to not set the root's quota to an
 invalid value when the quota was not saved in the image.<br />(hairong)</li>
+      <li><a href="http://issues.apache.org/jira/browse/HADOOP-3516">HADOOP-3516</a>. Ensure the JobClient in HadoopArchives is initialized
+with a configuration.<br />(Subramaniam Krishnan via omalley)</li>
     </ol>
   </li>
 </ul>

+ 3 - 0
docs/cluster_setup.html

@@ -138,6 +138,9 @@ document.write("Last Published: " + document.lastModified);
 <a href="streaming.html">Streaming</a>
 </div>
 <div class="menuitem">
+<a href="hadoop_archives.html">Hadoop Archives</a>
+</div>
+<div class="menuitem">
 <a href="hod.html">Hadoop On Demand</a>
 </div>
 <div class="menuitem">

+ 283 - 0
docs/hadoop_archives.html

@@ -0,0 +1,283 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<html>
+<head>
+<META http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<meta content="Apache Forrest" name="Generator">
+<meta name="Forrest-version" content="0.8">
+<meta name="Forrest-skin-name" content="pelt">
+<title>Hadoop Archives</title>
+<link type="text/css" href="skin/basic.css" rel="stylesheet">
+<link media="screen" type="text/css" href="skin/screen.css" rel="stylesheet">
+<link media="print" type="text/css" href="skin/print.css" rel="stylesheet">
+<link type="text/css" href="skin/profile.css" rel="stylesheet">
+<script src="skin/getBlank.js" language="javascript" type="text/javascript"></script><script src="skin/getMenu.js" language="javascript" type="text/javascript"></script><script src="skin/fontsize.js" language="javascript" type="text/javascript"></script>
+<link rel="shortcut icon" href="images/favicon.ico">
+</head>
+<body onload="init()">
+<script type="text/javascript">ndeSetTextSize();</script>
+<div id="top">
+<!--+
+    |breadtrail
+    +-->
+<div class="breadtrail">
+<a href="http://www.apache.org/">Apache</a> &gt; <a href="http://hadoop.apache.org/">Hadoop</a> &gt; <a href="http://hadoop.apache.org/core/">Core</a><script src="skin/breadcrumbs.js" language="JavaScript" type="text/javascript"></script>
+</div>
+<!--+
+    |header
+    +-->
+<div class="header">
+<!--+
+    |start group logo
+    +-->
+<div class="grouplogo">
+<a href="http://hadoop.apache.org/"><img class="logoImage" alt="Hadoop" src="images/hadoop-logo.jpg" title="Apache Hadoop"></a>
+</div>
+<!--+
+    |end group logo
+    +-->
+<!--+
+    |start Project Logo
+    +-->
+<div class="projectlogo">
+<a href="http://hadoop.apache.org/core/"><img class="logoImage" alt="Hadoop" src="images/core-logo.gif" title="Scalable Computing Platform"></a>
+</div>
+<!--+
+    |end Project Logo
+    +-->
+<!--+
+    |start Search
+    +-->
+<div class="searchbox">
+<form action="http://www.google.com/search" method="get" class="roundtopsmall">
+<input value="hadoop.apache.org" name="sitesearch" type="hidden"><input onFocus="getBlank (this, 'Search the site with google');" size="25" name="q" id="query" type="text" value="Search the site with google">&nbsp; 
+                    <input name="Search" value="Search" type="submit">
+</form>
+</div>
+<!--+
+    |end search
+    +-->
+<!--+
+    |start Tabs
+    +-->
+<ul id="tabs">
+<li>
+<a class="unselected" href="http://hadoop.apache.org/core/">Project</a>
+</li>
+<li>
+<a class="unselected" href="http://wiki.apache.org/hadoop">Wiki</a>
+</li>
+<li class="current">
+<a class="selected" href="index.html">Hadoop 0.18 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="hdfs_user_guide.html">HDFS User Guide</a>
+</div>
+<div class="menuitem">
+<a href="hdfs_permissions_guide.html">HDFS Permissions Guide</a>
+</div>
+<div class="menuitem">
+<a href="hdfs_quota_admin_guide.html">HDFS Quotas Administrator Guide</a>
+</div>
+<div class="menuitem">
+<a href="hdfs_shell.html">FS Shell Guide</a>
+</div>
+<div class="menuitem">
+<a href="mapred_tutorial.html">Map-Reduce Tutorial</a>
+</div>
+<div class="menuitem">
+<a href="native_libraries.html">Native Hadoop Libraries</a>
+</div>
+<div class="menuitem">
+<a href="streaming.html">Streaming</a>
+</div>
+<div class="menupage">
+<div class="menupagetitle">Hadoop Archives</div>
+</div>
+<div class="menuitem">
+<a href="hod.html">Hadoop On Demand</a>
+</div>
+<div class="menuitem">
+<a href="api/index.html">API Docs</a>
+</div>
+<div class="menuitem">
+<a href="http://wiki.apache.org/hadoop/">Wiki</a>
+</div>
+<div class="menuitem">
+<a href="http://wiki.apache.org/hadoop/FAQ">FAQ</a>
+</div>
+<div class="menuitem">
+<a href="http://hadoop.apache.org/core/mailing_lists.html">Mailing Lists</a>
+</div>
+<div class="menuitem">
+<a href="releasenotes.html">Release Notes</a>
+</div>
+<div class="menuitem">
+<a href="changes.html">All Changes</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="hadoop_archives.pdf"><img alt="PDF -icon" src="skin/images/pdfdoc.gif" class="skin"><br>
+        PDF</a>
+</div>
+<h1>Hadoop Archives</h1>
+<div id="minitoc-area">
+<ul class="minitoc">
+<li>
+<a href="#What+are+Hadoop+archives%3F"> What are Hadoop archives? </a>
+</li>
+<li>
+<a href="#How+to+create+an+archive%3F"> How to create an archive? </a>
+</li>
+<li>
+<a href="#How+to+look+up+files+in+archives%3F"> How to look up files in archives? </a>
+</li>
+</ul>
+</div>
+        
+<a name="N1000D"></a><a name="What+are+Hadoop+archives%3F"></a>
+<h2 class="h3"> What are Hadoop archives? </h2>
+<div class="section">
+<p>
+        Hadoop archives are special format archives. A Hadoop archive
+        maps to a FileSystem directory. A Hadoop archive always has a *.har
+        extension. A Hadoop archive directory contains metadata (in the form 
+        of _index and _masterindex) and data (part-*) files. The _index file contains
+        the name of the files that are part of the archive and there location
+        within the part files. 
+        </p>
+</div>
+        
+<a name="N10017"></a><a name="How+to+create+an+archive%3F"></a>
+<h2 class="h3"> How to create an archive? </h2>
+<div class="section">
+<p>
+        
+<span class="codefrag">Usage: hadoop archive -archiveName name &lt;src&gt;* &lt;dest&gt;</span>
+        
+</p>
+<p>
+        -archiveName is the name of the archive you would like to create. An example would be 
+        foo.har. The name should have a *.har extension. The inputs are filesystem pathnames which 
+        work as usual with regular expressions. The destination directory would contain the archive.
+        Note that this is a Map Reduce job that creates the archives. You would need a map reduce cluster
+        to run this. The following is an example:</p>
+<p>
+        
+<span class="codefrag">hadoop -archiveName foo.har /user/hadoop/dir1 /user/hadoop/dir2 /user/zoo/</span>
+        
+</p>
+<p>
+        In the above example /user/hadoop/dir1 and /user/hadoop/dir2 will be archived in the following
+        filesystem directory -- /user/zoo/foo.har. The sources are not changed or removed when an archive
+        is created.
+        </p>
+</div>
+        
+<a name="N1002F"></a><a name="How+to+look+up+files+in+archives%3F"></a>
+<h2 class="h3"> How to look up files in archives? </h2>
+<div class="section">
+<p>
+        The archives exposes itself as a filesystem layer. So all the fs shell commands in the archives work but 
+        with a different URI. Also, note that archives are immutable. So, rename's, deletes and creates return an error. 
+        URI for Hadoop Archives is 
+        </p>
+<p>
+<span class="codefrag">har://scheme-hostname:port/archivepath/fileinarchive</span>
+</p>
+<p>
+        If no scheme is provided it assumes the underlying filesystem. 
+        In that case the URI would look like 
+        </p>
+<p>
+<span class="codefrag">
+        har:///archivepath/fileinarchive</span>
+</p>
+</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>

+ 215 - 0
docs/hadoop_archives.pdf

@@ -0,0 +1,215 @@
+%PDF-1.3
+%ª«¬­
+4 0 obj
+<< /Type /Info
+/Producer (FOP 0.20.5) >>
+endobj
+5 0 obj
+<< /Length 478 /Filter [ /ASCII85Decode /FlateDecode ]
+ >>
+stream
+GauI39iHZu&;KZOMETC?0cu(aag$ksN]0I?4K+$+6X`A\C"eUI?38WPG+<lXi;f?`hII^OGFA]%1Bo[&(pY@$p6>k"Q2q$A4TnYE(Io=I3.^E:T#/$CBYBkM"VjV<(1+Iq=`)]8!\]YkFa=,1W-9B$"\46bK1I=rCLoB5>mb`5^2r*IeJP4)J`&mYJuKLG"@ZeH,JH,8iSAGH]cTm]gjud(DW7DF0+QB8\LDXOd@EYQ"L2i4&CT#A(diD(Mk6g(H-c0/"_G(8#?iF5a$_gU4T5f15U6q)O=knZ6A0<2`u*KD,+eP46u&j]S@.nXUSqpsqKoP07Wn^[YphKunPeR.$U4Dbm]2CVJHUb,^B[5m6`ZjcmXqKU!V@<W7L9eApGr<5*2PBFPT`52]$[S)[T]!:Fb+2JM6eVM_HC$@]QUQC\Sj^r_X,8T*+if/dk%;oFG%5CFmY.em'UK,[;*0cJR%DG]>Y&T~>
+endstream
+endobj
+6 0 obj
+<< /Type /Page
+/Parent 1 0 R
+/MediaBox [ 0 0 612 792 ]
+/Resources 3 0 R
+/Contents 5 0 R
+/Annots 7 0 R
+>>
+endobj
+7 0 obj
+[
+8 0 R
+10 0 R
+12 0 R
+]
+endobj
+8 0 obj
+<< /Type /Annot
+/Subtype /Link
+/Rect [ 102.0 559.666 242.948 547.666 ]
+/C [ 0 0 0 ]
+/Border [ 0 0 0 ]
+/A 9 0 R
+/H /I
+>>
+endobj
+10 0 obj
+<< /Type /Annot
+/Subtype /Link
+/Rect [ 102.0 541.466 235.28 529.466 ]
+/C [ 0 0 0 ]
+/Border [ 0 0 0 ]
+/A 11 0 R
+/H /I
+>>
+endobj
+12 0 obj
+<< /Type /Annot
+/Subtype /Link
+/Rect [ 102.0 523.266 269.312 511.266 ]
+/C [ 0 0 0 ]
+/Border [ 0 0 0 ]
+/A 13 0 R
+/H /I
+>>
+endobj
+14 0 obj
+<< /Length 1688 /Filter [ /ASCII85Decode /FlateDecode ]
+ >>
+stream
+GatU4D3(GM&H88._7/j8)?T%YX6Q^uWn5ut4ghaZ<E6N.*,ksB^sn+`VSBhl5Wf6tZb7hq@L#$ebfo\&3,^a6e[rnCIG;"b]7jb^(TukUO)(j<Yo!8.m<YJ6.BVL2>l35YU7g8UqDH0M>[^+_i]U$cXl5=4Q9Pu\mBuVB[J=h4rFYT/YgQ\N@F8<LHohg*b<N\EN&kkoZ*oQt(2l8>"3X-HK;s"6[Jd&uc",>^,Hj\%j$IYM-nA:crVHTch*m-?UVo#Dh,*U>r;&$!aMX-!U`:SRU2sc_%Hu61Oee];pkA.oidd**TaZ"E7lPUGR9Yp<L/^:5eJFZ;]</seX972pn0PGVE*`RC9%)W32o)oCX1SKWc%qfN\Y;1]rQi,KaYRn@9#6Q7(;XX]7iniC%o&Un0l*(6nF<&?,HR)'kF)Tnm+Uu[GNr4QKNucsTqJN,8b?]HTQG(fhi*6U+MHdMGu_[?M+?Nm"\iq\.S&nHng<ZXW/41bgYi\]`M2YM)!B?K:pnfj]\%BIe=VI\>2I_\Srj=(\5?YY0Unmh5\iIPcmW1;'\Q%)Y-hTJ!]RL";-6&&]I12*C?Q)u*/HJRA`SW+jfn?M083iD;HD[oQFsa/l]go$brL.U:%\Z?c[nA91W1R=T7o;+UEaVARF&ABAQ@f`a\-?#aoq9)SoIn#:/-c)C+8EUMQTJ=4%_RlS.]$:Q=oLY)-2RaT+k<\P?2n]R(Cq,&OQY_S8#:S2t5*9bEGVX<tI#'nK'+U%.&N=>Md4tfb%Ai(tlBP$E7WjGF3!:Gh,hkM0Uu+#LG"18K2dAjg)2"5_Hi^7\ChOA@nk"6D=JL>i-iW_P$.A,\``uoDYIge)>_oRb4C'3.?4*(_n3nf"2Q@`s1uh+n:[/TVQ85:8fNYCF_8-VR5c);:%[:m0sYtoCMZ,7g>CR`JA`(UT#g0<H-lugfUtSYZ:_o8lV4Z%>PTgl;-;&e&20YFEL/H]f;8;\i3[WQ9qF8l'B>7D>VkoI-,2FfXm]@*&qQMY'HhUaHKlWUg,9>)K%3p;s1cc?4^C;>F$+]qMIVFA[pG]BG?[i,:,M3f"_Y6abrMU.X_?DRM`-uT'5FX=iD&l6Q!hV/akR'8jOm;l*d1:?(]3](GJY3bZi-N.0fUVs-amokC?uVUJitF02Sg]fPj`=+i/+FdFD0HNs$6?"2&$XC0)cl@";km5*sX%'RVY=:oi'Vi^%@"OWEJU2UlROMGnAc!,S+mG%-K7^pBXshSUM7i:Lf]jGgk>_A,$`bI57AJgbUAB+$YOY^XR-<_<_I(ncf?.3,$3dPP`dN&3+Bn;8nh@:f[hfO+]7Vmk!a);L`hC+i,>h&i1'\oYJenK]>*=_<mW*W4Z\Z=YtIZC@ss>s4)(A`Wm79`THS)iY'iG;+$0(/H:M;Go=IPc'C,_\@1KQH"cU'phTp*"D0AJuj,CARrWI(f"-f1CPY"Z9Y*_#Z\S7dJcIa*'gGd6*Ef`Z=9M7i%.)*?MLc?\Xr2_p%0m^EG8WI+bDQsKsLSOm,X'T7YE0,1t&X+cme$n<(M4J1D%"-fX!V1L^'&-MgM%)&-8D/V[n;fa!gK\n5l,1`n,>M=KsNlGPe/LU\0c2qs9QK...05L]UY\OQ/`L22H=g\>sTNf+2uT*!UEHGMZ1o4Jr59#-[]Wfe6+/3EQsB_k1Jg'=%EN?R+qq~>
+endstream
+endobj
+15 0 obj
+<< /Type /Page
+/Parent 1 0 R
+/MediaBox [ 0 0 612 792 ]
+/Resources 3 0 R
+/Contents 14 0 R
+>>
+endobj
+17 0 obj
+<<
+ /Title (\376\377\0\61\0\40\0\127\0\150\0\141\0\164\0\40\0\141\0\162\0\145\0\40\0\110\0\141\0\144\0\157\0\157\0\160\0\40\0\141\0\162\0\143\0\150\0\151\0\166\0\145\0\163\0\77)
+ /Parent 16 0 R
+ /Next 18 0 R
+ /A 9 0 R
+>> endobj
+18 0 obj
+<<
+ /Title (\376\377\0\62\0\40\0\110\0\157\0\167\0\40\0\164\0\157\0\40\0\143\0\162\0\145\0\141\0\164\0\145\0\40\0\141\0\156\0\40\0\141\0\162\0\143\0\150\0\151\0\166\0\145\0\77)
+ /Parent 16 0 R
+ /Prev 17 0 R
+ /Next 19 0 R
+ /A 11 0 R
+>> endobj
+19 0 obj
+<<
+ /Title (\376\377\0\63\0\40\0\110\0\157\0\167\0\40\0\164\0\157\0\40\0\154\0\157\0\157\0\153\0\40\0\165\0\160\0\40\0\146\0\151\0\154\0\145\0\163\0\40\0\151\0\156\0\40\0\141\0\162\0\143\0\150\0\151\0\166\0\145\0\163\0\77)
+ /Parent 16 0 R
+ /Prev 18 0 R
+ /A 13 0 R
+>> endobj
+20 0 obj
+<< /Type /Font
+/Subtype /Type1
+/Name /F3
+/BaseFont /Helvetica-Bold
+/Encoding /WinAnsiEncoding >>
+endobj
+21 0 obj
+<< /Type /Font
+/Subtype /Type1
+/Name /F5
+/BaseFont /Times-Roman
+/Encoding /WinAnsiEncoding >>
+endobj
+22 0 obj
+<< /Type /Font
+/Subtype /Type1
+/Name /F1
+/BaseFont /Helvetica
+/Encoding /WinAnsiEncoding >>
+endobj
+23 0 obj
+<< /Type /Font
+/Subtype /Type1
+/Name /F9
+/BaseFont /Courier
+/Encoding /WinAnsiEncoding >>
+endobj
+24 0 obj
+<< /Type /Font
+/Subtype /Type1
+/Name /F2
+/BaseFont /Helvetica-Oblique
+/Encoding /WinAnsiEncoding >>
+endobj
+25 0 obj
+<< /Type /Font
+/Subtype /Type1
+/Name /F7
+/BaseFont /Times-Bold
+/Encoding /WinAnsiEncoding >>
+endobj
+1 0 obj
+<< /Type /Pages
+/Count 2
+/Kids [6 0 R 15 0 R ] >>
+endobj
+2 0 obj
+<< /Type /Catalog
+/Pages 1 0 R
+ /Outlines 16 0 R
+ /PageMode /UseOutlines
+ >>
+endobj
+3 0 obj
+<< 
+/Font << /F3 20 0 R /F5 21 0 R /F1 22 0 R /F9 23 0 R /F2 24 0 R /F7 25 0 R >> 
+/ProcSet [ /PDF /ImageC /Text ] >> 
+endobj
+9 0 obj
+<<
+/S /GoTo
+/D [15 0 R /XYZ 85.0 659.0 null]
+>>
+endobj
+11 0 obj
+<<
+/S /GoTo
+/D [15 0 R /XYZ 85.0 553.866 null]
+>>
+endobj
+13 0 obj
+<<
+/S /GoTo
+/D [15 0 R /XYZ 85.0 345.532 null]
+>>
+endobj
+16 0 obj
+<<
+ /First 17 0 R
+ /Last 19 0 R
+>> endobj
+xref
+0 26
+0000000000 65535 f 
+0000004529 00000 n 
+0000004594 00000 n 
+0000004686 00000 n 
+0000000015 00000 n 
+0000000071 00000 n 
+0000000640 00000 n 
+0000000760 00000 n 
+0000000799 00000 n 
+0000004820 00000 n 
+0000000934 00000 n 
+0000004883 00000 n 
+0000001070 00000 n 
+0000004949 00000 n 
+0000001207 00000 n 
+0000002988 00000 n 
+0000005015 00000 n 
+0000003096 00000 n 
+0000003333 00000 n 
+0000003584 00000 n 
+0000003867 00000 n 
+0000003980 00000 n 
+0000004090 00000 n 
+0000004198 00000 n 
+0000004304 00000 n 
+0000004420 00000 n 
+trailer
+<<
+/Size 26
+/Root 2 0 R
+/Info 4 0 R
+>>
+startxref
+5066
+%%EOF

+ 3 - 0
docs/hdfs_design.html

@@ -140,6 +140,9 @@ document.write("Last Published: " + document.lastModified);
 <a href="streaming.html">Streaming</a>
 </div>
 <div class="menuitem">
+<a href="hadoop_archives.html">Hadoop Archives</a>
+</div>
+<div class="menuitem">
 <a href="hod.html">Hadoop On Demand</a>
 </div>
 <div class="menuitem">

+ 3 - 0
docs/hdfs_permissions_guide.html

@@ -140,6 +140,9 @@ document.write("Last Published: " + document.lastModified);
 <a href="streaming.html">Streaming</a>
 </div>
 <div class="menuitem">
+<a href="hadoop_archives.html">Hadoop Archives</a>
+</div>
+<div class="menuitem">
 <a href="hod.html">Hadoop On Demand</a>
 </div>
 <div class="menuitem">

+ 3 - 0
docs/hdfs_quota_admin_guide.html

@@ -140,6 +140,9 @@ document.write("Last Published: " + document.lastModified);
 <a href="streaming.html">Streaming</a>
 </div>
 <div class="menuitem">
+<a href="hadoop_archives.html">Hadoop Archives</a>
+</div>
+<div class="menuitem">
 <a href="hod.html">Hadoop On Demand</a>
 </div>
 <div class="menuitem">

+ 3 - 0
docs/hdfs_shell.html

@@ -138,6 +138,9 @@ document.write("Last Published: " + document.lastModified);
 <a href="streaming.html">Streaming</a>
 </div>
 <div class="menuitem">
+<a href="hadoop_archives.html">Hadoop Archives</a>
+</div>
+<div class="menuitem">
 <a href="hod.html">Hadoop On Demand</a>
 </div>
 <div class="menuitem">

+ 3 - 0
docs/hdfs_user_guide.html

@@ -140,6 +140,9 @@ document.write("Last Published: " + document.lastModified);
 <a href="streaming.html">Streaming</a>
 </div>
 <div class="menuitem">
+<a href="hadoop_archives.html">Hadoop Archives</a>
+</div>
+<div class="menuitem">
 <a href="hod.html">Hadoop On Demand</a>
 </div>
 <div class="menuitem">

+ 3 - 0
docs/hod.html

@@ -139,6 +139,9 @@ document.write("Last Published: " + document.lastModified);
 <div class="menuitem">
 <a href="streaming.html">Streaming</a>
 </div>
+<div class="menuitem">
+<a href="hadoop_archives.html">Hadoop Archives</a>
+</div>
 <div class="menupage">
 <div class="menupagetitle">Hadoop On Demand</div>
 </div>

+ 3 - 0
docs/hod_admin_guide.html

@@ -140,6 +140,9 @@ document.write("Last Published: " + document.lastModified);
 <a href="streaming.html">Streaming</a>
 </div>
 <div class="menuitem">
+<a href="hadoop_archives.html">Hadoop Archives</a>
+</div>
+<div class="menuitem">
 <a href="hod.html">Hadoop On Demand</a>
 </div>
 <div class="menuitem">

+ 3 - 0
docs/hod_config_guide.html

@@ -140,6 +140,9 @@ document.write("Last Published: " + document.lastModified);
 <a href="streaming.html">Streaming</a>
 </div>
 <div class="menuitem">
+<a href="hadoop_archives.html">Hadoop Archives</a>
+</div>
+<div class="menuitem">
 <a href="hod.html">Hadoop On Demand</a>
 </div>
 <div class="menuitem">

+ 3 - 0
docs/hod_user_guide.html

@@ -140,6 +140,9 @@ document.write("Last Published: " + document.lastModified);
 <a href="streaming.html">Streaming</a>
 </div>
 <div class="menuitem">
+<a href="hadoop_archives.html">Hadoop Archives</a>
+</div>
+<div class="menuitem">
 <a href="hod.html">Hadoop On Demand</a>
 </div>
 <div class="menuitem">

+ 3 - 0
docs/index.html

@@ -138,6 +138,9 @@ document.write("Last Published: " + document.lastModified);
 <a href="streaming.html">Streaming</a>
 </div>
 <div class="menuitem">
+<a href="hadoop_archives.html">Hadoop Archives</a>
+</div>
+<div class="menuitem">
 <a href="hod.html">Hadoop On Demand</a>
 </div>
 <div class="menuitem">

+ 9 - 0
docs/linkmap.html

@@ -138,6 +138,9 @@ document.write("Last Published: " + document.lastModified);
 <a href="streaming.html">Streaming</a>
 </div>
 <div class="menuitem">
+<a href="hadoop_archives.html">Hadoop Archives</a>
+</div>
+<div class="menuitem">
 <a href="hod.html">Hadoop On Demand</a>
 </div>
 <div class="menuitem">
@@ -261,6 +264,12 @@ document.write("Last Published: " + document.lastModified);
 </li>
 </ul>
     
+<ul>
+<li>
+<a href="hadoop_archives.html">Hadoop Archives</a>&nbsp;&nbsp;___________________&nbsp;&nbsp;<em>archives</em>
+</li>
+</ul>
+    
 <ul>
 <li>
 <a href="hod.html">Hadoop On Demand</a>&nbsp;&nbsp;___________________&nbsp;&nbsp;<em>hod</em>

+ 12 - 12
docs/linkmap.pdf

@@ -5,10 +5,10 @@
 /Producer (FOP 0.20.5) >>
 endobj
 5 0 obj
-<< /Length 1076 /Filter [ /ASCII85Decode /FlateDecode ]
+<< /Length 1110 /Filter [ /ASCII85Decode /FlateDecode ]
  >>
 stream
-Gatn&>u03/'Sc)R.rkq4GlCHY=^[1_C]iC*(Lrn-iY%/+.>\/\^Rl0,A&CX55V'7NUR_)Kaa%CnE&mf7639g]%$mq3D#]Y9$uTZ*JEDcA\/jTD!lC^?\IO)U/X2Ru_#Y#jF(Of6't7t`km*O63d7`nX1j!](0VKbh@G&?b:c>Q"UJ=D:QC,Pi/h-QAZ"`N"Db4-\S]_Q*slc(9%p`!AD]u$od6$Z)6&nU'1M17Bh,2S<KlXDP$lIn#2!&eiolO'$=iePA.`Y,_Dh\jBsso`/^&;i%!KL;?@K<`q29b_6m.Mp+4AGS(]s:EJg,`=LOF]7Sc!Jq1i)^<KN;Y='oc%!d9NBP9O94R`7k<Ic0kYdpNp'!/,:leM@i)bpGL*1cnR;35r:iMdAZ-7etUUAfpL$OX)dBV*MK5?l!<q?mO3!g/ZZV$(K*2UbDqsqCU<1Qei)M),c?'e5(bs\5$@N2o.%jU-$Lu3$l[0:e&YV8da`RS;T]4BiH,!sh7S2O<;Hf($97([phmUDWHZ3BQdo9i[;gBg:=PMqRpb;5lp_H[TV$VsMl,"@!M63)<@II)(:nmsm*h$uJg6n&Vg4@P*-@c6Ma\uar4QhkMufX%fA;4H7tV$D.Q.Nu12RY:NEe@g_b0!RZO0nE;IA$,hj$mU=_U!3_Ja%/\p$-C$gD1$9O1_o;R2l&NYrs/gk45o]X,QV_&'\G_Gp!K>Lj*IYV/oK;9.<#*&cWZ,^qECp9@lWrR/V>0[L+&l<--=8fXTlDp?Tm4+,l@@VSMT\+FuU@\^s-69OJ/TB]HO#&9d4+8ql@2o]A$2a`TcR:!T=`so`qGN1N5%bfjA:q8I"f!)QRrW#=<]a[-DgdW997!-cdQSOo%G2>"38j3-46:0CC5!?kWk(O7*_MM_[C]nrb3Qaa0o*.g)F?&sdP,F]'D',+N]C+%uSU_7[6-',]WC)2=:s!*&]9jVILJ;TfK?(lAKL<nPZR0F2]UT-[!A(TE8*/lOV/A'ET-CHm6[]J4(cmGubW1!p2^38=MfPX97-0AtPYI9``u<mkAs6jhSTaDmV:j_]b7sSIrs(0sQ(S~>
+Gatn&?#uJp'Sc)T/%A8*U=D2AkpFYuGP[HOhW`"&Vk\h`1r8+#E2NYa"\Oc=<5jKRbTr>gcMQgE?@BIh0E/I.&Z,OtlcfM)s0;femM74&jqgI#5K5,TKI>/n)uY,l;HfY^(H>16PI("`]&/D$33X1U9BUT6);CL#V.HLXoB<r&rO5X9&].T%P@JS@32BSm?)Y1B_>5NlDHi(E-N`&-P.%J#3Hh]S].9_$7U"pI7$Ti+g6$,mdq-++,WN$'!'<h>RQRj)`L-U9Z3^/<@2o@FF11O*?J#-\(`\4D^&0knj=^So(kFN_IRlQ@0EgN$"@W;X&,QDO48Gp<laGrf$*EK-/fLG%U:EU9Sc,].&FTi@2LbgBTD#SD/,;/oM@i)bpGM5'cm^`+5nY<Pm8S8dC=28@Cs6M8<I&Q#:=.CAN%TEGG?K*kQH`Oi/#g/6AOfGIp"ApN>8qPhP1-[6T0^3'\mCALb9e`5,nDVu%@X/Ee&5<>o$)7g;TaUjn2^M_h7Wa?WVcm($97([pi3gWWK4p0Oj-q7X`8O]9%9)mQXJf/*(LH`cqcjuD-(N3!&*rGWg$Y_Ks"c5q_[Gci5DNSC*"XWK?eONYps9e^/hAS.3OlOg;gGg,\Xt(@X%?Fk$@-9OmC;'=G_'A<afo4lKao+]92nG.ntXCr+L8O]u,-J8>#bIeb;Ni9")(B0a#@MHP"5L&!luJpe!JCR-M@HAY1(Jq]bDEFc$XEYj%`*EEIkfo5dIH&W%XsCPkL+#u[:fTWOfLI]CE]Q/()Wh9:I^"1+n3eC,K[a#N:ajiq-Bhf&pkqsj2q8FXR9:/03*P>B7m?ducX%FeIQ+8p0b2oS-tcm%)bgCnS^i#D2?9nR-+'H_uXX^)H19<76*^_dRI[\m6]L_GjuAO/P.QDG:tZQ=Rsoa/?ll#9>i'H:1U2WtjQfgp`bE&YSU6<&.V:i\qDWNVZeN&eQEG.i,;Y.);S%D`n"/>@bX"IMW;N&HUK`LHj1N6QG5F=g7,9UTrP7fD#1ZR@,M`E)3.hYh-;?(o=9mT7WZfY\9?c8E.O0$2;-aP?cphWRJW3$[$t=67='$okHDjOqhOh)]su%\e<<K5p2V!t`_kF8~>
 endstream
 endobj
 6 0 obj
@@ -72,17 +72,17 @@ endobj
 xref
 0 12
 0000000000 65535 f 
-0000001900 00000 n 
-0000001958 00000 n 
-0000002008 00000 n 
+0000001934 00000 n 
+0000001992 00000 n 
+0000002042 00000 n 
 0000000015 00000 n 
 0000000071 00000 n 
-0000001239 00000 n 
-0000001345 00000 n 
-0000001457 00000 n 
-0000001566 00000 n 
-0000001676 00000 n 
-0000001784 00000 n 
+0000001273 00000 n 
+0000001379 00000 n 
+0000001491 00000 n 
+0000001600 00000 n 
+0000001710 00000 n 
+0000001818 00000 n 
 trailer
 <<
 /Size 12
@@ -90,5 +90,5 @@ trailer
 /Info 4 0 R
 >>
 startxref
-2128
+2162
 %%EOF

+ 3 - 0
docs/mapred_tutorial.html

@@ -138,6 +138,9 @@ document.write("Last Published: " + document.lastModified);
 <a href="streaming.html">Streaming</a>
 </div>
 <div class="menuitem">
+<a href="hadoop_archives.html">Hadoop Archives</a>
+</div>
+<div class="menuitem">
 <a href="hod.html">Hadoop On Demand</a>
 </div>
 <div class="menuitem">

+ 3 - 0
docs/native_libraries.html

@@ -138,6 +138,9 @@ document.write("Last Published: " + document.lastModified);
 <a href="streaming.html">Streaming</a>
 </div>
 <div class="menuitem">
+<a href="hadoop_archives.html">Hadoop Archives</a>
+</div>
+<div class="menuitem">
 <a href="hod.html">Hadoop On Demand</a>
 </div>
 <div class="menuitem">

+ 3 - 0
docs/quickstart.html

@@ -138,6 +138,9 @@ document.write("Last Published: " + document.lastModified);
 <a href="streaming.html">Streaming</a>
 </div>
 <div class="menuitem">
+<a href="hadoop_archives.html">Hadoop Archives</a>
+</div>
+<div class="menuitem">
 <a href="hod.html">Hadoop On Demand</a>
 </div>
 <div class="menuitem">

+ 3 - 0
docs/streaming.html

@@ -141,6 +141,9 @@ document.write("Last Published: " + document.lastModified);
 <div class="menupagetitle">Streaming</div>
 </div>
 <div class="menuitem">
+<a href="hadoop_archives.html">Hadoop Archives</a>
+</div>
+<div class="menuitem">
 <a href="hod.html">Hadoop On Demand</a>
 </div>
 <div class="menuitem">

+ 66 - 0
src/docs/src/documentation/content/xdocs/hadoop_archives.xml

@@ -0,0 +1,66 @@
+<?xml version="1.0"?>
+<!--
+  Copyright 2002-2004 The Apache Software Foundation
+  
+  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
+  
+      http://www.apache.org/licenses/LICENSE-2.0
+      
+  Unless required by applicable law or agreed to in writing, software
+  distributed under the License is distributed on an "AS IS" BASIS,
+  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+  See the License for the specific language governing permissions and
+  limitations under the License.
+-->
+<!DOCTYPE document PUBLIC "-//APACHE//DTD Documentation V2.0//EN" "http://forrest.apache.org/dtd/document-v20.dtd">
+<document>
+        <header>
+        <title>Hadoop Archives</title>
+        </header>
+        <body>
+        <section>
+        <title> What are Hadoop archives? </title>
+        <p>
+        Hadoop archives are special format archives. A Hadoop archive
+        maps to a FileSystem directory. A Hadoop archive always has a *.har
+        extension. A Hadoop archive directory contains metadata (in the form 
+        of _index and _masterindex) and data (part-*) files. The _index file contains
+        the name of the files that are part of the archive and there location
+        within the part files. 
+        </p>
+        </section>
+        <section>
+        <title> How to create an archive? </title>
+        <p>
+        <code>Usage: hadoop archive -archiveName name &lt;src&gt;* &lt;dest&gt;</code>
+        </p>
+        <p>
+        -archiveName is the name of the archive you would like to create. An example would be 
+        foo.har. The name should have a *.har extension. The inputs are filesystem pathnames which 
+        work as usual with regular expressions. The destination directory would contain the archive.
+        Note that this is a Map Reduce job that creates the archives. You would need a map reduce cluster
+        to run this. The following is an example:</p>
+        <p>
+        <code>hadoop -archiveName foo.har /user/hadoop/dir1 /user/hadoop/dir2 /user/zoo/</code>
+        </p><p>
+        In the above example /user/hadoop/dir1 and /user/hadoop/dir2 will be archived in the following
+        filesystem directory -- /user/zoo/foo.har. The sources are not changed or removed when an archive
+        is created.
+        </p>
+        </section>
+        <section>
+        <title> How to look up files in archives? </title>
+        <p>
+        The archives exposes itself as a filesystem layer. So all the fs shell commands in the archives work but 
+        with a different URI. Also, note that archives are immutable. So, rename's, deletes and creates return an error. 
+        URI for Hadoop Archives is 
+        </p><p><code>har://scheme-hostname:port/archivepath/fileinarchive</code></p><p>
+        If no scheme is provided it assumes the underlying filesystem. 
+        In that case the URI would look like 
+        </p><p><code>
+        har:///archivepath/fileinarchive</code></p>
+        </section>
+	</body>
+</document>

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

@@ -43,6 +43,7 @@ See http://forrest.apache.org/docs/linking.html for more info.
     <mapred    label="Map-Reduce Tutorial" href="mapred_tutorial.html" />
     <mapred    label="Native Hadoop Libraries" href="native_libraries.html" />
     <streaming label="Streaming"          href="streaming.html" />
+    <archives label="Hadoop Archives"     href="hadoop_archives.html"/>
     <hod       label="Hadoop On Demand" href="hod.html">
       <hod-user-guide href="hod_user_guide.html"/>
       <hod-admin-guide href="hod_admin_guide.html"/>