[prev in list] [next in list] [prev in thread] [next in thread]
List: hadoop-commits
Subject: svn commit: r652057 - in /hadoop/core/trunk: docs/hod_admin_guide.html
From: ddas () apache ! org
Date: 2008-04-28 5:15:08
Message-ID: 20080428051509.E34361A981C () eris ! apache ! org
[Download RAW message or body]
Author: ddas
Date: Sun Apr 27 22:15:06 2008
New Revision: 652057
URL: http://svn.apache.org/viewvc?rev=652057&view=rev
Log:
HADOOP-3304. Fixes the way the logcondense.py utility searches for log files that \
need to be deleted. Contributed by Hemanth Yamijala.
Modified:
hadoop/core/trunk/docs/hod_admin_guide.html
hadoop/core/trunk/docs/hod_admin_guide.pdf
hadoop/core/trunk/src/contrib/hod/CHANGES.txt
hadoop/core/trunk/src/contrib/hod/support/logcondense.py
hadoop/core/trunk/src/docs/src/documentation/content/xdocs/hod_admin_guide.xml
Modified: hadoop/core/trunk/docs/hod_admin_guide.html
URL: http://svn.apache.org/viewvc/hadoop/core/trunk/docs/hod_admin_guide.html?rev=652057&r1=652056&r2=652057&view=diff
==============================================================================
--- hadoop/core/trunk/docs/hod_admin_guide.html (original)
+++ hadoop/core/trunk/docs/hod_admin_guide.html Sun Apr 27 22:15:06 2008
@@ -205,6 +205,22 @@
<li>
<a href="#Running+HOD">Running HOD</a>
</li>
+<li>
+<a href="#Supporting+Tools+and+Utilities">Supporting Tools and Utilities</a>
+<ul class="minitoc">
+<li>
+<a href="#logcondense.py+-+Tool+for+removing+log+files+uploaded+to+DFS">logcondense.py \
- Tool for removing log files uploaded to DFS</a> +<ul class="minitoc">
+<li>
+<a href="#Running+logcondense.py">Running logcondense.py</a>
+</li>
+<li>
+<a href="#Command+Line+Options+for+logcondense.py">Command Line Options for \
logcondense.py</a> +</li>
+</ul>
+</li>
+</ul>
+</li>
</ul>
</div>
@@ -468,6 +484,105 @@
<div class="section">
<p>You can now proceed to <a href="hod_user_guide.html">HOD User Guide</a> for \
information about how to run HOD,
what are the various features, options and for help in trouble-shooting.</p>
+</div>
+
+
+<a name="N10134"></a><a name="Supporting+Tools+and+Utilities"></a>
+<h2 class="h3">Supporting Tools and Utilities</h2>
+<div class="section">
+<p>This section describes certain supporting tools and utilities that can be used in \
managing HOD deployments.</p> +<a name="N1013D"></a><a \
name="logcondense.py+-+Tool+for+removing+log+files+uploaded+to+DFS"></a> +<h3 \
class="h4">logcondense.py - Tool for removing log files uploaded to DFS</h3> +<p>As \
mentioned in + <a \
href="hod_user_guide.html#Collecting+and+Viewing+Hadoop+Logs">this section</a> of the \
+ <a href="hod_user_guide.html">HOD User Guide</a>, HOD can be configured to \
upload + Hadoop logs to a statically configured HDFS. Over time, the number \
of logs uploaded + to DFS could increase. logcondense.py is a tool that helps \
administrators to clean-up + the log files older than a certain number of \
days. </p> +<a name="N1014E"></a><a name="Running+logcondense.py"></a>
+<h4>Running logcondense.py</h4>
+<p>logcondense.py is available under hod_install_location/support folder. You can \
either + run it using python, for e.g. <em>python logcondense.py</em>, or give \
execute permissions + to the file, and directly run it as \
<em>logcondense.py</em>. logcondense.py needs to be + run by a user who has \
sufficient permissions to remove files from locations where log + files are \
uploaded in the DFS, if permissions are enabled. For e.g. as mentioned in the + \
<a href="hod_config_guide.html#3.7+hodring+options">configuration guide</a>, the logs \
could + be configured to come under the user's home directory in HDFS. In that \
case, the user + running logcondense.py should have super user privileges to \
remove the files from under + all user home directories.</p>
+<a name="N10162"></a><a name="Command+Line+Options+for+logcondense.py"></a>
+<h4>Command Line Options for logcondense.py</h4>
+<p>The following command line options are supported for logcondense.py.</p>
+<table class="ForrestTable" cellspacing="1" cellpadding="4">
+
+<tr>
+
+<td colspan="1" rowspan="1">Short Option</td>
+ <td colspan="1" rowspan="1">Long option</td>
+ <td colspan="1" rowspan="1">Meaning</td>
+ <td colspan="1" rowspan="1">Example</td>
+
+</tr>
+
+<tr>
+
+<td colspan="1" rowspan="1">-p</td>
+ <td colspan="1" rowspan="1">--package</td>
+ <td colspan="1" rowspan="1">Complete path to the hadoop script. The \
version of hadoop must be the same as the + one running HDFS.</td>
+ <td colspan="1" rowspan="1">/usr/bin/hadoop</td>
+
+</tr>
+
+<tr>
+
+<td colspan="1" rowspan="1">-d</td>
+ <td colspan="1" rowspan="1">--days</td>
+ <td colspan="1" rowspan="1">Delete log files older than the specified \
number of days</td> + <td colspan="1" rowspan="1">7</td>
+
+</tr>
+
+<tr>
+
+<td colspan="1" rowspan="1">-c</td>
+ <td colspan="1" rowspan="1">--config</td>
+ <td colspan="1" rowspan="1">Path to the Hadoop configuration \
directory, under which hadoop-site.xml resides. + The hadoop-site.xml \
must point to the HDFS NameNode from where logs are to be removed.</td> + \
<td colspan="1" rowspan="1">/home/foo/hadoop/conf</td> +
+</tr>
+
+<tr>
+
+<td colspan="1" rowspan="1">-l</td>
+ <td colspan="1" rowspan="1">--logs</td>
+ <td colspan="1" rowspan="1">A HDFS path, this must be the same HDFS \
path as specified for the log-destination-uri, + as mentioned in the <a \
href="hod_config_guide.html#3.7+hodring+options">configuration guide</a>, + \
without the hdfs:// URI string</td> + <td colspan="1" \
rowspan="1">/user</td> +
+</tr>
+
+<tr>
+
+<td colspan="1" rowspan="1">-n</td>
+ <td colspan="1" rowspan="1">--dynamicdfs</td>
+ <td colspan="1" rowspan="1">If true, this will indicate that the \
logcondense.py script should delete HDFS logs + in addition to \
Map/Reduce logs. Otherwise, it only deletes Map/Reduce logs, which is also the + \
default if this option is not specified. This option is useful if dynamic DFS \
installations + are being provisioned by HOD, and the static DFS \
installation is being used only to collect + logs - a scenario that may \
be common in test clusters.</td> + <td colspan="1" \
rowspan="1">false</td> +
+</tr>
+
+</table>
+<p>So, for example, to delete all log files older than 7 days using a \
hadoop-site.xml stored in + ~/hadoop-conf, using the hadoop installation under \
~/hadoop-0.17.0, you could say:</p> +<p>
+<em>python logcondense.py -p ~/hadoop-0.17.0/bin/hadoop -d 7 -c ~/hadoop-conf -l \
/user</em> +</p>
</div>
</div>
Modified: hadoop/core/trunk/docs/hod_admin_guide.pdf
URL: http://svn.apache.org/viewvc/hadoop/core/trunk/docs/hod_admin_guide.pdf?rev=652057&r1=652056&r2=652057&view=diff
==============================================================================
--- hadoop/core/trunk/docs/hod_admin_guide.pdf (original)
+++ hadoop/core/trunk/docs/hod_admin_guide.pdf Sun Apr 27 22:15:06 2008
@@ -5,10 +5,10 @@
/Producer (FOP 0.20.5) >>
endobj
5 0 obj
-<< /Length 668 /Filter [ /ASCII85Decode /FlateDecode ]
+<< /Length 803 /Filter [ /ASCII85Decode /FlateDecode ]
>>
stream
-Gb!$E9lldX&;KZO$6AX[W]lN[a/!Drm7bN:_QD'K"[SNl_@b^"s*Z3/8C"SSEbHJ@YZAE<oW4?iYL;@H%0\#/ \
#c'n>lsCMN:^.aZo>=sQkBMY&jU"Jei-T]!ntt*B^]fQ.F"c;s2nkS^U%/qC"R-`_3<ja!I,p=,$t@@LGH(@?9 \
C%/^>@CI?ERq'`Wihok0n@ZV5E(D@a=rS4d3&)4jHY%9gfJFf;XZ.3Z3%q$n;N^m:*N6r"[]N=9IV5#"^,I2e6 \
fVrd.4`Ng8^A(=ip&6-R3[86FmSb)+5,B?&&(&pTeX^SU$WH-^6$U4q#-]`JA@AH^Qs!F-oWHd3?''riFgKe9. \
T[7t/(\52W?o1oDQ[#KJNJ7Q6Td:G?T&h,Af><)JpoIM_?o#D=('n'fptPXZY;7ESTQ;rE<qG,2mR<4*IKK0D[ \
iFB,*kFP"$B.6D10PgQ&Gs$<=%)E:$$#X_#B]#EUL3]Df0dpM6aTe_PrQT4o(1pDnep]/O(e(oJ2-NLlNm[j9h \
=6a(eq@&BEIguB+%A&@S@V>luMIC<2D:gLnKE3Yj&UXthCgTNk&0[F&3+?2uJf02VcG8-RqY[qnId*k[l<HFAK.uXCJl(g8oLV+(E[NX"IV=W,7;-W%VWh)Ej:1`&X(u>VCU]le>LQft*'3`L4+?XF~>
+Gb!$E_/c#!&;KX9KoXG%W[&/6A(&kjFsc6--E"9WC1O%V/.j%qakKkuN'sQQae<_D_-0rAI(r^_^!)'=Wt:? \
u,*;0nAH0(=!bHl_1-Z25p0J^^(re#Gp>Gi-3\R;1cbMP4;Y+_0(2eN=p:2Ts^e^&?0p*-"LWGZu1nbJ9E??gV \
IoX]^T_?c"mbE%;Kk<Y1@lt)PR`<7$fRO[R.-]c#hjaQ&h7`6'Y7F;I3.!aih2LiVQf1[a(to?Ka?4M\68DB!H \
"PD"X((7L4g_l\RPcH=[qhQ.bRms1o?`jk1gl".d%9t`CLjKS?DcQ>+to?F$,?Fr*nr=@4En/k@60K<ZeW:hB@ \
5qUWjjGtq=XULFK9<.4RCa20ST<a\u@7N!(5qs4n"G0m!.3`GJS13J<8gbINI70dO7RpOYYJX3H,Tt3q9uDK(& \
<R5p)B524)29f$]ONVO_-n7VPp$#GK?]3(:$4+X1FPU@?hsf?<+J?PJ9#Cb<XkFEi^#Y`jja&X^kA]02&WJ9X9 \
64n%-+Lj,!H,<1_D=+DMV(9M*gh"0C0FY/lMY\-j7NAJ2DjCm=_??+6Iiom]m]QEg`\qauTQET?Q]AE:cA8)sZ \
Jr,5uqT7]f:K;Dc:+Bm)[[2c+KI3;Rb:D`>g")G4$\)sf[H))1H+C:_,22cSOd#!-(-H\eB\+qIPeb4RmOgVRK \
EB-.0)-2egA[@r@Nq2&,beWBMCF8&R"D/3CHNBt-cO8UmFp,5KOSR+KG%p/pWOKkFh[P9NSNd=>^:NoZ5#f0?_I-s<B6hD]CB^gQl_J,d%UIDH<OpC~>
endstream
endobj
6 0 obj
@@ -30,6 +30,8 @@
18 0 R
20 0 R
22 0 R
+24 0 R
+26 0 R
]
endobj
8 0 obj
@@ -113,27 +115,47 @@
>>
endobj
24 0 obj
+<< /Type /Annot
+/Subtype /Link
+/Rect [ 102.0 414.066 255.68 402.066 ]
+/C [ 0 0 0 ]
+/Border [ 0 0 0 ]
+/A 25 0 R
+/H /I
+>>
+endobj
+26 0 obj
+<< /Type /Annot
+/Subtype /Link
+/Rect [ 108.0 395.866 423.476 383.866 ]
+/C [ 0 0 0 ]
+/Border [ 0 0 0 ]
+/A 27 0 R
+/H /I
+>>
+endobj
+28 0 obj
<< /Length 2280 /Filter [ /ASCII85Decode /FlateDecode ]
>>
stream
GatU5>Ap9+'Roe[i%^A"KKH\^fl"-1V.eW%I;5bh_q8Q;(r@S]qs/U=QoPDtfI#,u/&9B!qffb1HsSCBmsWH& \
F@08L(5B8'R$n'U9PnLZ1XE=Ke+U.KVYtXKlIX`;bAEkYI=#Jc>Jf7#[D0-"Di7t'McX$6Y5Z#r=5&ZUGb4&>m \
sf?e6P$PeC$W_[MpJM)=#6sb.[=\8]&WMd=$%`S5(kZR"k"M0f3_Vqk-;FG\U+&EjlKZ.-qaK07C@B%<8oqQQd \
rgM=XNPq]HiuZ,uqhR,i>?H=>6ZcDS)N&[nt8,5dps@P!!=[KE(LGD;eu,4L)DQQpTHCQhtE+;-qd]*\h1BcfI \
Xa_NLU@U9js%OeI.IY&bYj$3_IjX7YDVc0j$1NPXbGo2NA/n%p"?m0?ZS5sMWYg+*4;``\HP<F(>:0.VaCRYp( \
]C+cYrRj@imU>7>#2hcRMBrI+tI\#Pc`"dj&#D4PD[,TN\5ZR3.aA%;87Qa4H1!Q8V]s3e<9^.k3[4t1d^@..U \
3Pu/TIF]^*<;0k2YEC;%)NKY#nV.kDhV\iP8?3Q+YBn5%S=AuXg1kS6>G#cH8jk`>Lb'g099pn@PYK7LhNYMg] \
5#B?o5aNrLgc'NCRXfBX:r8F;5L6!"BRu*js3G2o#`<*'i<rm3$4f,lGF3(:j1_>klpj5^_Tr[AE&hGl5^0VmM \
<Jsg=',?@088;I1Oi5>I;I.)qp<b>DEH_#0k'Y[<M#KmiKC#EiY1CM*6N+.pfqJ8tf3R/(?X0oQUIVZ9dE$BMZ \
1TW9UlhW%*s'Xt8BIA3h22aZA.+^7T,"D<gOeD=+:g\54S8k'a-X-4OEcn[?(I9m^[bUs6)1!"j?@%a/OPeBl> \
WN'b%5BS4G.K1K-64=bXd$&kHm8tPu<BR+rCb)(rWXitd3NF+6[*T'(.1+)'k^Yf+eG='s2,qr6dW_1jP2:[)tTRod9FlE<@m=7*jXF.Rm3GVW&l..Dd@"B[m;;p/s8]s,
hJ[a-g=W5'W7fcp]R;QYVVDr+SWa.S\V3]?POTqghCDJ7B%=dU9$hZoZj$h]OTP*V0<8&S:-W/b:"]k(ahJ@ \
C\-+)bfU:j*LetZtqrl.^bOJ6H,P;e5FR70"%cE*3HD(`klS$Z,B1tN-TgA7\4Wt\<jUP-EmEe<2Nh_@i7`&Ua \
Hc_HIS[k8+eQd<o;_d3'\no4UVV8S$ROLWa@#F:&?5)qV(_OF5u$mrSL$XuW24b=-MpQY-.aS5D_JO"qceD*#@ \
K94iEj/-V,oCWA)b0\g*i;T7nftK_?T-;=FHKn*8].#hUJ>(hu67OEp6LTKOI5Klf(jQ1H7MJk!hK5D.TmDBI% \
7(->QXu;kbcFLl%;]5kb6,X7;Of#6bClRh#PUVt;Q/850tq,4>OtD%E8%S"Rj7F@N8\st1rq,b#qRCQG%,3j/T \
6:Zl;*ZQeMUg[D#3N#l*4&HhNPQDPu'9@9\d^^oMT'AZf>hbO@,AIak!I].%cuU7p&Cb(1#Ii?rKs2e"W3M2QJ \
-RF2DMm$CZH")Dm>mNQ9iMEQXh6C9n3kLA^U_oa8chK3o8CrK,Z/j\&cD33bab,#;SM6idQ3%T3Fd_I>sF4[J< \
qL2HF"=?l-\W6uWRKTae!<@pLSodMCId1oJs.[-cpDRIB$$0oWP[!-hu3eJVK8!#bX5'6oOhGj>JB<*%$1YK$' \
"G-Yk?2`4[3g3V-CW]i+UC3B)N!SoIKj0\(8),NL^>N\*8jb]B%.0Dr=mM91B8WjFl:g>GdiX,bN$;<\P+2(k< \
EH(,!";9U1LW/)Tk(k:BPQKg31C,H#363D1@,T2":bu.DkTQr0m-T]H6GBq="oI=;?e)0EI%[`28DTmrkD+ACs \
SL2PX)jrPI6\,DqW'I8+QhNgF"=r\ALQU`78a3O-(]=l&.oDP3N^0(iaSr+XQfKp%,\9NM<Djm5L8?h,(lrWuh\+a22LK-_Y'oH4Hc+a$_C@T/Wu^(*,,8;aEou>_7G2RA/
_1OsbAbVTHU&NF68Ij9[,]-VdR8$&Vp@Q:ZfJRK%)Q"H-:c^doabSE:DI:5pH(`h68A`ufNIk](p;*b6d_G( \
:mmGP5O:/1o3h*%&^YLt]#oS$m3<bNU/l'Z\YrXM`*9nb2JN(S@7:qsVn/iTn3>I"q&sVI\ECn.FBE.aXb[gOZ \
IY*H:His*(Dk,0iLZQq!]]L)sI2j.`l!drk=0UhAV9.HY'O0D8s4*&m[Z#9B+GMEB!8HuV++BRb))5hVk.B>1A&#B0?4mWk#:h.3IZASEW33nY7ZB3k*I9+?:C++$GKg&~>
endstream
endobj
-25 0 obj
+29 0 obj
<< /Type /Page
/Parent 1 0 R
/MediaBox [ 0 0 612 792 ]
/Resources 3 0 R
-/Contents 24 0 R
-/Annots 26 0 R
+/Contents 28 0 R
+/Annots 30 0 R
>>
endobj
-26 0 obj
+30 0 obj
[
-27 0 R
+31 0 R
]
endobj
-27 0 obj
+31 0 obj
<< /Type /Annot
/Subtype /Link
/Rect [ 308.976 542.466 431.592 530.466 ]
@@ -144,36 +166,36 @@
/H /I
>>
endobj
-28 0 obj
+32 0 obj
<< /Length 2450 /Filter [ /ASCII85Decode /FlateDecode ]
>>
stream
Gatm=99Yi)&AJ$CE(j/d(;r;D]H<DL-8WqUCU48)AXa)N#D$1Pn$`=M=s/efWNF[G%#04[rH5UIHF\:0>l7nf \
ee\6K/7P+$<Y,E'^ZW(u?T<3o4KDrBC@Q`BHF`h:]l,nF^0,=hG5%:3ruB4eU\7\P+G&o_bJO,=8]A-+W*/fCH \
9jW$:QASkP?7F;abuXigjVuOa.LPEg["pLj`OUAGZ?#3`_1S5=n/@I86mUEi2%PlXadJ7B/&0[N?8St?1o\'UQ \
aLu.J:^tr7MH*:Hb%hK;YpDggECib>#E^Wenui/8%:UQAhs!)L]k-cordlcM':(U/&iF^RnIrjd)/?oO3$GHR/ \
%E/Ws*AQ>`@e]Ua<2g4TqW$=4hiHrVOsWE<Eq!e%h%h%`O+=fJm.&JuZoW>LCY*m9J9H9TkS5lA[!g'NU!"Cd4 \
oX2Hd<1KG\BhD)GTf]JoAat*^c0r-HP$1n5<mZo7'js%ll3XHMX9HM`\hf_RJGl=&6Q;s+)@8df?rSuZ,\&P^P \
ipTCGU^/98'bg6B2NGY"g([/Tf.>%_73R@mmN8Ah**pDGAoC5J69k&$IWmFf_)]M'UZScQ8e[C2P[m\_2+*<;> \
)oM3Z0qlBFG'Q-8u.4-MS5t@mj8]Nh/Yn2Akqn\NJJAR"3o<1-.G3OWa<^nG1`k/g:'JF_"m[Fr%26DkQ]X+;c \
Spu*)QahX3_Ulo?G="?T^KECkkD+MnZU(P:r?jki,Mi$n=IW=d^"!Tgti8^n^053(^s8Y2[]LVc<iaGuLOFS4- \
=&>?5I/o\-<*3I/e,os(9>c#\>-]MMO3)kQ6jW8n:&C!TGnJZ4jkE`f%4>mJMn;lZG&qXWa9T`?H+>;9f6kj(\ \
d(.-GUT&Xn<KCo&%TQ:Wi4WQl-X5=@R0Y&oLjfB=r:VkhFY42;.XIBaOia`*">K@RVg*"S!L)[[7K.ip@Zu1$8<[X`t>#U2i4I5($ID'E;d4&/Z1XA:"Oq1o+*X>^PV1VV
('1ZCR]a9!!g\t<TItGs&.J8M`#7eQ1rIZLuk,L#6<UO&,%F!@lVG)?A=cMM9UX%XT2l:)A?34@jKT'/n(cV \
(jd'ea]#s7X2)h3U0<qXNHa/ioZ]lmC]X$;&0s'.fO&J2Ja->F5;!B[qBD)J)8'Ik1ok[*\_92GbdW!P"XZ*1[ \
KN2V@4[/FO#WCXj*!Jj!8qNE\i@,hU.DK<t/69CaKJL%KXX'&Vqjqo[i5?A7l,(OLOC@iLh"dXh]Y76<+S.9V7 \
hNTnP,Y_T@SNX`Z\_\RPeb)CPogp.PiPlt*MC84?fYk/Xg1r`FXpY#gVWR80S#XuGL6AXD<E%p`A$Q<u^a==+S \
?uD2;5pU15FWirIcO"BkSA+Xi`sU]3;]^?\_mg`oQ)dHW#BiN2&W6>3qj4-Z]-#c\<rFHP!N71H;[6,a+R/'&h \
4c+'29e=o4_8_q`V-%H^gnb-B=.g`VW]AiWl@JYr%a[i4#cK4!P7.47p2[5@TsA,us0D"[PI8)OWO/'628Qd/+ \
^b,7BC)pcm2CY)Z9`AB,,%<)I!JG>l]2`*>QOa\?"=/if<;oe($s'"T:sBbG#u=Z!/\=41Z<."r8aZY?Vf7Ich \
-dU/8:HG5S@f-?;Kjj@RK4F0t$TXNX0homTF_>TKtGF'<coZI7f%E!(6=R!?=;Bud.;sg^PFFe5#%D+O!G"DPI \
9>L0NYmNepii>X_78'f%m%-P6(b^5`F>jY[0dtb,H.oO:0H`*0^pej(i*0XcN^N_()"5\[[\ctr.4@N$L8,Qei \
\$s#liQ$IXc=>6!8_\430^"@o/b>]2$;!TDCcX#U?<+h:e*Vg%cZH0D#bac5-%)=(2a;`f<<Rf*"8sa?oBjG=? \
"Z'%l*@,,AMi`;dgV[N,HG`F?8dk'KKG9H_b+Mb/%\l358NaSUl#<60b=V%+i(fjX[19k/T7?amA4p%o8Ru"3V!\&pH&"@*P?.*Ud59c<^\bac;@92]+0BFSr5Ka#eaRJ,\
KGE&]oEl?Qjo&F)i3NVeiGQjK4%Xn40@Q*=4F@!QndrPq!*F3o0pTqb=VcbL2Y%&JLkFT]/2=0`@L0j\4M+= \
RDl25FoINh/WurL5a#-uPG.4PXL\1\LeugMMb$!HQm'U5f3qj0k1mhJF]Kn+[CoUH@lDpXi]Te)LqLP":-5-7= \
fl5e*uXoc?]/"]@c6XPS1^cSO[l"GG5k`f:8Q-<7Y#%OU=g)A1fO>):%"hX2an4b$:p"CO1t25g01GoiYV1u>d \
!5t3:O$mlH%jeHJM$qIFCUmfS)T`].m`p/`aJqbG*_gkodY"IgH/Lrk[a"D:+*>LVSkar&=)q_54h_rCIk%M.i \
GDsD&nnY1H7@/p+GO0ePK8@q%o9HV7rB'MN#j+YBSGGJ-hcJKSf>/SGf<ltjWUInYC>5Gp3ZU`a(U*O(MQc,uqf(^]#Q!aYQCuiU-LNNJh#^m"nl$R]R`N;C#:nP3Vu~>
endstream
endobj
-29 0 obj
+33 0 obj
<< /Type /Page
/Parent 1 0 R
/MediaBox [ 0 0 612 792 ]
/Resources 3 0 R
-/Contents 28 0 R
-/Annots 30 0 R
+/Contents 32 0 R
+/Annots 34 0 R
>>
endobj
-30 0 obj
+34 0 obj
[
-31 0 R
-32 0 R
-33 0 R
-34 0 R
35 0 R
36 0 R
37 0 R
38 0 R
39 0 R
+40 0 R
+41 0 R
+42 0 R
+43 0 R
]
endobj
-31 0 obj
+35 0 obj
<< /Type /Annot
/Subtype /Link
/Rect [ 108.0 437.266 142.008 425.266 ]
@@ -184,7 +206,7 @@
/H /I
>>
endobj
-32 0 obj
+36 0 obj
<< /Type /Annot
/Subtype /Link
/Rect [ 108.0 383.666 183.672 371.666 ]
@@ -195,7 +217,7 @@
/H /I
>>
endobj
-33 0 obj
+37 0 obj
<< /Type /Annot
/Subtype /Link
/Rect [ 108.0 357.266 145.992 345.266 ]
@@ -206,7 +228,7 @@
/H /I
>>
endobj
-34 0 obj
+38 0 obj
<< /Type /Annot
/Subtype /Link
/Rect [ 476.928 215.732 511.596 203.732 ]
@@ -217,7 +239,7 @@
/H /I
>>
endobj
-35 0 obj
+39 0 obj
<< /Type /Annot
/Subtype /Link
/Rect [ 90.0 202.532 139.32 190.532 ]
@@ -228,7 +250,7 @@
/H /I
>>
endobj
-36 0 obj
+40 0 obj
<< /Type /Annot
/Subtype /Link
/Rect [ 462.6 189.332 483.252 177.332 ]
@@ -239,7 +261,7 @@
/H /I
>>
endobj
-37 0 obj
+41 0 obj
<< /Type /Annot
/Subtype /Link
/Rect [ 135.648 154.932 156.3 142.932 ]
@@ -250,7 +272,7 @@
/H /I
>>
endobj
-38 0 obj
+42 0 obj
<< /Type /Annot
/Subtype /Link
/Rect [ 348.276 154.932 368.928 142.932 ]
@@ -261,7 +283,7 @@
/H /I
>>
endobj
-39 0 obj
+43 0 obj
<< /Type /Annot
/Subtype /Link
/Rect [ 423.636 141.732 444.288 129.732 ]
@@ -272,29 +294,29 @@
/H /I
>>
endobj
-40 0 obj
+44 0 obj
<< /Length 2358 /Filter [ /ASCII85Decode /FlateDecode ]
>>
stream
Gatm==`<%a&:W67+T.r:YSl:fckOQl'Q'#QH>ACI7BNA&8?TTNXW$Dan*glK6ZH\:/W;YmR_*Wjo?HRN@eOt" \
]:7Kn#6)<.`Kk3U5nLhMc`]Rj348qh.;g\L^Wp.;B$]?07e:;uSls;j$[uoeh<@"5@!Ta91Oa]A:9(4r^H(FJ< \
JZ#Y/3eN21G&6og^^B=<-K(,rm^`!=Sr<]ls:YHja(MYFeZT1No+dEO#GWkeEl[!n"AIV]I6pONl;Lo6tSNKo= \
QWG%hEm-ifA\lH]BY@3W=t4aQ8;/Ha;aL21"ugR\#ngD#1Y2_8`L;-&uIr#>8f#X)]Jp5U'<j'_q7a(>5&^0Q: \
-\;PqD><NpD%7;=(`eM7g"kZnj9`78%kCt_]92Q_V*X@tW)cq/'K\7C:aY_)[SCb!CrJW2''Z?=?pj]el`L#Sd \
S3=:m6VH,d<frE29P4HKN2!fucR]tP-I5<q:rB6Ko,]UR6#qD:#-!QLAn!D[!Q@?l(6%8i:b3tnj"p/!(`n0t) \
b_]i.XU*GGRW?[^f<NQ8lQ;pWAO_,^m#Ba8'tVY)A+Z&qLEKg0>k(Q;"qT=*gZ-\^CCD;_ieqUsOMb,n/5Q%Ug \
;=Lh.WQN/S:YgAL[6u#j5:W`JX"Atm*H/GVgi`IL\aB".`ammqMpZg&#'HjcO]"9ra%,#Dul_3K%.i_:VtK0E_ \
5iu:V"t_"t?Pqj&*H)pl1eTBI29!K1>^r@O1CWc#H[UpO`K0R;P+N:`;IL0a0m9Y#*Cl?H>_br$Go6gOQ\k^,h \
`J8-Bf?33ETdf%\p..=41$!6L@I0G]UuR$dac@[[>/im+u21>rDVojT[d`cqe-@6W8VI4$r/bOQHmo\a]#j,$l \
&9WBmEdY\r@B@cuX1Zi*6NiV^O]h5T&oY=>I'=tjFPT^?`F#IH?k7VW:&MgV=R#\j#%+m;o=@A/E?+*VO0PKF,TIV%+o"S;890&_1p&8BBK>@8^i1p!0?;2kd\H<amNYf?
QdCJS?%b]B^7#Ia%GQ]Ooo&FO[R'=tj9^dOE$7iQ*AIeNU\mW0)0`?n:`XBZb(Z+:CV(aS7qEluBS!"fiF+d \
\LChuV(0E.$6+40LVG(XQ$ko^,s!#l_e4\rN-^oJ[@*"bBd\f)?6UKR\8:p#[Rj+Z7./i7B_.bLn@g2>7em3-V \
aZ/p4r)H[=ajZJnEU*)E(F1*0[Nb4ZR$39Vi_H-X`\Nc!1+$(M+VG.H:KF51Ij@Pj\FUFccfjbXlG9i]-KPmGR \
a^rQsjkk`^$fjg@1l_/\&2U5j*k_A`D7X.d#6"e&l%UnDF94WMpj/#:;Ae$OL6$!a_4n?S,:(5Z[ZV8K\n#O^Q \
=",KJA':sR7Q!d77U>Q$3u\o*l)0_`,^ljS7j(n%=mD]L1B"V[Ce\!VNMQ@^CgkV8qipI%_t,T4DI&Rd2,6R^> \
6:IC<K5F.hX`YWO?3;2+J7?KR"3nE_.JOY;/E(7\iaa;,]c&#B8>bS1??eS<\MkZ@ooY?AepqYGW%?@5$UE%X= \
I.IWA?a)Js[re;g(Tfbk?P/`f-F4M0P9AXHl;4XRfR79rlXeurkO@eP(H/Hek1$NrgC@C=--r!^%T;qt0Se8gO \
\l\(2^qgno,UbWgI>5NIs50"P:!Y`*X3;1<l<[h3*Fb`jeW4`P-j?0=r_hiugE2VP(oZ^M,g%nlI:i<KXe_bgd \
I>q$k&u2qACfcgB,tP!;C!T1E5bO598WQ+'\#Cnah&]c7^T/K$EV,ogGGR4g3($9pf$GtgZ[`uUXY_-]n*?"gT \
?X\^f.h^*l$8QuidCJ?VWHJ#5kSHdah0t"d8?3,?(<$4\AN6Qk(7PDC8J>,PPTeA(qkRT)!Ia9FToJI/;aD_$/ \
=hQkc!Ybr,8>9quZ4:A*Iu(7eU=r2E::Hjnd08j+uBN%>Z&I+pP/4,2praY8u=DN"d(-DnRBQ\fIDc(eVh\g>5<O7l\AW;?>hf65Y4aU!2FFm6+9O;.Q.gYTi/n=ZaR(AX/
>Qm6mr.5-X1%@u(a^M".r1d)1<[<p/X6>LO(Me<ZQ%_G$VlmB^fL;&hrTmo`h&e2`8_k144g@a@!HK>g>f&C \
e/iO7`u%#/fZ1oE/WE%Pj*Jc,R1+Ppe*Wa!h1[LSs83?7;4SjN`onR*j-@Be&kqid1k=AP""l`Rc:u8_,qL*@! \
=&Cp"RVB&NMT#Z,"mEAtT(r@\T(3"-e%/&?]1L1^r!`Rk$W%O/"$%/gYZXL`$H5cb3@(b+Bq?l(pGHba,Pq-RP \
/-/q$tJ8M[pK-oZ4Sr^&LD;R9^@#pETVV'^i^"bb!Z.V%\%dVJ.!r2JnE\&^\<o&I4]6Lkr$!uN3Fh-sc;Z#N\?*_B".G_G@"PZ?i]0L/g>j(iA$blKCjFJEo~>
endstream
endobj
-41 0 obj
+45 0 obj
<< /Type /Page
/Parent 1 0 R
/MediaBox [ 0 0 612 792 ]
/Resources 3 0 R
-/Contents 40 0 R
-/Annots 42 0 R
+/Contents 44 0 R
+/Annots 46 0 R
>>
endobj
-42 0 obj
+46 0 obj
[
-43 0 R
-44 0 R
+47 0 R
+48 0 R
]
endobj
-43 0 obj
+47 0 obj
<< /Type /Annot
/Subtype /Link
/Rect [ 299.988 604.0 320.64 592.0 ]
@@ -305,7 +327,7 @@
/H /I
>>
endobj
-44 0 obj
+48 0 obj
<< /Type /Annot
/Subtype /Link
/Rect [ 196.98 590.8 217.632 578.8 ]
@@ -316,29 +338,31 @@
/H /I
>>
endobj
-45 0 obj
-<< /Length 1840 /Filter [ /ASCII85Decode /FlateDecode ]
+49 0 obj
+<< /Length 2276 /Filter [ /ASCII85Decode /FlateDecode ]
>>
stream
-Gatm<>Ar7S'Roe[d)1BG`PP63W69]SUeTQ"CQg)b"r,f'0K*chP=/+]]>h)T50B&46V2Bi@0dL!P^"h<q9F\? \
4.TVM-\"i1CFO`t9HkG/QLF_AY=ImX:L2s'O1869XJa2-jR'8Yn8:n4roQAK*%\RrMi#,/A]l19EpU"o8po^SS \
i'6D?Vb8X?1;EjduoX]HRW\WnRTIGL=GctPYA4%'eRt9&.*S.(@XIfJ4FCDF8?TW6>b*i4J/q`:Y?^M"^2P$lP \
9J171()I0qEkAQgalj9s=C1GV8PJ%&BErcc===+5uY3D\s.5aDmYIhu.tGp<2.LjiutHIstA65)EDQ=GY9<>uR \
CujD&[+k<`^X^B%07Z:s=*_",2@C9Gj3<XT-EoW@QpY5.*>0![R*BF;"o&o.RZ,`5E3`8TOML\p>Th;e0r%`L: \
g5SLPm`DobjJAc'=B.FNhi,Oma)..>R)4hc-^.Q?aZ6U5(bKK:R;-6?p15#^g#tsT'RPa0.&605)QdCsLTfZGl \
)=S(82[B+aSt4coI!HmaqX!0T;:7GlT.kgT'1l6@$D:7mW1FW.NW\P#.V7lN'F'o;5k/gOo%iKLgP:[lc/795< \
GVpkN/X'!NKH>/Wi\M(;fMq]%KppuA(O`&ED3UAXf+/?q9&hfXQBI4&]S4_"3'5Z+Pe3##]JQ]qd.gpfX3Lg$r \
@LMaKu2ni';pk(P[fa;m!!V3#3GbqCGqD>blL3+)FfX'=rT$ChJi=V,71V!IY+R6K]n0l!.-s!T(s9NDdY%Le8 \
"^0'EYkB00oRbNZNrK6Fk01"^!4?%>P4M%Z.6kHK8RC#BMV6:'Y+LY%pF^7u>),o'`F`&uTNHO>D(23"YHRan$ \
H477_;Whf'gn?G\O,XZi,,?97RI]h[nBCXqWcJZpAZ#,:0FH&UhOp!<DQ;Ir#4;d[!:s'`L>bWtl+sK>JW<ZNpH#BSQSeE#t-lKkA041WD2qP[A#E%A.TMOTZ>JG^RD7S*
;QP]lM($V\k!%Msn^->t.7nT=bK/=S_aBbnM#r1d<k'*ZA<*R5uV^'948p,q^-9*Q-n<(h(2Zc"n8">!;Z`; \
ML1F?rZ#8t@":@n98&?85'<^!DlHA"pr'KNZXKHL\$l>423kmTWO:9Oscahs%%lOahV_>Z&6Y@<6UQ#;G:&Ksn \
Za]D#1/T#R;k%k.`+OMl;LZ#;9?6:u)oElS>^586K`E#'eN/,*F+=ir\"T.(![2T7=#e:rWGAI<Y)CO&Fr'l9\ \
pVE:X?A*]XV5+Y_;Gpt4a%)8^!P4iSZ;F-oCLc0ZnRt_]91r-(0*U!<N'1"p=&uA_%]^\/M#&<k26MSV,!*'\; \
.0*QMU+Aki'e\#ge%`'C\'/SjYH)j87(S]d_HiDqp_pu)rWuHF-du[N>4Xu_7M0k[CKqJ`/o4'[#sO]024RqbH \
$7/4I:;l!*L[fJ$Zs2BAeH&>cE@K;!O/$FFAfe]\b`(OIZefB+G6GYc"-p)')a<'G:",aI+OK6F2K]WV`I+fS< \
pcf,:OP$*I9RLK+dPG^U0dLN)/n@I=%BYh#0s;:%o=0>BJX<ffeTWbDR@$npi!)sq_"mZZ8,H=GRL_To7>0Ud& \
[J`=FP[$3LTD5ueY#d*Z5?ERD3I0]i@jJ%fCqm9H3;;[U<hIA(#ak4qP5dk2.7kLM1?Pn@p7=gN%PFGNUT!Li@ \
(0_P*S()ZCD)!/Mk1^0*3q4"li]Eph,tYtH<W5G4eXA)l9R#j#C.Jur^a&>i.$:Xg-W]G&5PC'\gZEmog-mQk-WW7(&kB(.D$Oh+hD1S>=[m%CI4lAtVZ"Hdm(=."*-Ku0\j+ciYK^OS])ZVl_9:GHNYHI4!e<ZtiW~>
+Gatm=D/\/e&H;*)Taq6o'alNimfW8,D3AL6S$\#.TNHt7Z"[F3,\hXFC(1".4'@koPXO7DL*B&7l/(m#]49\ \
m-Pt7R?P@0*iTL.b0SsMRXpb9a:At'hjk.Lp/0j>te)^,]m6Lf^I3_%,F6OO+_5$7(@W&/=pdYd.qDG84'%aLM \
Bk%!`1)&mr>#ooN7O%dP=D^'i/>ALFH+X_8Q`"j=QL\"2"MGHVr#IH;X*'e"iD[r.q'aJ7q`/"O.A*BE84k(H< \
<K%u8C=Ih%VOuB_0<X5e*F^YCl?rJ%m\Hlj^U-k-*3s=b*W9!PVuLurI'+fle1=KmDk-7I[&&?Lfr'/fK\!H3^ \
eQg/e;%B>_n@2+!@ag=XN\Pq=;6d@]n%,OU"JunuZgCX7OB.(,9$W_A)nH8ZXduE.WW8>!K[sn8LV*\9kkK;dF \
AVmR\(;R)N'&Eo`)?<A[pRGTr'(N6e4eKMs3i21/c-@ZIc?(E(QBc)X^N3'O@(&4oQ?>)-$(1$=7hEh%SMR"e7 \
MN`'d6s*?(P#QDCt428K-oYO;fB2=a-AJiI9$D$d#,0;<n!(s7*ePd*Gj,S4U=Yb+&$B<09-hD:bo%h@,cOUg& \
MS5W4?La^nEFb;cC6X\*V0qojGUe`pS39.YZe2QoE?#X.B$+'lZi"Bc5$%:T2%dj`@!XS`gB;5IPXKb;8\8<Zo \
%:B,g\6Ne/"YE+3!4cPQaZA+CmuoI0&ftq/(*PE3m'lp=7k>bof<C<YEA5mVcYD/mnZJ\_%G-VcZhKPKOY7*+@ \
`-*@=+"c$D]<>$IaVJ2?>cXf5]/TT3!$,=O7GP;Pd$CX4q]Sh@V12K*Ea@\ENa(b\EKe!dY0iX,?,])Pg0&@C6 \
U*lBl2V-f9m;@/I7.gF@U+'d&!'SjK4['ZZ87>Xhl/5Emrdo-i9MoFa&6`,8-ZF=_YPJr;<k*#/Q(Deu^!=jbkHi.R_K%a2^;f-%b$II.RL&UaNKAU8KGZUI"[H9WX"8m^r
T$]3`).g<Z*W$>3&SjEI2i-/`/@;$[43nm&63WR5QetI[4p*BUG+>HlVGkbtdj?Jnjp.?YU%"\2=c=AFj2;7 \
das2J\OWN)gIg,]]T_/pa\o3ibPO78*S;B>B8bHXT'=egd?(b2Mkq)V2^f][N/->Y[Q(G![P876f#/dAADB!YA \
mYo%I#g1^$\Vl3M%3F>;S)5RF[6T6$[YHn"PbcoLt3/kS.Qq*'o6C3Xd]r5mN2Z3sV^HlQm*hWP==qBEY"h&2/ \
WOC)j3#Hl.N<uupi]7K-q1JgI`*h(@!R(Q2PLqRGms)jYESn]E8"D:BRA(]<UlRG-8:4cH/O%f?I`N_sZN+hnb \
4I5g[3[8"qgB4(>ArIhSiLW-'n*1-]28pUUmFTUe5`=lF7eiuWBtqWpDM1\Y&?1$\>TW#W\d`<SuiPuiA'482R \
QjpGg(llJU3(Y0,:GN@/HE&ju?(1R)B%D%e2ghK[XrJ$X!/aR"T:$+?b(#^]JiaC6?>]O[BmMT*<G<JaMc+FK0 \
M[8D/cmgN<^pHAlW:p3ok+(3Z<=?k_\57qgY>,&O_6'6lUAki3JGbR16[7Q"aBL@CqOrN'7jD6LU,kfKK]q5mi \
6@5O$5Ktr2S_\+k5AZFrQ#R1#=.p"i6/cq+p\Yu0:T,&q#l:q(nh(srhg,;!=W:',Db:0:[VaA<_"Wtl8L?6&h \
G'2^C$M[rSJqHi"iiT!6_5,"eZ"^43:^*JjZ%hLYQ:F`nbg#`7`(hdO9Iok)<_:acm,EE>:A%V\>C3f:`)_M!* \
mo9=DXCFX*S/S>D!D203&ju:a!WS%[?7:6[]rq$GF8!/i$:\M`2OYi:%m[2&So@2^eYtXOJaST31T:=fCR14D8 \
+L=L!AC2?RXG'1"elF!/I-:c48b/NDD8MoOa!^07Y\`n;R2tOEfT6ULomRLX`4>s2RR.&jU!Cp50hD:qm5DL,n.6I4^(Hd>h$Qg==^bK3>G=._d$3Z%cNcH78BIK"amZ(\q
%9OM^ba@>01_0A%Xj8002?(553ah<0ka4$'A$T(^q!>)TZ[MA\1RHOO_[=KpI!dSgcN7<P/&ns&%+hPC^R3] \
%hgi5K*N5XgHDbj]%gm$G0d?q8nQ@ECTNc`:nk`lW(t*7&mSml,Hn>OM""oSD\si5HtcWR5;)U'i!,*],Hb/,W \
>UjGGJnWD:\BR_\[AZQ8rK49q0Nf.hXlm-%K>Cm.B4e[DB#oc;5t=6<>)@]&D3e*^PL3Lj[>%%m"-U3thr;6G1b.4SHFGABH6f%dblLTTnESN.t^Ra6h4gqPEaZ(_~>
>
endstream
endobj
-46 0 obj
+50 0 obj
<< /Type /Page
/Parent 1 0 R
/MediaBox [ 0 0 612 792 ]
/Resources 3 0 R
-/Contents 45 0 R
-/Annots 47 0 R
+/Contents 49 0 R
+/Annots 51 0 R
>>
endobj
-47 0 obj
+51 0 obj
[
-48 0 R
-49 0 R
+52 0 R
+53 0 R
+54 0 R
+55 0 R
]
endobj
-48 0 obj
+52 0 obj
<< /Type /Annot
/Subtype /Link
/Rect [ 149.652 327.547 249.312 315.547 ]
@@ -349,7 +373,7 @@
/H /I
>>
endobj
-49 0 obj
+53 0 obj
<< /Type /Annot
/Subtype /Link
/Rect [ 210.3 275.213 294.276 263.213 ]
@@ -360,98 +384,225 @@
/H /I
>>
endobj
-51 0 obj
+54 0 obj
+<< /Type /Annot
+/Subtype /Link
+/Rect [ 172.332 145.226 226.668 133.226 ]
+/C [ 0 0 0 ]
+/Border [ 0 0 0 ]
+/A << /URI (hod_user_guide.html#Collecting+and+Viewing+Hadoop+Logs)
+/S /URI >>
+/H /I
+>>
+endobj
+55 0 obj
+<< /Type /Annot
+/Subtype /Link
+/Rect [ 260.328 145.226 344.304 133.226 ]
+/C [ 0 0 0 ]
+/Border [ 0 0 0 ]
+/A << /URI (hod_user_guide.html)
+/S /URI >>
+/H /I
+>>
+endobj
+56 0 obj
+<< /Length 2621 /Filter [ /ASCII85Decode /FlateDecode ]
+ >>
+stream
+GatU6D3LJJ')oV[JoBhQnh;13?9[*+Cm(i(Hl)7<<0BkYTG^^;&-pF^pYSI`5V5I<H0k*J@+DCIVn8R=`-crY \
q!RD*rsu8T(B;*uL`G0SI,>`)0kiio#T!G/fW(nCr:%IVO5D(!HmG#9`:'9m%o+M8Lqg)=AVk@&%^qr]eo1#+L \
f;UBIp**,l$A]fF02S`Y!0nkA)5'49B&'`;tgo2SCmX@d8\s!iR?g'>?u],TbYr!0(_<:bc&*$Y*We2QCm:j]T \
tR=;n-OWo,lQ4^F)cdcc1Ud_CTBq2$`-B81GP0eCJdWhPIRjG>$jLX,Z="SEJ8&\5?<FbtBIM?<G&/VMZ=!c/> \
2S1bK9iEX""%SC(]iZ-hLuM<,FbkBX'2,)Zi(,71K@QkeAmP/_FJh-4oI%*%qgX`@\$#t&E,@(YF%ddYGf-s1J \
\a1]rM>72\hTgdp:%Bf$Mr_+nW`fO$poT1nA;iG'mQH.<35lY#$:hDigP80fSo)-h(-_a4XENH?TaX`GUV_.tb \
o3_;.TFR__R0Y_'TXo_^ZGmT(,,cY)gq)&TU?,UCn_u\g"Xp;B=[g]P!R6U[mJFJDWGj.oV?hF,:kj+(^b0<OR \
CrU=kuX<Y)fVRJeV2P]5^K;XZuTkR!ULI9W=_KAEbI-WAJIoXaE9F=(tI/0p][hf+fm3O$lHho0IXSbUC'WB)- \
ictN(;2Z*mha2L7.h*!EE82p8G0m'2'/obipRF'cth:/TqlBn<Z`A^sZ0#0+\4gEAb+d<`?;od1sQQ[qu<>TU& \
HLR=Ks"-_o-=YgK2og?u=]=XF=2ICu[\Qug1.MZ@&H?*mh@W&2ltja6=0_gri9l%T%q'/(+:$0\/S7W(508-8, \
-qBBX](Tu&LWp*@en910,]#`+^52!!mS1JQ,X+3kX?t?#DcYFA6*[QBZk:911T]#I<P_-kq,E+g`9SSL=C<R;,X+k/RVmN^Z?fq6IAk?49rrBK<R\XIQ?G2b*Ahq7%W+?X
4C_AHYc!d;%7lBpa!s4LXg;+c*eX6nZ(.3ffh%jn*Dd?E179'5RDPWbkehP?2P5pC>?u!T][l=d1Q^abekk\ \
,08SAdh=$m](!W*\J>e27@h"Z^@@%Yd,KJ9fb@,h7<%UL=KLB1*@3'/<g-8=ci2XV$(d\,`Jc<n!,-(-fWCQ@n \
`,9!9L,8dMY"\7qt:Pjd&A@o]Wf6,'__2W8!VU&rX$V1+,@KmE!rjM,g`q<ciY'32oEr9f$EdRcIouLi5h'!mM \
)V,i93^/EU`L0+$[mI697mS5s03LNb#,00_'5#>U=p&u"As-:bD)VfnMtc5t_&Wq2NC0-JZn!;%5B3+1&h?/(P \
p[Kth?5XV/7Q$AFc:pci0'?F)lEiuRO6U8`07@h$lV7f!H303R:I)lg$LB]G*Zr_dKXs7N''h2n%Qf.18ja1Uo \
?NPGQU#Z=CP_e%u\I=,$bqEDX6Yr6_H5K>e^85a%0OtgB$T%3KspDZO<&k>//Z`=bF>:o\^4[oV3XP.-'Blph\ \
.m;mEJ+ZsM\bqCAUc(SYGMk"*eF!"oBsW%!"b+?@#lRnR,0nZ`%`:$;4V@7Y2s<,"7^W(NaEWE@j+lGh;CQ9ZQ \
WR.WeHR`UbY^2ogok@"a^&g&R>\6NgrVk<4lPL78B!j9O!N/;$'.aU"l?@[r+*TG0[r<'thU[LghFo&a0QR&?p \
b1:NAF\5-TP4*XtX5budN`nhhR9`mD^`jJ.be@VMOkI^Kf?hHhBX#eKgBFB=_tmAFpKU]mLNK-@pS"lfU\D@Q1 \
Yj)p4h/BjZYRW%g*??;>2P+\3euSXCgW'Hi$98jVIq<5c6oWUH@PK50?,C8T"sFa&/4:O7oAjHT#AR?,u*$KdH \
P([YGL?]_(bNljd+N]!c$_^[=GFOd_528WH(c=KH&CRVb.fQ@%J>qKa/F%2cn(?_$1Q5\j9lehFSM,H^,Rp#]p91lds2iKcq<$Op,m]KuuFih<Us!Md8SoE/.G6e<)c4o@!
khgkF'8(Z"D[/AGJ@P)Y;C=\-Hn^WSG$35!KHROAG@ED@#>7m7m;QJ\03[%l/Zd<L0k7:.j:A7d9B'q<@Vkt \
n^@g0ZMD=eMUf@@N/*/F<pIf>_eU3!dju1J#\$gEbXI":Vo.S/'9a]Xr)/R'\l9Er'E'YQ)gF+?,fZ&(l"X]aS \
Z2#irejL8#de.r%!3k$:EZ.Ko:.kN;$GSA28_eiUjaeK^R8Y5/PcdZJ?P>.G[.e,A<`o7#%N[KSJAd.C$B`08q \
,oWojMN;X0Id;M?0nGMGAd[XbA=uUO$5S_BaTC6C(+Be.QG<4E@q[O0#W.24?l*).<U!>O$?-oZ3NB:G5$ZQE9 \
A7NLKZid#t0P+"(K_$7*/2JA_\AGao4"W09_cTq:XZ`^4/?\.b7KlR%,K]Ol@aZ7LmRi=Y@_4G74k8skTl=ML8 \
>ap8iWrl!*ZpLZg).QJ_S0OW*jGduZX"8>^B5os)NbNNHM=ts/jIaAqPI*hjb'meq<<co'b<Iuh5@"i't(6o-3 \
> b$dYnq^<rImNo$tEqMD<D!+L=^DH*u&)a^5gPdY>;52$Wl-B1p_S1fJs%jr&Z+*\jDDj9P0pUi^4S2nG3MW26Y_9nArS5f$/GIIeo.YEN%V29GM$lU6Rn[r!eN1DZT~>
>
+endstream
+endobj
+57 0 obj
+<< /Type /Page
+/Parent 1 0 R
+/MediaBox [ 0 0 612 792 ]
+/Resources 3 0 R
+/Contents 56 0 R
+/Annots 58 0 R
+>>
+endobj
+58 0 obj
+[
+59 0 R
+]
+endobj
+59 0 obj
+<< /Type /Annot
+/Subtype /Link
+/Rect [ 347.964 535.428 442.284 523.428 ]
+/C [ 0 0 0 ]
+/Border [ 0 0 0 ]
+/A << /URI (hod_config_guide.html#3.7+hodring+options)
+/S /URI >>
+/H /I
+>>
+endobj
+60 0 obj
+<< /Length 1598 /Filter [ /ASCII85Decode /FlateDecode ]
+ >>
+stream
+GauHL>B?Pt'Roe[csq5G?jVL;IG8V-c$#tjD;maeI39YKc![2Lf'A\$m1foR!K.f'1JK2;jIGO[NkQb.EPM<p \
^\MM0cp@SXgA'==BXc`Q:[0d_L+O/D'b%cnIc#PN^Vq3:mYFY*M"ifMe?kaF3&WoNIY?.7!YIVLFKCc$r'hUb` \
[#7#l\t/K/Sm:2MreM(SbQGHIB"'k>Dp[G^".EafsT5^KW[_`#52u3CD1>lBs0DN9Qt@Ke8eX-j1J[Rm3=omC% \
6Va_/7b*r"<P([d+pfZn8XLTg/"/lsN5_XEYX_4A1[Fi:l]%@C_uV^'i)-k\mj.ASQaQEk9]7M5?1UMj+uQeT5 \
kDSI(]OCBZkN6CZ8bjdViq:<7U&VE:jmKM@e0F@Io=UJA'RTP5r8DA:f,_CU]BTe>%uk1l!p1k(,nHe.Yn3YXe \
%.QYoMB@Vc>4#IT9U#o45%BNEF&W#<0X3c6;<B0U8R+9^ipO7+@iq!%kX1nAhq6Sp'p4gj@X+I5SLgn,KW9(.W \
Mee;2pWqRli7RA:ZjULi?!L=-@F6Bri.h3P/?g-ba>@oQ>queRbI>l@igO9O(@W9kE]e9mg.&*C^4pEAij"H7I \
lp(i\8)Y_Q2NWaZ#J0J,>='[Op39TMCkYl7mkN[dCDj3s"R`gS^sIu/8?$D)%`@b0jpZKB(qCKGc=_VSg88_6p \
(l-VWB'n&9^j&eM3G3S5,j<)0_Hd@Oabs/X`#6P\q?S4KnDB%TOc&=>^,S/Rf$e!4+jP4ML$=:jYGr`),`s@h; \
(6cDi%c9Q/3'!slXGq=^4FFU6u?>aTh3$P-Wm&Vq07?Ga9m!,.ZF(VLFI&!0<f5XI.GN@sn;&JDnRq8gGu#R)% \
SOtsXTC$M\SLfbYH$-7kAF5<2EA'hdcQpY007qi/YQT5G!bZSJVn+Od^.m)9V3lh2??*^t8`o67-3NB>F.T/<Kh+4M[+.ecuO<j32#m+F`G'[_7oM7$kWh&])qo[+(iU7L
tZDT>dqP+EEWh4l"RM:'u\Iq1\aUY?]KA#L/T$P[T<B#bL7+7+rpLsRHAkBj+4d"CRLke5(#/D7"&kdk/O8; \
&-1$u!<3X$=e*K9B-)PI.V7\';IQ?T@D_PAe7<Xd3H3sDdUFNY/#5<cX=6#b(ZoG3u"W,58S!O3cGSs-UD6I1h \
(Xl1tagqITE:El/uNL-_X^@ogh?(;XE_7g)N4CR1*ZGYb0)EDgYaN5kIU9/rCSk*1Rb:JJen030-<@\kF#VJBC \
0&,bJGZ0[D+Nh"F.!`eUD^Q)a=_3<B/TT+b8S:UK"P/#4`qO=_Xgtanc[,'D!;_Ig``p-_OH-Uf*+>%e?378^= \
fiHJ5N]S:K$4%b\@\0gMR0#2kEB8kr@8o=ATI.!h])B-B\QU[DPoK5Og\diW%lad#t.%0[Xub]+Wh);-G<$l-+ \
6Ar?`*EOK]0M>n*V`KpE^h3+5!P=DKs2caB*2R!QOB\Z/P6PCL0]u]SjCWkB>.#$P%"6b6=RMD`%Yr]@6lUAg2 \
E'^N5K,734jcqC0T@"[=!Cm/G1KLg!pu]5WK,pAC!W+^DcmEHN<sai@(3>MFVb*:NtMCg5eIpBr;Tn[1M=oYCD5$rEd^~>
+endstream
+endobj
+61 0 obj
+<< /Type /Page
+/Parent 1 0 R
+/MediaBox [ 0 0 612 792 ]
+/Resources 3 0 R
+/Contents 60 0 R
+/Annots 62 0 R
+>>
+endobj
+62 0 obj
+[
+63 0 R
+]
+endobj
+63 0 obj
+<< /Type /Annot
+/Subtype /Link
+/Rect [ 319.5 637.5 403.99 627.5 ]
+/C [ 0 0 0 ]
+/Border [ 0 0 0 ]
+/A << /URI (hod_config_guide.html#3.7+hodring+options)
+/S /URI >>
+/H /I
+>>
+endobj
+65 0 obj
<<
/Title (\376\377\0\61\0\40\0\117\0\166\0\145\0\162\0\166\0\151\0\145\0\167)
- /Parent 50 0 R
- /Next 52 0 R
+ /Parent 64 0 R
+ /Next 66 0 R
/A 9 0 R
>> endobj
-52 0 obj
+66 0 obj
<<
/Title (\376\377\0\62\0\40\0\120\0\162\0\145\0\55\0\162\0\145\0\161\0\165\0\151\0\163\0\151\0\164\0\145\0\163)
- /Parent 50 0 R
- /Prev 51 0 R
- /Next 53 0 R
+ /Parent 64 0 R
+ /Prev 65 0 R
+ /Next 67 0 R
/A 11 0 R
>> endobj
-53 0 obj
+67 0 obj
<<
/Title (\376\377\0\63\0\40\0\122\0\145\0\163\0\157\0\165\0\162\0\143\0\145\0\40\0\115\0\141\0\156\0\141\0\147\0\145\0\162)
- /Parent 50 0 R
- /Prev 52 0 R
- /Next 54 0 R
+ /Parent 64 0 R
+ /Prev 66 0 R
+ /Next 68 0 R
/A 13 0 R
>> endobj
-54 0 obj
+68 0 obj
<<
/Title (\376\377\0\64\0\40\0\111\0\156\0\163\0\164\0\141\0\154\0\154\0\151\0\156\0\147\0\40\0\110\0\117\0\104)
- /Parent 50 0 R
- /Prev 53 0 R
- /Next 55 0 R
+ /Parent 64 0 R
+ /Prev 67 0 R
+ /Next 69 0 R
/A 15 0 R
>> endobj
-55 0 obj
+69 0 obj
<<
/Title (\376\377\0\65\0\40\0\103\0\157\0\156\0\146\0\151\0\147\0\165\0\162\0\151\0\156\0\147\0\40\0\110\0\117\0\104)
- /Parent 50 0 R
- /First 56 0 R
- /Last 57 0 R
- /Prev 54 0 R
- /Next 58 0 R
+ /Parent 64 0 R
+ /First 70 0 R
+ /Last 71 0 R
+ /Prev 68 0 R
+ /Next 72 0 R
/Count -2
/A 17 0 R
>> endobj
-56 0 obj
+70 0 obj
<<
/Title (\376\377\0\65\0\56\0\61\0\40\0\115\0\151\0\156\0\151\0\155\0\141\0\154\0\40\ \
0\103\0\157\0\156\0\146\0\151\0\147\0\165\0\162\0\141\0\164\0\151\0\157\0\156\0\40\0\164\0\157\0\40\0\147\0\145\0\164\0\40\0\163\0\164\0\141\0\162\0\164\0\145\0\144)
- /Parent 55 0 R
- /Next 57 0 R
+ /Parent 69 0 R
+ /Next 71 0 R
/A 19 0 R
>> endobj
-57 0 obj
+71 0 obj
<<
/Title (\376\377\0\65\0\56\0\62\0\40\0\101\0\144\0\166\0\141\0\156\0\143\0\145\0\144 \
\0\40\0\103\0\157\0\156\0\146\0\151\0\147\0\165\0\162\0\141\0\164\0\151\0\157\0\156)
- /Parent 55 0 R
- /Prev 56 0 R
+ /Parent 69 0 R
+ /Prev 70 0 R
/A 21 0 R
>> endobj
-58 0 obj
+72 0 obj
<<
/Title (\376\377\0\66\0\40\0\122\0\165\0\156\0\156\0\151\0\156\0\147\0\40\0\110\0\117\0\104)
- /Parent 50 0 R
- /Prev 55 0 R
+ /Parent 64 0 R
+ /Prev 69 0 R
+ /Next 73 0 R
/A 23 0 R
>> endobj
-59 0 obj
+73 0 obj
+<<
+ /Title (\376\377\0\67\0\40\0\123\0\165\0\160\0\160\0\157\0\162\0\164\0\151\0\156\0\1 \
47\0\40\0\124\0\157\0\157\0\154\0\163\0\40\0\141\0\156\0\144\0\40\0\125\0\164\0\151\0\154\0\151\0\164\0\151\0\145\0\163)
+ /Parent 64 0 R
+ /First 74 0 R
+ /Last 74 0 R
+ /Prev 72 0 R
+ /Count -3
+ /A 25 0 R
+>> endobj
+74 0 obj
+<<
+ /Title (\376\377\0\67\0\56\0\61\0\40\0\154\0\157\0\147\0\143\0\157\0\156\0\144\0\145 \
\0\156\0\163\0\145\0\56\0\160\0\171\0\40\0\55\0\40\0\124\0\157\0\157\0\154\0\40\0\146\ \
0\157\0\162\0\40\0\162\0\145\0\155\0\157\0\166\0\151\0\156\0\147\0\40\0\154\0\157\0\14 \
7\0\40\0\146\0\151\0\154\0\145\0\163\0\40\0\165\0\160\0\154\0\157\0\141\0\144\0\145\0\144\0\40\0\164\0\157\0\40\0\104\0\106\0\123)
+ /Parent 73 0 R
+ /First 76 0 R
+ /Last 78 0 R
+ /Count -2
+ /A 27 0 R
+>> endobj
+76 0 obj
+<<
+ /Title (\376\377\0\67\0\56\0\61\0\56\0\61\0\40\0\122\0\165\0\156\0\156\0\151\0\156\0 \
\147\0\40\0\154\0\157\0\147\0\143\0\157\0\156\0\144\0\145\0\156\0\163\0\145\0\56\0\160\0\171)
+ /Parent 74 0 R
+ /Next 78 0 R
+ /A 75 0 R
+>> endobj
+78 0 obj
+<<
+ /Title (\376\377\0\67\0\56\0\61\0\56\0\62\0\40\0\103\0\157\0\155\0\155\0\141\0\156\0 \
\144\0\40\0\114\0\151\0\156\0\145\0\40\0\117\0\160\0\164\0\151\0\157\0\156\0\163\0\40\ \
0\146\0\157\0\162\0\40\0\154\0\157\0\147\0\143\0\157\0\156\0\144\0\145\0\156\0\163\0\145\0\56\0\160\0\171)
+ /Parent 74 0 R
+ /Prev 76 0 R
+ /A 77 0 R
+>> endobj
+79 0 obj
<< /Type /Font
/Subtype /Type1
/Name /F3
/BaseFont /Helvetica-Bold
/Encoding /WinAnsiEncoding >>
endobj
-60 0 obj
+80 0 obj
<< /Type /Font
/Subtype /Type1
/Name /F5
/BaseFont /Times-Roman
/Encoding /WinAnsiEncoding >>
endobj
-61 0 obj
+81 0 obj
+<< /Type /Font
+/Subtype /Type1
+/Name /F6
+/BaseFont /Times-Italic
+/Encoding /WinAnsiEncoding >>
+endobj
+82 0 obj
<< /Type /Font
/Subtype /Type1
/Name /F1
/BaseFont /Helvetica
/Encoding /WinAnsiEncoding >>
endobj
-62 0 obj
+83 0 obj
<< /Type /Font
/Subtype /Type1
/Name /F2
/BaseFont /Helvetica-Oblique
/Encoding /WinAnsiEncoding >>
endobj
-63 0 obj
+84 0 obj
<< /Type /Font
/Subtype /Type1
/Name /F7
@@ -460,146 +611,191 @@
endobj
1 0 obj
<< /Type /Pages
-/Count 5
-/Kids [6 0 R 25 0 R 29 0 R 41 0 R 46 0 R ] >>
+/Count 7
+/Kids [6 0 R 29 0 R 33 0 R 45 0 R 50 0 R 57 0 R 61 0 R ] >>
endobj
2 0 obj
<< /Type /Catalog
/Pages 1 0 R
- /Outlines 50 0 R
+ /Outlines 64 0 R
/PageMode /UseOutlines
>>
endobj
3 0 obj
<<
-/Font << /F3 59 0 R /F5 60 0 R /F1 61 0 R /F2 62 0 R /F7 63 0 R >>
+/Font << /F3 79 0 R /F5 80 0 R /F1 82 0 R /F6 81 0 R /F2 83 0 R /F7 84 0 R >>
/ProcSet [ /PDF /ImageC /Text ] >>
endobj
9 0 obj
<<
/S /GoTo
-/D [25 0 R /XYZ 85.0 659.0 null]
+/D [29 0 R /XYZ 85.0 659.0 null]
>>
endobj
11 0 obj
<<
/S /GoTo
-/D [29 0 R /XYZ 85.0 552.6 null]
+/D [33 0 R /XYZ 85.0 552.6 null]
>>
endobj
13 0 obj
<<
/S /GoTo
-/D [29 0 R /XYZ 85.0 258.266 null]
+/D [33 0 R /XYZ 85.0 258.266 null]
>>
endobj
15 0 obj
<<
/S /GoTo
-/D [41 0 R /XYZ 85.0 447.0 null]
+/D [45 0 R /XYZ 85.0 447.0 null]
>>
endobj
17 0 obj
<<
/S /GoTo
-/D [41 0 R /XYZ 85.0 256.666 null]
+/D [45 0 R /XYZ 85.0 256.666 null]
>>
endobj
19 0 obj
<<
/S /GoTo
-/D [41 0 R /XYZ 85.0 204.332 null]
+/D [45 0 R /XYZ 85.0 204.332 null]
>>
endobj
21 0 obj
<<
/S /GoTo
-/D [46 0 R /XYZ 85.0 369.0 null]
+/D [50 0 R /XYZ 85.0 369.0 null]
>>
endobj
23 0 obj
<<
/S /GoTo
-/D [46 0 R /XYZ 85.0 304.547 null]
+/D [50 0 R /XYZ 85.0 304.547 null]
>>
endobj
-50 0 obj
+25 0 obj
<<
- /First 51 0 R
- /Last 58 0 R
+/S /GoTo
+/D [50 0 R /XYZ 85.0 239.013 null]
+>>
+endobj
+27 0 obj
+<<
+/S /GoTo
+/D [50 0 R /XYZ 85.0 173.479 null]
+>>
+endobj
+64 0 obj
+<<
+ /First 65 0 R
+ /Last 73 0 R
>> endobj
+75 0 obj
+<<
+/S /GoTo
+/D [57 0 R /XYZ 85.0 615.4 null]
+>>
+endobj
+77 0 obj
+<<
+/S /GoTo
+/D [57 0 R /XYZ 85.0 472.828 null]
+>>
+endobj
xref
-0 64
+0 85
0000000000 65535 f
-0000017091 00000 n
-0000017177 00000 n
-0000017269 00000 n
+0000024926 00000 n
+0000025026 00000 n
+0000025118 00000 n
0000000015 00000 n
0000000071 00000 n
-0000000830 00000 n
-0000000950 00000 n
-0000001024 00000 n
-0000017392 00000 n
-0000001159 00000 n
-0000017455 00000 n
-0000001296 00000 n
-0000017519 00000 n
-0000001431 00000 n
-0000017585 00000 n
-0000001568 00000 n
-0000017649 00000 n
-0000001704 00000 n
-0000017715 00000 n
-0000001841 00000 n
-0000017781 00000 n
-0000001977 00000 n
-0000017845 00000 n
-0000002114 00000 n
-0000004487 00000 n
-0000004610 00000 n
-0000004637 00000 n
-0000004865 00000 n
-0000007408 00000 n
-0000007531 00000 n
-0000007614 00000 n
-0000007787 00000 n
-0000007969 00000 n
-0000008151 00000 n
-0000008336 00000 n
-0000008517 00000 n
-0000008718 00000 n
-0000008935 00000 n
-0000009156 00000 n
-0000009375 00000 n
-0000011826 00000 n
-0000011949 00000 n
-0000011983 00000 n
-0000012211 00000 n
-0000012442 00000 n
-0000014375 00000 n
-0000014498 00000 n
-0000014532 00000 n
-0000014707 00000 n
-0000017911 00000 n
-0000014878 00000 n
-0000015017 00000 n
-0000015206 00000 n
-0000015407 00000 n
-0000015596 00000 n
-0000015831 00000 n
-0000016145 00000 n
-0000016378 00000 n
-0000016535 00000 n
-0000016648 00000 n
-0000016758 00000 n
-0000016866 00000 n
-0000016982 00000 n
+0000000965 00000 n
+0000001085 00000 n
+0000001173 00000 n
+0000025252 00000 n
+0000001308 00000 n
+0000025315 00000 n
+0000001445 00000 n
+0000025379 00000 n
+0000001580 00000 n
+0000025445 00000 n
+0000001717 00000 n
+0000025509 00000 n
+0000001853 00000 n
+0000025575 00000 n
+0000001990 00000 n
+0000025641 00000 n
+0000002126 00000 n
+0000025705 00000 n
+0000002263 00000 n
+0000025771 00000 n
+0000002399 00000 n
+0000025837 00000 n
+0000002536 00000 n
+0000004909 00000 n
+0000005032 00000 n
+0000005059 00000 n
+0000005287 00000 n
+0000007830 00000 n
+0000007953 00000 n
+0000008036 00000 n
+0000008209 00000 n
+0000008391 00000 n
+0000008573 00000 n
+0000008758 00000 n
+0000008939 00000 n
+0000009140 00000 n
+0000009357 00000 n
+0000009578 00000 n
+0000009797 00000 n
+0000012248 00000 n
+0000012371 00000 n
+0000012405 00000 n
+0000012633 00000 n
+0000012864 00000 n
+0000015233 00000 n
+0000015356 00000 n
+0000015404 00000 n
+0000015579 00000 n
+0000015750 00000 n
+0000015958 00000 n
+0000016131 00000 n
+0000018845 00000 n
+0000018968 00000 n
+0000018995 00000 n
+0000019190 00000 n
+0000020881 00000 n
+0000021004 00000 n
+0000021031 00000 n
+0000025903 00000 n
+0000021219 00000 n
+0000021358 00000 n
+0000021547 00000 n
+0000021748 00000 n
+0000021937 00000 n
+0000022172 00000 n
+0000022486 00000 n
+0000022719 00000 n
+0000022890 00000 n
+0000023199 00000 n
+0000025954 00000 n
+0000023676 00000 n
+0000026018 00000 n
+0000023918 00000 n
+0000024259 00000 n
+0000024372 00000 n
+0000024482 00000 n
+0000024593 00000 n
+0000024701 00000 n
+0000024817 00000 n
trailer
<<
-/Size 64
+/Size 85
/Root 2 0 R
/Info 4 0 R
>>
startxref
-17962
+26084
%%EOF
Modified: hadoop/core/trunk/src/contrib/hod/CHANGES.txt
URL: http://svn.apache.org/viewvc/hadoop/core/trunk/src/contrib/hod/CHANGES.txt?rev=652057&r1=652056&r2=652057&view=diff
==============================================================================
--- hadoop/core/trunk/src/contrib/hod/CHANGES.txt (original)
+++ hadoop/core/trunk/src/contrib/hod/CHANGES.txt Sun Apr 27 22:15:06 2008
@@ -64,6 +64,9 @@
permissions to update the clusters state file.
(Vinod Kumar Vavilapalli via yhemanth)
+ HADOOP-3304. Fixes the way the logcondense.py utility searches for log
+ files that need to be deleted. (yhemanth)
+
Release 0.16.2 - 2008-04-02
BUG FIXES
Modified: hadoop/core/trunk/src/contrib/hod/support/logcondense.py
URL: http://svn.apache.org/viewvc/hadoop/core/trunk/src/contrib/hod/support/logcondense.py?rev=652057&r1=652056&r2=652057&view=diff
==============================================================================
--- hadoop/core/trunk/src/contrib/hod/support/logcondense.py (original)
+++ hadoop/core/trunk/src/contrib/hod/support/logcondense.py Sun Apr 27 22:15:06 2008
@@ -1,3 +1,5 @@
+#!/bin/sh
+
#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
@@ -13,7 +15,6 @@
#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.
-#!/bin/sh
""":"
work_dir=$(dirname $0)
base_name=$(basename $0)
@@ -84,8 +85,8 @@
'action' : "store",
'dest' : "log",
'metavar' : " ",
- 'default' : "/user/hod/logs",
- 'help' : "directory where the logs are stored"},
+ 'default' : "/user",
+ 'help' : "directory prefix under which logs are stored per user"},
{'short' : "-n",
'long' : "--dynamicdfs",
@@ -118,57 +119,64 @@
deletedNamePrefixes.append('1-tasktracker-*')
deletedNamePrefixes.append('0-datanode-*')
- cmd = getDfsCommand(options, "-lsr " + options.log)
+ filepath = '%s/\*/hod-logs/' % (options.log)
+ cmd = getDfsCommand(options, "-lsr " + filepath)
(stdin, stdout, stderr) = popen3(cmd)
lastjobid = 'none'
toPurge = { }
for line in stdout:
- m = re.match("^(.*?)\s.*$", line)
- filename = m.group(1)
- # file name format: \
<prefix>/<user>/hod-logs/<jobid>/[0-1]-[jobtracker|tasktracker|datanode|namenode|]-hostname-YYYYMMDDtime-random.tar.gz
- # first strip prefix:
- if filename.startswith(options.log):
- filename = filename.lstrip(options.log)
- if not filename.startswith('/'):
- filename = '/' + filename
- else:
- continue
-
- # Now get other details from filename.
- k = re.match("/(.*)/.*/(.*)/.*-.*-([0-9][0-9][0-9][0-9])([0-9][0-9])([0-9][0-9]).*$", \
filename)
- if k:
- username = k.group(1)
- jobid = k.group(2)
- datetimefile = datetime(int(k.group(3)), int(k.group(4)), int(k.group(5)))
- datetimenow = datetime.utcnow()
- diff = datetimenow - datetimefile
- filedate = k.group(3) + k.group(4) + k.group(5)
- newdate = datetimenow.strftime("%Y%m%d")
- print "%s %s %s %d" % (filename, filedate, newdate, diff.days)
-
- # if the cluster is used to bring up dynamic dfs, we must also leave NameNode \
logs.
- foundFilteredName = False
- for name in filteredNames:
- if filename.find(name) >= 0:
- foundFilteredName = True
- break
-
- if foundFilteredName:
+ try:
+ m = re.match("^(.*?)\s.*$", line)
+ filename = m.group(1)
+ # file name format: \
<prefix>/<user>/hod-logs/<jobid>/[0-1]-[jobtracker|tasktracker|datanode|namenode|]-hostname-YYYYMMDDtime-random.tar.gz
+ # first strip prefix:
+ if filename.startswith(options.log):
+ filename = filename.lstrip(options.log)
+ if not filename.startswith('/'):
+ filename = '/' + filename
+ else:
continue
-
- if (diff.days > options.days):
- desttodel = filename
- if not toPurge.has_key(jobid):
- toPurge[jobid] = options.log.rstrip("/") + "/" + username + "/hod-logs/" + \
jobid +
+ # Now get other details from filename.
+ k = re.match("/(.*)/hod-logs/(.*)/.*-.*-([0-9][0-9][0-9][0-9])([0-9][0-9])([0-9][0-9]).*$", \
filename) + if k:
+ username = k.group(1)
+ jobid = k.group(2)
+ datetimefile = datetime(int(k.group(3)), int(k.group(4)), int(k.group(5)))
+ datetimenow = datetime.utcnow()
+ diff = datetimenow - datetimefile
+ filedate = k.group(3) + k.group(4) + k.group(5)
+ newdate = datetimenow.strftime("%Y%m%d")
+ print "%s %s %s %d" % (filename, filedate, newdate, diff.days)
+
+ # if the cluster is used to bring up dynamic dfs, we must also leave \
NameNode logs. + foundFilteredName = False
+ for name in filteredNames:
+ if filename.find(name) >= 0:
+ foundFilteredName = True
+ break
+
+ if foundFilteredName:
+ continue
+
+ if (diff.days > options.days):
+ desttodel = filename
+ if not toPurge.has_key(jobid):
+ toPurge[jobid] = options.log.rstrip("/") + "/" + username + "/hod-logs/" \
+ jobid + except Exception, e:
+ print >> sys.stderr, e
for job in toPurge.keys():
- for prefix in deletedNamePrefixes:
- cmd = getDfsCommand(options, "-rm " + toPurge[job] + '/' + prefix)
- print cmd
- ret = 0
- ret = os.system(cmd)
- if (ret != 0):
- print >> sys.stderr, "Command failed to delete file " + cmd
+ try:
+ for prefix in deletedNamePrefixes:
+ cmd = getDfsCommand(options, "-rm " + toPurge[job] + '/' + prefix)
+ print cmd
+ ret = 0
+ ret = os.system(cmd)
+ if (ret != 0):
+ print >> sys.stderr, "Command failed to delete file " + cmd
+ except Exception, e:
+ print >> sys.stderr, e
def process_args():
Modified: hadoop/core/trunk/src/docs/src/documentation/content/xdocs/hod_admin_guide.xml
URL: http://svn.apache.org/viewvc/hadoop/core/trunk/src/docs/src/documentation/content/xdocs/hod_admin_guide.xml?rev=652057&r1=652056&r2=652057&view=diff
==============================================================================
--- hadoop/core/trunk/src/docs/src/documentation/content/xdocs/hod_admin_guide.xml \
(original)
+++ hadoop/core/trunk/src/docs/src/documentation/content/xdocs/hod_admin_guide.xml \
Sun Apr 27 22:15:06 2008 @@ -1,238 +1,318 @@
-<?xml version="1.0"?>
-
-<!DOCTYPE document PUBLIC "-//APACHE//DTD Documentation V2.0//EN"
- "http://forrest.apache.org/dtd/document-v20.dtd">
-
-
-<document>
-
- <header>
- <title>
- Hadoop On Demand
- </title>
- </header>
-
- <body>
-<section>
-<title>Overview</title>
-
-<p>The Hadoop On Demand (HOD) project is a system for provisioning and
-managing independent Hadoop MapReduce and HDFS instances on a shared cluster
-of nodes. HOD is a tool that makes it easy for administrators and users to
-quickly setup and use Hadoop. It is also a very useful tool for Hadoop developers
-and testers who need to share a physical cluster for testing their own Hadoop
-versions.
-</p>
-
-<p>HOD relies on a resource manager (RM) for allocation of nodes that it can use for
-running Hadoop instances. At present it runs with the <a \
href="ext:hod/torque">Torque
-resource manager</a>.
-</p>
-
-<p>
-The basic system architecture of HOD includes components from:</p>
-<ul>
- <li>A Resource manager (possibly together with a scheduler),</li>
- <li>HOD components, and </li>
- <li>Hadoop Map/Reduce and HDFS daemons.</li>
-</ul>
-
-<p>
-HOD provisions and maintains Hadoop Map/Reduce and, optionally, HDFS instances
-through interaction with the above components on a given cluster of nodes. A cluster \
of
-nodes can be thought of as comprising of two sets of nodes:</p>
-<ul>
- <li>Submit nodes: Users use the HOD client on these nodes to allocate clusters, \
and then
-use the Hadoop client to submit Hadoop jobs. </li>
- <li>Compute nodes: Using the resource manager, HOD components are run on these \
nodes to
-provision the Hadoop daemons. After that Hadoop jobs run on them.</li>
-</ul>
-
-<p>
-Here is a brief description of the sequence of operations in allocating a cluster \
and
-running jobs on them.
-</p>
-
-<ul>
- <li>The user uses the HOD client on the Submit node to allocate a required number \
of
-cluster nodes, and provision Hadoop on them.</li>
- <li>The HOD client uses a Resource Manager interface, (qsub, in Torque), to submit \
a HOD
-process, called the RingMaster, as a Resource Manager job, requesting the user \
desired number
-of nodes. This job is submitted to the central server of the Resource Manager \
(pbs_server, in Torque).</li>
- <li>On the compute nodes, the resource manager slave daemons, (pbs_moms in \
Torque), accept
-and run jobs that they are given by the central server (pbs_server in Torque). The \
RingMaster
-process is started on one of the compute nodes (mother superior, in Torque).</li>
- <li>The Ringmaster then uses another Resource Manager interface, (pbsdsh, in \
Torque), to run
-the second HOD component, HodRing, as distributed tasks on each of the compute
-nodes allocated.</li>
- <li>The Hodrings, after initializing, communicate with the Ringmaster to get \
Hadoop commands,
-and run them accordingly. Once the Hadoop commands are started, they register with \
the RingMaster,
-giving information about the daemons.</li>
- <li>All the configuration files needed for Hadoop instances are generated by HOD \
itself,
-some obtained from options given by user in its own configuration file.</li>
- <li>The HOD client keeps communicating with the RingMaster to find out the \
location of the
-JobTracker and HDFS daemons.</li>
-</ul>
-
-<p>The rest of the document deals with the steps needed to setup HOD on a physical \
cluster of nodes.</p>
-
-</section>
-
-<section>
-<title>Pre-requisites</title>
-
-<p>Operating System: HOD is currently tested on RHEL4.<br/>
-Nodes : HOD requires a minimum of 3 nodes configured through a resource \
manager.<br/></p>
-
-<p> Software </p>
-<p>The following components are to be installed on *ALL* the nodes before using \
HOD:</p>
-<ul>
- <li>Torque: Resource manager</li>
- <li><a href="ext:hod/python">Python</a> : HOD requires version 2.5.1 of \
Python.</li>
-</ul>
-
-<p>The following components can be optionally installed for getting better
-functionality from HOD:</p>
-<ul>
- <li><a href="ext:hod/twisted-python">Twisted Python</a>: This can be
- used for improving the scalability of HOD. If this module is detected to be
- installed, HOD uses it, else it falls back to default modules.</li>
- <li><a href="ext:site">Hadoop</a>: HOD can automatically
- distribute Hadoop to all nodes in the cluster. However, it can also use a
- pre-installed version of Hadoop, if it is available on all nodes in the cluster.
- HOD currently supports Hadoop 0.15 and above.</li>
-</ul>
-
-<p>NOTE: HOD configuration requires the location of installs of these
-components to be the same on all nodes in the cluster. It will also
-make the configuration simpler to have the same location on the submit
-nodes.
-</p>
-</section>
-
-<section>
-<title>Resource Manager</title>
-<p> Currently HOD works with the Torque resource manager, which it uses for its \
node
- allocation and job submission. Torque is an open source resource manager from
- <a href="ext:hod/cluster-resources">Cluster Resources</a>, a community effort
- based on the PBS project. It provides control over batch jobs and distributed \
compute nodes. Torque is
- freely available for download from <a href="ext:hod/torque-download">here</a>.
- </p>
-
-<p> All documentation related to torque can be seen under
- the section TORQUE Resource Manager <a
- href="ext:hod/torque-docs">here</a>. You can
- get wiki documentation from <a
- href="ext:hod/torque-wiki">here</a>.
- Users may wish to subscribe to TORQUEâ € ™s mailing list or view the archive for \
questions,
- comments <a
- href="ext:hod/torque-mailing-list">here</a>.
-</p>
-
-<p>For using HOD with Torque:</p>
-<ul>
- <li>Install Torque components: pbs_server on one node(head node), pbs_mom on all
- compute nodes, and PBS client tools on all compute nodes and submit
- nodes. Perform atleast a basic configuration so that the Torque system is up and
- running i.e pbs_server knows which machines to talk to. Look <a
- href="ext:hod/torque-basic-config">here</a>
- for basic configuration.
-
- For advanced configuration, see <a
- href="ext:hod/torque-advanced-config">here</a></li>
- <li>Create a queue for submitting jobs on the pbs_server. The name of the queue is \
the
- same as the HOD configuration parameter, resource-manager.queue. The Hod client \
uses this queue to
- submit the Ringmaster process as a Torque job.</li>
- <li>Specify a 'cluster name' as a 'property' for all nodes in the cluster.
- This can be done by using the 'qmgr' command. For example:
- qmgr -c "set node node properties=cluster-name". The name of the cluster is the \
same as
- the HOD configuration parameter, hod.cluster. </li>
- <li>Ensure that jobs can be submitted to the nodes. This can be done by
- using the 'qsub' command. For example:
- echo "sleep 30" | qsub -l nodes=3</li>
-</ul>
-
-</section>
-
-<section>
-<title>Installing HOD</title>
-
-<p>Now that the resource manager set up is done, we proceed on to obtaining and
-installing HOD.</p>
-<ul>
- <li>If you are getting HOD from the Hadoop tarball,it is available under the
- 'contrib' section of Hadoop, under the root directory 'hod'.</li>
- <li>If you are building from source, you can run ant tar from the Hadoop root
- directory, to generate the Hadoop tarball, and then pick HOD from there,
- as described in the point above.</li>
- <li>Distribute the files under this directory to all the nodes in the
- cluster. Note that the location where the files are copied should be
- the same on all the nodes.</li>
- <li>Note that compiling hadoop would build HOD with appropriate permissions
- set on all the required script files in HOD.</li>
-</ul>
-</section>
-
-<section>
-<title>Configuring HOD</title>
-
-<p>After HOD installation is done, it has to be configured before we start using
-it.</p>
-<section>
- <title>Minimal Configuration to get started</title>
-<ul>
- <li>On the node from where you want to run hod, edit the file hodrc
- which can be found in the <install dir>/conf directory. This file
- contains the minimal set of values required for running hod.</li>
- <li>
-<p>Specify values suitable to your environment for the following
- variables defined in the configuration file. Note that some of these
- variables are defined at more than one place in the file.</p>
-
- <ul>
- <li>${JAVA_HOME}: Location of Java for Hadoop. Hadoop supports Sun JDK
- 1.5.x and above.</li>
- <li>${CLUSTER_NAME}: Name of the cluster which is specified in the
- 'node property' as mentioned in resource manager configuration.</li>
- <li>${HADOOP_HOME}: Location of Hadoop installation on the compute and
- submit nodes.</li>
- <li>${RM_QUEUE}: Queue configured for submiting jobs in the resource
- manager configuration.</li>
- <li>${RM_HOME}: Location of the resource manager installation on the
- compute and submit nodes.</li>
- </ul>
-</li>
-
-<li>
-<p>The following environment variables *may* need to be set depending on
- your environment. These variables must be defined where you run the
- HOD client, and also be specified in the HOD configuration file as the
- value of the key resource_manager.env-vars. Multiple variables can be
- specified as a comma separated list of key=value pairs.</p>
-
- <ul>
- <li>HOD_PYTHON_HOME: If you install python to a non-default location
- of the compute nodes, or submit nodes, then, this variable must be
- defined to point to the python executable in the non-standard
- location.</li>
- </ul>
-</li>
-</ul>
-</section>
-
- <section>
- <title>Advanced Configuration</title>
- <p> You can review other configuration options in the file and modify them to \
suit
- your needs. Refer to the <a href="hod_config_guide.html">Configuration Guide</a> \
for information about the HOD
- configuration.
- </p>
- </section>
-</section>
-
- <section>
- <title>Running HOD</title>
- <p>You can now proceed to <a href="hod_user_guide.html">HOD User Guide</a> for \
information about how to run HOD,
- what are the various features, options and for help in trouble-shooting.</p>
- </section>
-</body>
-</document>
+<?xml version="1.0"?>
+
+<!DOCTYPE document PUBLIC "-//APACHE//DTD Documentation V2.0//EN"
+ "http://forrest.apache.org/dtd/document-v20.dtd">
+
+
+<document>
+
+ <header>
+ <title>
+ Hadoop On Demand
+ </title>
+ </header>
+
+ <body>
+<section>
+<title>Overview</title>
+
+<p>The Hadoop On Demand (HOD) project is a system for provisioning and
+managing independent Hadoop MapReduce and HDFS instances on a shared cluster
+of nodes. HOD is a tool that makes it easy for administrators and users to
+quickly setup and use Hadoop. It is also a very useful tool for Hadoop developers
+and testers who need to share a physical cluster for testing their own Hadoop
+versions.
+</p>
+
+<p>HOD relies on a resource manager (RM) for allocation of nodes that it can use for
+running Hadoop instances. At present it runs with the <a \
href="ext:hod/torque">Torque +resource manager</a>.
+</p>
+
+<p>
+The basic system architecture of HOD includes components from:</p>
+<ul>
+ <li>A Resource manager (possibly together with a scheduler),</li>
+ <li>HOD components, and </li>
+ <li>Hadoop Map/Reduce and HDFS daemons.</li>
+</ul>
+
+<p>
+HOD provisions and maintains Hadoop Map/Reduce and, optionally, HDFS instances
+through interaction with the above components on a given cluster of nodes. A cluster \
of +nodes can be thought of as comprising of two sets of nodes:</p>
+<ul>
+ <li>Submit nodes: Users use the HOD client on these nodes to allocate clusters, \
and then +use the Hadoop client to submit Hadoop jobs. </li>
+ <li>Compute nodes: Using the resource manager, HOD components are run on these \
nodes to +provision the Hadoop daemons. After that Hadoop jobs run on them.</li>
+</ul>
+
+<p>
+Here is a brief description of the sequence of operations in allocating a cluster \
and +running jobs on them.
+</p>
+
+<ul>
+ <li>The user uses the HOD client on the Submit node to allocate a required number \
of +cluster nodes, and provision Hadoop on them.</li>
+ <li>The HOD client uses a Resource Manager interface, (qsub, in Torque), to submit \
a HOD +process, called the RingMaster, as a Resource Manager job, requesting the user \
desired number +of nodes. This job is submitted to the central server of the \
Resource Manager (pbs_server, in Torque).</li> + <li>On the compute nodes, the \
resource manager slave daemons, (pbs_moms in Torque), accept +and run jobs that they \
are given by the central server (pbs_server in Torque). The RingMaster +process is \
started on one of the compute nodes (mother superior, in Torque).</li> + <li>The \
Ringmaster then uses another Resource Manager interface, (pbsdsh, in Torque), to run \
+the second HOD component, HodRing, as distributed tasks on each of the compute \
+nodes allocated.</li> + <li>The Hodrings, after initializing, communicate with the \
Ringmaster to get Hadoop commands, +and run them accordingly. Once the Hadoop \
commands are started, they register with the RingMaster, +giving information about \
the daemons.</li> + <li>All the configuration files needed for Hadoop instances are \
generated by HOD itself, +some obtained from options given by user in its own \
configuration file.</li> + <li>The HOD client keeps communicating with the \
RingMaster to find out the location of the +JobTracker and HDFS daemons.</li>
+</ul>
+
+<p>The rest of the document deals with the steps needed to setup HOD on a physical \
cluster of nodes.</p> +
+</section>
+
+<section>
+<title>Pre-requisites</title>
+
+<p>Operating System: HOD is currently tested on RHEL4.<br/>
+Nodes : HOD requires a minimum of 3 nodes configured through a resource \
manager.<br/></p> +
+<p> Software </p>
+<p>The following components are to be installed on *ALL* the nodes before using \
HOD:</p> +<ul>
+ <li>Torque: Resource manager</li>
+ <li><a href="ext:hod/python">Python</a> : HOD requires version 2.5.1 of \
Python.</li> +</ul>
+
+<p>The following components can be optionally installed for getting better
+functionality from HOD:</p>
+<ul>
+ <li><a href="ext:hod/twisted-python">Twisted Python</a>: This can be
+ used for improving the scalability of HOD. If this module is detected to be
+ installed, HOD uses it, else it falls back to default modules.</li>
+ <li><a href="ext:site">Hadoop</a>: HOD can automatically
+ distribute Hadoop to all nodes in the cluster. However, it can also use a
+ pre-installed version of Hadoop, if it is available on all nodes in the cluster.
+ HOD currently supports Hadoop 0.15 and above.</li>
+</ul>
+
+<p>NOTE: HOD configuration requires the location of installs of these
+components to be the same on all nodes in the cluster. It will also
+make the configuration simpler to have the same location on the submit
+nodes.
+</p>
+</section>
+
+<section>
+<title>Resource Manager</title>
+<p> Currently HOD works with the Torque resource manager, which it uses for its \
node + allocation and job submission. Torque is an open source resource manager from
+ <a href="ext:hod/cluster-resources">Cluster Resources</a>, a community effort
+ based on the PBS project. It provides control over batch jobs and distributed \
compute nodes. Torque is + freely available for download from <a \
href="ext:hod/torque-download">here</a>. + </p>
+
+<p> All documentation related to torque can be seen under
+ the section TORQUE Resource Manager <a
+ href="ext:hod/torque-docs">here</a>. You can
+ get wiki documentation from <a
+ href="ext:hod/torque-wiki">here</a>.
+ Users may wish to subscribe to TORQUEâ € ™s mailing list or view the archive for \
questions, + comments <a
+ href="ext:hod/torque-mailing-list">here</a>.
+</p>
+
+<p>For using HOD with Torque:</p>
+<ul>
+ <li>Install Torque components: pbs_server on one node(head node), pbs_mom on all
+ compute nodes, and PBS client tools on all compute nodes and submit
+ nodes. Perform atleast a basic configuration so that the Torque system is up and
+ running i.e pbs_server knows which machines to talk to. Look <a
+ href="ext:hod/torque-basic-config">here</a>
+ for basic configuration.
+
+ For advanced configuration, see <a
+ href="ext:hod/torque-advanced-config">here</a></li>
+ <li>Create a queue for submitting jobs on the pbs_server. The name of the queue is \
the + same as the HOD configuration parameter, resource-manager.queue. The Hod \
client uses this queue to + submit the Ringmaster process as a Torque job.</li>
+ <li>Specify a 'cluster name' as a 'property' for all nodes in the cluster.
+ This can be done by using the 'qmgr' command. For example:
+ qmgr -c "set node node properties=cluster-name". The name of the cluster is the \
same as + the HOD configuration parameter, hod.cluster. </li>
+ <li>Ensure that jobs can be submitted to the nodes. This can be done by
+ using the 'qsub' command. For example:
+ echo "sleep 30" | qsub -l nodes=3</li>
+</ul>
+
+</section>
+
+<section>
+<title>Installing HOD</title>
+
+<p>Now that the resource manager set up is done, we proceed on to obtaining and
+installing HOD.</p>
+<ul>
+ <li>If you are getting HOD from the Hadoop tarball,it is available under the
+ 'contrib' section of Hadoop, under the root directory 'hod'.</li>
+ <li>If you are building from source, you can run ant tar from the Hadoop root
+ directory, to generate the Hadoop tarball, and then pick HOD from there,
+ as described in the point above.</li>
+ <li>Distribute the files under this directory to all the nodes in the
+ cluster. Note that the location where the files are copied should be
+ the same on all the nodes.</li>
+ <li>Note that compiling hadoop would build HOD with appropriate permissions
+ set on all the required script files in HOD.</li>
+</ul>
+</section>
+
+<section>
+<title>Configuring HOD</title>
+
+<p>After HOD installation is done, it has to be configured before we start using
+it.</p>
+<section>
+ <title>Minimal Configuration to get started</title>
+<ul>
+ <li>On the node from where you want to run hod, edit the file hodrc
+ which can be found in the <install dir>/conf directory. This file
+ contains the minimal set of values required for running hod.</li>
+ <li>
+<p>Specify values suitable to your environment for the following
+ variables defined in the configuration file. Note that some of these
+ variables are defined at more than one place in the file.</p>
+
+ <ul>
+ <li>${JAVA_HOME}: Location of Java for Hadoop. Hadoop supports Sun JDK
+ 1.5.x and above.</li>
+ <li>${CLUSTER_NAME}: Name of the cluster which is specified in the
+ 'node property' as mentioned in resource manager configuration.</li>
+ <li>${HADOOP_HOME}: Location of Hadoop installation on the compute and
+ submit nodes.</li>
+ <li>${RM_QUEUE}: Queue configured for submiting jobs in the resource
+ manager configuration.</li>
+ <li>${RM_HOME}: Location of the resource manager installation on the
+ compute and submit nodes.</li>
+ </ul>
+</li>
+
+<li>
+<p>The following environment variables *may* need to be set depending on
+ your environment. These variables must be defined where you run the
+ HOD client, and also be specified in the HOD configuration file as the
+ value of the key resource_manager.env-vars. Multiple variables can be
+ specified as a comma separated list of key=value pairs.</p>
+
+ <ul>
+ <li>HOD_PYTHON_HOME: If you install python to a non-default location
+ of the compute nodes, or submit nodes, then, this variable must be
+ defined to point to the python executable in the non-standard
+ location.</li>
+ </ul>
+</li>
+</ul>
+</section>
+
+ <section>
+ <title>Advanced Configuration</title>
+ <p> You can review other configuration options in the file and modify them to \
suit + your needs. Refer to the <a href="hod_config_guide.html">Configuration \
Guide</a> for information about the HOD + configuration.
+ </p>
+ </section>
+</section>
+
+ <section>
+ <title>Running HOD</title>
+ <p>You can now proceed to <a href="hod_user_guide.html">HOD User Guide</a> for \
information about how to run HOD, + what are the various features, options and for \
help in trouble-shooting.</p> + </section>
+
+ <section>
+ <title>Supporting Tools and Utilities</title>
+ <p>This section describes certain supporting tools and utilities that can be \
used in managing HOD deployments.</p> +
+ <section>
+ <title>logcondense.py - Tool for removing log files uploaded to DFS</title>
+ <p>As mentioned in
+ <a href="hod_user_guide.html#Collecting+and+Viewing+Hadoop+Logs">this \
section</a> of the + <a href="hod_user_guide.html">HOD User Guide</a>, HOD \
can be configured to upload + Hadoop logs to a statically configured HDFS. \
Over time, the number of logs uploaded + to DFS could increase. \
logcondense.py is a tool that helps administrators to clean-up + the log \
files older than a certain number of days. </p> + <section>
+ <title>Running logcondense.py</title>
+ <p>logcondense.py is available under hod_install_location/support folder. \
You can either + run it using python, for e.g. <em>python logcondense.py</em>, \
or give execute permissions + to the file, and directly run it as \
<em>logcondense.py</em>. logcondense.py needs to be + run by a user who has \
sufficient permissions to remove files from locations where log + files are \
uploaded in the DFS, if permissions are enabled. For e.g. as mentioned in the + \
<a href="hod_config_guide.html#3.7+hodring+options">configuration guide</a>, the logs \
could + be configured to come under the user's home directory in HDFS. In that \
case, the user + running logcondense.py should have super user privileges to \
remove the files from under + all user home directories.</p>
+ </section>
+ <section>
+ <title>Command Line Options for logcondense.py</title>
+ <p>The following command line options are supported for logcondense.py.</p>
+ <table>
+ <tr>
+ <td>Short Option</td>
+ <td>Long option</td>
+ <td>Meaning</td>
+ <td>Example</td>
+ </tr>
+ <tr>
+ <td>-p</td>
+ <td>--package</td>
+ <td>Complete path to the hadoop script. The version of hadoop must be \
the same as the + one running HDFS.</td>
+ <td>/usr/bin/hadoop</td>
+ </tr>
+ <tr>
+ <td>-d</td>
+ <td>--days</td>
+ <td>Delete log files older than the specified number of days</td>
+ <td>7</td>
+ </tr>
+ <tr>
+ <td>-c</td>
+ <td>--config</td>
+ <td>Path to the Hadoop configuration directory, under which \
hadoop-site.xml resides. + The hadoop-site.xml must point to the HDFS \
NameNode from where logs are to be removed.</td> + \
<td>/home/foo/hadoop/conf</td> + </tr>
+ <tr>
+ <td>-l</td>
+ <td>--logs</td>
+ <td>A HDFS path, this must be the same HDFS path as specified for the \
log-destination-uri, + as mentioned in the <a \
href="hod_config_guide.html#3.7+hodring+options">configuration guide</a>, + \
without the hdfs:// URI string</td> + <td>/user</td>
+ </tr>
+ <tr>
+ <td>-n</td>
+ <td>--dynamicdfs</td>
+ <td>If true, this will indicate that the logcondense.py script should \
delete HDFS logs + in addition to Map/Reduce logs. Otherwise, it only \
deletes Map/Reduce logs, which is also the + default if this option is \
not specified. This option is useful if dynamic DFS installations + are \
being provisioned by HOD, and the static DFS installation is being used only to \
collect + logs - a scenario that may be common in test clusters.</td>
+ <td>false</td>
+ </tr>
+ </table>
+ <p>So, for example, to delete all log files older than 7 days using a \
hadoop-site.xml stored in + ~/hadoop-conf, using the hadoop installation under \
~/hadoop-0.17.0, you could say:</p> + <p><em>python logcondense.py -p \
~/hadoop-0.17.0/bin/hadoop -d 7 -c ~/hadoop-conf -l /user</em></p> + </section>
+ </section>
+ </section>
+</body>
+</document>
[prev in list] [next in list] [prev in thread] [next in thread]
Configure |
About |
News |
Add a list |
Sponsored by KoreLogic