source: proiecte/HadoopJUnit/hadoop-0.20.1/docs/cn/hod_user_guide.html @ 120

Last change on this file since 120 was 120, checked in by (none), 14 years ago

Added the mail files for the Hadoop JUNit Project

  • Property svn:executable set to *
File size: 61.5 KB
Line 
1<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
2<html>
3<head>
4<META http-equiv="Content-Type" content="text/html; charset=UTF-8">
5<meta content="Apache Forrest" name="Generator">
6<meta name="Forrest-version" content="0.8">
7<meta name="Forrest-skin-name" content="pelt">
8<title>
9      Hadoop On Demand甚户指南
10    </title>
11<link type="text/css" href="skin/basic.css" rel="stylesheet">
12<link media="screen" type="text/css" href="skin/screen.css" rel="stylesheet">
13<link media="print" type="text/css" href="skin/print.css" rel="stylesheet">
14<link type="text/css" href="skin/profile.css" rel="stylesheet">
15<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>
16<link rel="shortcut icon" href="images/favicon.ico">
17</head>
18<body onload="init()">
19<script type="text/javascript">ndeSetTextSize();</script>
20<div id="top">
21<!--+
22    |breadtrail
23    +-->
24<div class="breadtrail">
25<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>
26</div>
27<!--+
28    |header
29    +-->
30<div class="header">
31<!--+
32    |start group logo
33    +-->
34<div class="grouplogo">
35<a href="http://hadoop.apache.org/"><img class="logoImage" alt="Hadoop" src="images/hadoop-logo.jpg" title="Apache Hadoop"></a>
36</div>
37<!--+
38    |end group logo
39    +-->
40<!--+
41    |start Project Logo
42    +-->
43<div class="projectlogo">
44<a href="http://hadoop.apache.org/core/"><img class="logoImage" alt="Hadoop" src="images/core-logo.gif" title="Scalable Computing Platform"></a>
45</div>
46<!--+
47    |end Project Logo
48    +-->
49<!--+
50    |start Search
51    +-->
52<div class="searchbox">
53<form action="http://www.google.com/search" method="get" class="roundtopsmall">
54<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; 
55                    <input name="Search" value="Search" type="submit">
56</form>
57</div>
58<!--+
59    |end search
60    +-->
61<!--+
62    |start Tabs
63    +-->
64<ul id="tabs">
65<li>
66<a class="unselected" href="http://hadoop.apache.org/core/">项目</a>
67</li>
68<li>
69<a class="unselected" href="http://wiki.apache.org/hadoop">绎基</a>
70</li>
71<li class="current">
72<a class="selected" href="index.html">Hadoop 0.18文档</a>
73</li>
74</ul>
75<!--+
76    |end Tabs
77    +-->
78</div>
79</div>
80<div id="main">
81<div id="publishedStrip">
82<!--+
83    |start Subtabs
84    +-->
85<div id="level2tabs"></div>
86<!--+
87    |end Endtabs
88    +-->
89<script type="text/javascript"><!--
90document.write("Last Published: " + document.lastModified);
91//  --></script>
92</div>
93<!--+
94    |breadtrail
95    +-->
96<div class="breadtrail">
97
98             &nbsp;
99           </div>
100<!--+
101    |start Menu, mainarea
102    +-->
103<!--+
104    |start Menu
105    +-->
106<div id="menu">
107<div onclick="SwitchMenu('menu_1.1', 'skin/')" id="menu_1.1Title" class="menutitle">文档</div>
108<div id="menu_1.1" class="menuitemgroup">
109<div class="menuitem">
110<a href="index.html">抂述</a>
111</div>
112<div class="menuitem">
113<a href="quickstart.html">快速入闚</a>
114</div>
115<div class="menuitem">
116<a href="cluster_setup.html">集矀搭建</a>
117</div>
118<div class="menuitem">
119<a href="hdfs_design.html">HDFS构架讟计</a>
120</div>
121<div class="menuitem">
122<a href="hdfs_user_guide.html">HDFS䜿甚指南</a>
123</div>
124<div class="menuitem">
125<a href="hdfs_permissions_guide.html">HDFS权限指南</a>
126</div>
127<div class="menuitem">
128<a href="hdfs_quota_admin_guide.html">HDFS配额管理指南</a>
129</div>
130<div class="menuitem">
131<a href="commands_manual.html">呜什手册</a>
132</div>
133<div class="menuitem">
134<a href="hdfs_shell.html">FS Shell䜿甚指南</a>
135</div>
136<div class="menuitem">
137<a href="distcp.html">DistCp䜿甚指南</a>
138</div>
139<div class="menuitem">
140<a href="mapred_tutorial.html">Map-Reduce教皋</a>
141</div>
142<div class="menuitem">
143<a href="native_libraries.html">Hadoop本地库</a>
144</div>
145<div class="menuitem">
146<a href="streaming.html">Streaming</a>
147</div>
148<div class="menuitem">
149<a href="hadoop_archives.html">Hadoop Archives</a>
150</div>
151<div class="menuitem">
152<a href="hod.html">Hadoop On Demand</a>
153</div>
154<div class="menuitem">
155<a href="http://hadoop.apache.org/core/docs/r0.18.2/api/index.html">API参考</a>
156</div>
157<div class="menuitem">
158<a href="http://hadoop.apache.org/core/docs/r0.18.2/jdiff/changes.html">API Changes</a>
159</div>
160<div class="menuitem">
161<a href="http://wiki.apache.org/hadoop/">绎基</a>
162</div>
163<div class="menuitem">
164<a href="http://wiki.apache.org/hadoop/FAQ">垞见问题</a>
165</div>
166<div class="menuitem">
167<a href="http://hadoop.apache.org/core/mailing_lists.html">邮件列衚</a>
168</div>
169<div class="menuitem">
170<a href="http://hadoop.apache.org/core/docs/r0.18.2/releasenotes.html">发行诎明</a>
171</div>
172<div class="menuitem">
173<a href="http://hadoop.apache.org/core/docs/r0.18.2/changes.html">变曎日志</a>
174</div>
175</div>
176<div id="credit"></div>
177<div id="roundbottom">
178<img style="display: none" class="corner" height="15" width="15" alt="" src="skin/images/rc-b-l-15-1body-2menu-3menu.png"></div>
179<!--+
180  |alternative credits
181  +-->
182<div id="credit2"></div>
183</div>
184<!--+
185    |end Menu
186    +-->
187<!--+
188    |start content
189    +-->
190<div id="content">
191<div title="Portable Document Format" class="pdflink">
192<a class="dida" href="hod_user_guide.pdf"><img alt="PDF -icon" src="skin/images/pdfdoc.gif" class="skin"><br>
193        PDF</a>
194</div>
195<h1>
196      Hadoop On Demand甚户指南
197    </h1>
198<div id="minitoc-area">
199<ul class="minitoc">
200<li>
201<a href="#%E7%AE%80%E4%BB%8B">简介</a>
202</li>
203<li>
204<a href="#HOD%E4%BD%BF%E7%94%A8%E5%85%A5%E9%97%A8">HOD䜿甚入闚</a>
205<ul class="minitoc">
206<li>
207<a href="#%E4%B8%80%E4%B8%AA%E5%85%B8%E5%9E%8BHOD%E4%BC%9A%E8%AF%9D">䞀䞪兞型HOD䌚话</a>
208</li>
209<li>
210<a href="#%E4%BD%BF%E7%94%A8HOD%E8%BF%90%E8%A1%8CHadoop%E8%84%9A%E6%9C%AC">䜿甚HOD运行Hadoop脚本</a>
211</li>
212</ul>
213</li>
214<li>
215<a href="#HOD%E7%9A%84%E5%8A%9F%E8%83%BD">HOD的功胜</a>
216<ul class="minitoc">
217<li>
218<a href="#%E4%BE%9B%E5%BA%94%E4%B8%8E%E7%AE%A1%E7%90%86Hadoop%E9%9B%86%E7%BE%A4">䟛应䞎管理Hadoop集矀</a>
219</li>
220<li>
221<a href="#%E4%BD%BF%E7%94%A8tarball%E5%88%86%E5%8F%91Hadoop">䜿甚tarball分发Hadoop</a>
222</li>
223<li>
224<a href="#%E4%BD%BF%E7%94%A8%E5%A4%96%E9%83%A8HDFS">䜿甚倖郚HDFS</a>
225</li>
226<li>
227<a href="#%E9%85%8D%E7%BD%AEHadoop%E7%9A%84%E9%80%89%E9%A1%B9">配眮Hadoop的选项</a>
228</li>
229<li>
230<a href="#%E6%9F%A5%E7%9C%8BHadoop%E7%9A%84Web-UI">查看Hadoop的Web-UI</a>
231</li>
232<li>
233<a href="#%E6%94%B6%E9%9B%86%E5%92%8C%E6%9F%A5%E7%9C%8BHadoop%E6%97%A5%E5%BF%97">收集和查看Hadoop日志</a>
234</li>
235<li>
236<a href="#%E9%97%B2%E7%BD%AE%E9%9B%86%E7%BE%A4%E7%9A%84%E8%87%AA%E5%8A%A8%E5%9B%9E%E6%94%B6">闲眮集矀的自劚回收</a>
237</li>
238<li>
239<a href="#%E6%8C%87%E5%AE%9A%E9%A2%9D%E5%A4%96%E7%9A%84%E4%BD%9C%E4%B8%9A%E5%B1%9E%E6%80%A7">指定额倖的䜜䞚属性</a>
240</li>
241<li>
242<a href="#%E6%8D%95%E8%8E%B7HOD%E5%9C%A8Torque%E4%B8%AD%E7%9A%84%E9%80%80%E5%87%BA%E7%A0%81">捕获HOD圚Torque䞭的退出码</a>
243</li>
244<li>
245<a href="#%E5%91%BD%E4%BB%A4%E8%A1%8C">呜什行</a>
246</li>
247<li>
248<a href="#HOD%E9%85%8D%E7%BD%AE%E9%80%89%E9%A1%B9"> HOD配眮选项</a>
249</li>
250</ul>
251</li>
252<li>
253<a href="#%E6%95%85%E9%9A%9C%E6%8E%92%E9%99%A4">故障排陀</a>
254<ul class="minitoc">
255<li>
256<a href="#%E5%88%86%E9%85%8D%E6%93%8D%E4%BD%9C%E6%97%B6">分配操䜜时hod挂起</a>
257</li>
258<li>
259<a href="#%E5%9B%9E%E6%94%B6%E6%93%8D%E4%BD%9C%E6%97%B6">回收操䜜时hod挂起</a>
260</li>
261<li>
262<a href="#%E5%A4%B1%E8%B4%A5%E6%97%B6%E7%9A%84%E9%94%99%E8%AF%AF%E4%BB%A3%E7%A0%81%E5%92%8C%E9%94%99%E8%AF%AF%E4%BF%A1%E6%81%AF">hod倱莥时的错误代码和错误信息</a>
263</li>
264<li>
265<a href="#Hadoop+DFSClient%E8%AD%A6%E5%91%8ANotReplicatedYetException%E4%BF%A1%E6%81%AF">Hadoop DFSClientè­Šå‘ŠNotReplicatedYetException信息</a>
266</li>
267<li>
268<a href="#%E6%88%90%E5%8A%9F%E5%88%86%E9%85%8D%E7%9A%84%E9%9B%86%E7%BE%A4%E4%B8%8A%E6%97%A0%E6%B3%95%E8%BF%90%E8%A1%8CHadoop%E4%BD%9C%E4%B8%9A">成功分配的集矀䞊无法运行Hadoop䜜䞚</a>
269</li>
270<li>
271<a href="#%E6%88%91%E7%9A%84Hadoop%E4%BD%9C%E4%B8%9A%E8%A2%AB%E4%B8%AD%E6%AD%A2%E4%BA%86">我的Hadoop䜜䞚被䞭止了</a>
272</li>
273<li>
274<a href="#Hadoop%E4%BD%9C%E4%B8%9A%E5%A4%B1%E8%B4%A5%E5%B9%B6%E8%BF%94%E5%9B%9E%E6%B6%88%E6%81%AF%EF%BC%9A%E2%80%98Job+tracker+still+initializing%E2%80%99">Hadoop䜜䞚倱莥并返回消息&lsquo;Job tracker still initializing&rsquo;</a>
275</li>
276<li>
277<a href="#Torque%E7%9A%84%E9%80%80%E5%87%BA%E4%BB%A3%E7%A0%81%E6%B2%A1%E6%9C%89%E5%8C%85%E5%90%ABHOD%E7%9A%84">Torque的退出代码没有包含HOD的</a>
278</li>
279<li>
280<a href="#Hadoop%E6%97%A5%E5%BF%97%E6%9C%AA%E8%A2%AB%E4%B8%8A%E4%BC%A0%E5%88%B0DFS">Hadoop日志未被䞊䌠到DFS</a>
281</li>
282<li>
283<a href="#%E5%AE%9A%E4%BD%8DRingmaster%E6%97%A5%E5%BF%97">定䜍Ringmaster日志</a>
284</li>
285<li>
286<a href="#%E5%AE%9A%E4%BD%8DHodring%E6%97%A5%E5%BF%97">定䜍Hodring日志</a>
287</li>
288</ul>
289</li>
290</ul>
291</div>
292 
293<a name="N1000C"></a><a name="%E7%AE%80%E4%BB%8B"></a>
294<h2 class="h3">简介</h2>
295<div class="section">
296<a name="Introduction" id="Introduction"></a>
297<p>Hadoop On Demand (HOD)是䞀䞪胜圚倧规暡物理集矀䞊䟛应虚拟Hadoop集矀的系统。它䜿甚Torque资源管理噚进行节点分配。圚所分配的节点䞊它胜启劚Hadoop Map/Reduce以及HDFS守技进皋。它胜自劚䞺Hadoop守技进皋及客户端生成合适的配眮文件(Hadoop-site.xml)。HOD还胜借将Hadoop分发到它分配的虚拟集矀节点䞊。总之HOD方䟿管理者和甚户快速安装䞎䜿甚Hadoop。它也是需芁圚同䞀物理集矀䞊测试各自版本的Hadoop匀发者和测试者的实甚工具。</p>
298<p>HOD支持Hadoop 0.15及其后续版本。</p>
299<p>后面的文档包括䞀䞪快速入闚指南胜让䜠快速䞊手HOD䞀䞪所有HOD特性的诊细手册呜什行选项䞀些已知问题和故障排陀的信息。</p>
300</div>
301 
302<a name="N1001E"></a><a name="HOD%E4%BD%BF%E7%94%A8%E5%85%A5%E9%97%A8"></a>
303<h2 class="h3">HOD䜿甚入闚</h2>
304<div class="section">
305<a name="Getting_Started_Using_HOD_0_4" id="Getting_Started_Using_HOD_0_4"></a>
306<p>圚这郚分我们将䌚逐步骀地介绍䜿甚HOD涉及到的最基本的操䜜。圚匀始遵埪这些步骀之前我们假定HOD及其䟝赖的蜯硬件均已被正确安装和配眮。这步通垞由集矀的系统管理员莟莣。</p>
307<p>HOD的甚户界面是䞀䞪呜什行工具叫做<span class="codefrag">hod</span>。它被䞀䞪通垞由系统管理员䞺甚户讟眮奜的配眮文件所驱劚。甚户圚䜿甚<span class="codefrag">hod</span>的时候可以芆盖这䞪配眮文档的后面䌚由介绍。䜿甚<span class="codefrag">hod</span>时有劂䞋䞀种方匏可以指定配眮文件</p>
308<ul>
309   
310<li>圚呜什行䞭指定䜿甚 -c 选项。䟋劂<span class="codefrag">hod &lt;operation&gt; &lt;required-args&gt; -c path-to-the-configuration-file [ohter-options]</span>
311</li>
312   
313<li>圚运行<span class="codefrag">hod</span>的地方讟眮环境变量<em>HOD_CONF_DIR</em>。这䞪变量应指向指向䞀䞪本地目圕其䞭有名䞺<em>hodrc</em>的文件。这䞎Hadoop侭的<em>HADOOP_CONF_DIR</em>侎<em>hadoop-site.xml</em>文件是类䌌的。劂果呜什行䞭未指定配眮文件<span class="codefrag">hod</span>䌚查扟<em>HOD_CONF_DIR</em>环境变量指定目圕䞋的<em>hodrc</em>文件。</li>
314   
315</ul>
316<p>䞋面的䟋子䞭我们将䞍䌚明确指出这䞪配眮选项假定其已正确指定。</p>
317<a name="N1005B"></a><a name="%E4%B8%80%E4%B8%AA%E5%85%B8%E5%9E%8BHOD%E4%BC%9A%E8%AF%9D"></a>
318<h3 class="h4">䞀䞪兞型HOD䌚话</h3>
319<a name="HOD_Session" id="HOD_Session"></a>
320<p>䞀䞪兞型HOD䌚话至少包括䞉䞪步骀分配执行Hadoop䜜䞚回收。䞺歀执行劂䞋步骀。</p>
321<p>
322<strong>创建䞀䞪集矀目圕</strong>
323</p>
324<a name="Create_a_Cluster_Directory" id="Create_a_Cluster_Directory"></a>
325<p>
326<em>集矀目圕</em>是本地文件系统䞊的䞀䞪目圕<span class="codefrag">hod</span>䌚䞺它分配的集矀产生对应的Hadoop配眮<em>hadoop-site.xml</em>攟圚这䞪目圕䞋。这䞪目圕可以按䞋文所述方匏䌠递给<span class="codefrag">hod</span>操䜜。劂果这䞪目圕䞍存圚HOD䌚自劚创建这䞪目圕。䞀䜆分配奜了集矀甚户可通过Hadoop --config选项指定集矀目圕圚之䞊运行Hadoop䜜䞚。</p>
327<p>
328<strong><em>allocate</em>操䜜</strong>
329</p>
330<a name="Operation_allocate" id="Operation_allocate"></a>
331<p>
332<em>allocate</em>操䜜甚来分配䞀组节点并圚之䞊安装和提䟛Hadoop。它的语法劂䞋。泚意它芁求指定参数集矀目圕-d, --hod.clusterdir和节点䞪数-n, --hod.nodecount</p>
333<table class="ForrestTable" cellspacing="1" cellpadding="4">
334     
335       
336<tr>
337         
338<td colspan="1" rowspan="1"><span class="codefrag">$ hod allocate -d cluster_dir -n number_of_nodes [OPTIONS]</span></td>
339       
340</tr>
341     
342   
343</table>
344<p>劂果呜什成功执行<span class="codefrag">cluster_dir/hadoop-site.xml</span>䌚被生成文件䞭包含了分配出的集矀的信息。它也䌚打印出关于Hadoop的web UI的信息。</p>
345<p>试运行这䞪呜什䌚产生劂䞋蟓出。泚意圚这䞪䟋子䞭集矀目圕是<span class="codefrag">~/hod-clusters/test</span>我们芁分配5䞪节点</p>
346<table class="ForrestTable" cellspacing="1" cellpadding="4">
347   
348<tr>
349     
350<td colspan="1" rowspan="1"><span class="codefrag">$ hod allocate -d ~/hod-clusters/test -n 5</span>
351<br>
352     
353<span class="codefrag">INFO - HDFS UI on http://foo1.bar.com:53422</span>
354<br>
355     
356<span class="codefrag">INFO - Mapred UI on http://foo2.bar.com:55380</span>
357<br>
358</td>
359     
360</tr>
361   
362</table>
363<p>
364<strong>圚分配的集矀䞊执行Hadoop䜜䞚</strong>
365</p>
366<a name="Running_Hadoop_jobs_using_the_al" id="Running_Hadoop_jobs_using_the_al"></a>
367<p>现圚可以甚䞀般的方匏圚分配的集矀䞊执行Hadoop䜜䞚了。这是假定像<em>JAVA_HOME</em>指向Hadoop安装的路埄已被正确地讟眮了</p>
368<table class="ForrestTable" cellspacing="1" cellpadding="4">
369     
370       
371<tr>
372         
373<td colspan="1" rowspan="1"><span class="codefrag">$ hadoop --config cluster_dir hadoop_command hadoop_command_args</span></td>
374       
375</tr>
376     
377   
378</table>
379<p>或者</p>
380<table class="ForrestTable" cellspacing="1" cellpadding="4">
381     
382       
383<tr>
384         
385<td colspan="1" rowspan="1"><span class="codefrag">$ export HADOOP_CONF_DIR=cluster_dir</span> 
386<br>
387             
388<span class="codefrag">$ hadoop hadoop_command hadoop_command_args</span></td>
389       
390</tr>
391     
392   
393</table>
394<p>继续我们的䟋子䞋面的呜什䌚圚分配的集矀䞊运行wordcount的䟋子</p>
395<table class="ForrestTable" cellspacing="1" cellpadding="4">
396<tr>
397<td colspan="1" rowspan="1"><span class="codefrag">$ hadoop --config ~/hod-clusters/test jar /path/to/hadoop/hadoop-examples.jar wordcount /path/to/input /path/to/output</span></td>
398</tr>
399</table>
400<p>或者</p>
401<table class="ForrestTable" cellspacing="1" cellpadding="4">
402<tr>
403   
404<td colspan="1" rowspan="1"><span class="codefrag">$ export HADOOP_CONF_DIR=~/hod-clusters/test</span>
405<br>
406   
407<span class="codefrag">$ hadoop jar /path/to/hadoop/hadoop-examples.jar wordcount /path/to/input /path/to/output</span></td>
408   
409</tr>
410 
411</table>
412<p>
413<strong> <em>deallocate</em>操䜜</strong>
414</p>
415<a name="Operation_deallocate" id="Operation_deallocate"></a>
416<p>
417<em>deallocate</em>操䜜甚来回收分配到的集矀。圓完成集矀䜿甚之后必须执行回收操䜜䜿这些节点可以䞺其他甚户所甚。<em>deallocate</em>操䜜的语法劂䞋。泚意它需芁集矀目圕-d, --hod.clusterdir䜜䞺参数</p>
418<table class="ForrestTable" cellspacing="1" cellpadding="4">
419     
420       
421<tr>
422         
423<td colspan="1" rowspan="1"><span class="codefrag">$ hod deallocate -d cluster_dir</span></td>
424       
425</tr>
426     
427   
428</table>
429<p>继续我们的䟋子劂䞋呜什䌚回收集矀</p>
430<table class="ForrestTable" cellspacing="1" cellpadding="4">
431<tr>
432<td colspan="1" rowspan="1"><span class="codefrag">$ hod deallocate -d ~/hod-clusters/test</span></td>
433</tr>
434</table>
435<p>劂䜠所见HOD允讞甚户分配䞀䞪集矀随意的䜿甚它来运行Hadoop䜜䞚。䟋劂通过从倚䞪shell䞭启劚䜿甚同䞀䞪配眮的hadoop甚户可以做到圚同䞀䞪集矀䞊并发运行倚䞪䜜䞚。</p>
436<a name="N10128"></a><a name="%E4%BD%BF%E7%94%A8HOD%E8%BF%90%E8%A1%8CHadoop%E8%84%9A%E6%9C%AC"></a>
437<h3 class="h4">䜿甚HOD运行Hadoop脚本</h3>
438<a name="HOD_Script_Mode" id="HOD_Script_Mode"></a>
439<p>HOD的<em>script操䜜</em>胜将集矀的分配䜿甚和回收组织圚䞀起。这对那些想运行Hadoop䜜䞚脚本期望HOD胜圚脚本结束后自劚完成枅理操䜜的甚户特别管甚。甚<span class="codefrag">hod</span>执行Hadoop脚本需芁这么做</p>
440<p>
441<strong>创建脚本文件</strong>
442</p>
443<a name="Create_a_script_file" id="Create_a_script_file"></a>
444<p>这是䞀䞪普通的shell脚本通垞里面䌚包含hadoop呜什劂</p>
445<table class="ForrestTable" cellspacing="1" cellpadding="4">
446<tr>
447<td colspan="1" rowspan="1"><span class="codefrag">$ hadoop jar jar_file options</span></td>
448 
449</tr>
450</table>
451<p>圓然甚户可以向脚本䞭添加任䜕有效的呜什。HOD䌚圚执行这䞪脚本时自劚地讟眮<em>HADOOP_CONF_DIR</em>指向分配的集矀。甚户䞍必对歀担心。䞍过像分配操䜜时䞀样甚户需芁指定䞀䞪集矀目圕。</p>
452<p>
453<strong>运行脚本</strong>
454</p>
455<a name="Running_the_script" id="Running_the_script"></a>
456<p>
457<em>脚本操䜜</em>的语法劂䞋。泚意它需芁集矀目圕-d, --hod.clusterdir节点䞪数-n, --hod.nodecount以及脚本文件-s, --hod.script䜜䞺参数</p>
458<table class="ForrestTable" cellspacing="1" cellpadding="4">
459     
460       
461<tr>
462         
463<td colspan="1" rowspan="1"><span class="codefrag">$ hod script -d cluster_directory -n number_of_nodes -s script_file</span></td>
464       
465</tr>
466     
467   
468</table>
469<p>泚意䞀䜆脚本执行完毕HOD就䌚回收集矀这意味着脚本必须芁做到等hadoop䜜䞚完成后脚本才结束。甚户写脚本时必须泚意这点。</p>
470</div>
471 
472<a name="N1016C"></a><a name="HOD%E7%9A%84%E5%8A%9F%E8%83%BD"></a>
473<h2 class="h3">HOD的功胜</h2>
474<div class="section">
475<a name="HOD_0_4_Features" id="HOD_0_4_Features"></a><a name="N10174"></a><a name="%E4%BE%9B%E5%BA%94%E4%B8%8E%E7%AE%A1%E7%90%86Hadoop%E9%9B%86%E7%BE%A4"></a>
476<h3 class="h4">䟛应䞎管理Hadoop集矀</h3>
477<a name="Provisioning_and_Managing_Hadoop" id="Provisioning_and_Managing_Hadoop"></a>
478<p>HOD䞻芁功胜是䟛应Hadoop的Map/Reduce和HDFS集矀。这些圚见入闚䞀节已经做过描述。 歀倖芁是还有节点可甚并䞔组织䞊也批准䞀䞪甚户可以圚同䞀时闎内䜿甚HOD分配倚䞪Map/Reduce集矀。对于分配到的䞍同集矀甚户需芁䞺䞊面提到的<span class="codefrag">cluster_dir</span>参数指定䞍同的路埄。HOD提䟛<em>list</em>和<em>info</em>操䜜可以管理倚䞪集矀。</p>
479<p>
480<strong><em>list</em>操䜜</strong>
481</p>
482<a name="Operation_list" id="Operation_list"></a>
483<p>list操䜜胜列䞟到目前䞺止甚户所创建的所有集矀。存攟hadoop-site.xml的集矀目圕䞎JobTracker和或HDFS的连接及状态也䌚被星瀺出来。list操䜜的䜿甚语法劂䞋</p>
484<table class="ForrestTable" cellspacing="1" cellpadding="4">
485     
486       
487<tr>
488         
489<td colspan="1" rowspan="1"><span class="codefrag">$ hod list</span></td>
490       
491</tr>
492     
493   
494</table>
495<p>
496<strong><em>info</em>操䜜</strong>
497</p>
498<a name="Operation_info" id="Operation_info"></a>
499<p>info操䜜䌚星瀺指定集矀盞关的信息。这些信息包括Torque䜜䞚idHOD Ringmaster进皋Hadoop的JobTracker和NameNode守技进皋等重芁守技进皋的䜍眮。info操䜜的语法劂䞋。泚意它需芁集矀目圕-d, --hod.clusterdir䜜䞺参数</p>
500<table class="ForrestTable" cellspacing="1" cellpadding="4">
501     
502       
503<tr>
504         
505<td colspan="1" rowspan="1"><span class="codefrag">$ hod info -d cluster_dir</span></td>
506       
507</tr>
508     
509   
510</table>
511<p>
512<span class="codefrag">cluster_dir</span>应䞺前面<em>allocate</em>操䜜䞭指定的有效集矀目圕。</p>
513<a name="N101BE"></a><a name="%E4%BD%BF%E7%94%A8tarball%E5%88%86%E5%8F%91Hadoop"></a>
514<h3 class="h4">䜿甚tarball分发Hadoop</h3>
515<a name="Using_a_tarball_to_distribute_Ha" id="Using_a_tarball_to_distribute_Ha"></a>
516<p>䟛应Hadoop时HOD可以䜿甚集矀节点䞊已经安装奜的Hadoop也可以将hadoop的tarball䜜䞺䟛应操䜜的䞀郚分圚节点䞊进行分发和安装。劂果䜿甚tarball选项就䞍必非埗䜿甚预装的Hadoop了也䞍芁求集矀节点䞊必须有䞀䞪预装的版本。这对匀发QE环境䞋圚䞀䞪共享集矀䞊测试䞍同版本hadoop的匀发者尀其有甚。</p>
517<p>芁䜿甚预装的Hadoop䜠必须圚hodrc侭的<span class="codefrag">gridservice-hdfs</span>郚分和<span class="codefrag">gridservice-mapred</span>郚分指定<span class="codefrag">pkgs</span>选项。它必须指向集矀䞭所有节点䞊Hadoop的安装路埄。</p>
518<p>指定Tarball的语法劂䞋</p>
519<table class="ForrestTable" cellspacing="1" cellpadding="4">
520       
521<tr>
522         
523<td colspan="1" rowspan="1"><span class="codefrag">$ hod allocate -d cluster_dir -n number_of_nodes -t hadoop_tarball_location</span></td>
524       
525</tr>
526   
527</table>
528<p>䟋劂䞋面的呜什根据tarball<span class="codefrag">~/share/hadoop.tar.gz</span>分配Hadoop</p>
529<table class="ForrestTable" cellspacing="1" cellpadding="4">
530<tr>
531<td colspan="1" rowspan="1"><span class="codefrag">$ hod allocate -d ~/hadoop-cluster -n 10 -t ~/share/hadoop.tar.gz</span></td>
532</tr>
533</table>
534<p>类䌌地䜿甚hod脚本的语法劂䞋</p>
535<table class="ForrestTable" cellspacing="1" cellpadding="4">
536       
537<tr>
538         
539<td colspan="1" rowspan="1"><span class="codefrag">$ hod script -d cluster_directory -s scritp_file -n number_of_nodes -t hadoop_tarball_location</span></td>
540       
541</tr>
542   
543</table>
544<p>䞊面语法䞭指定的hadoop_tarball_location应指向从所有计算节点郜可以访问的共享文件系统的路埄。圓前HOD只支持挂蜜的NFS。</p>
545<p>
546<em>泚意</em>
547</p>
548<ul>
549   
550<li>䞺了获埗曎奜分发性胜建议Hadoop tarball只包含库䞎二进制文件䞍包含源代码或文档。</li>
551   
552<li>圓䜠垌望圚甚tarball方匏分配的集矀䞊执行䜜䞚䜠必须䜿甚兌容的Hadoop版本提亀䜠的䜜䞚。最奜的方匏是解压䜿甚Tarball䞭的版本。</li>
553   
554<li>䜠需芁确保圚tar分发包的conf目圕䞋没有Hadoop配眮文件hadoop-env.sh和hadoop-site.xml。劂果这些文件存圚并包含错误的倌集矀分配可胜䌚倱莥。
555</li>
556 
557</ul>
558<a name="N10214"></a><a name="%E4%BD%BF%E7%94%A8%E5%A4%96%E9%83%A8HDFS"></a>
559<h3 class="h4">䜿甚倖郚HDFS</h3>
560<a name="Using_an_external_HDFS" id="Using_an_external_HDFS"></a>
561<p>圚兞型的由HOD提䟛的Hadoop集矀䞭HDFS已经被静态地未䜿甚HOD讟眮奜。这胜䜿数据圚HOD提䟛的集矀被回收后还可以持久保存圚HDFS䞭。䞺䜿甚静态配眮的HDFS䜠的hodrc必须指向䞀䞪倖郚HDFS。具䜓就是圚hodrc的<span class="codefrag">gridservice-hdfs</span>郚分将䞋面选项讟眮䞺正确的倌</p>
562<table class="ForrestTable" cellspacing="1" cellpadding="4">
563<tr>
564<td colspan="1" rowspan="1">external = true</td>
565</tr>
566<tr>
567<td colspan="1" rowspan="1">host = HDFS NameNode䞻机名</td>
568</tr>
569<tr>
570<td colspan="1" rowspan="1">fs_port = HDFS NameNode端口</td>
571</tr>
572<tr>
573<td colspan="1" rowspan="1">info_port = HDFS NameNode web UI的端口</td>
574</tr>
575</table>
576<p>
577<em>泚意</em>䜠也可以从呜什行匀启这䞪选项。即䜠这样去䜿甚䞀䞪静态HDFS<br>
578   
579</p>
580<table class="ForrestTable" cellspacing="1" cellpadding="4">
581       
582<tr>
583         
584<td colspan="1" rowspan="1"><span class="codefrag">$ hod allocate -d cluster_dir -n number_of_nodes --gridservice-hdfs.external</span></td>
585       
586</tr>
587   
588</table>
589<p>劂果需芁HOD即可以䟛应HDFS集矀也可以䟛应Map/Reduce的集矀HOD。这需芁讟眮hodrc侭的<span class="codefrag">gridservice-hdfs</span>郚分的䞋列选项</p>
590<table class="ForrestTable" cellspacing="1" cellpadding="4">
591<tr>
592<td colspan="1" rowspan="1">external = false</td>
593</tr>
594</table>
595<a name="N10258"></a><a name="%E9%85%8D%E7%BD%AEHadoop%E7%9A%84%E9%80%89%E9%A1%B9"></a>
596<h3 class="h4">配眮Hadoop的选项</h3>
597<a name="Options_for_Configuring_Hadoop" id="Options_for_Configuring_Hadoop"></a>
598<p>HOD提䟛䞀䞪非垞方䟿的机制胜配眮它提䟛的Hadoop守技进皋和它圚客户端生成的hadoop-site.xml。通过圚HOD配眮文件䞭指定配眮参数或圚分配集矀时圚呜什行指定郜可做到这点。</p>
599<p>
600<strong>配眮Hadoop守技进皋</strong>
601</p>
602<a name="Configuring_Hadoop_Daemons" id="Configuring_Hadoop_Daemons"></a>
603<p>芁配眮Hadoop守技进皋䜠可以这么做</p>
604<p>对于Map/Reduce指定<span class="codefrag">gridservice-mapred</span>郚分的<span class="codefrag">server-params</span>项的指䞺䞀䞪以逗号分割的key-value对列衚。同配眮劚态HDFS集矀䞀样讟眮<span class="codefrag">gridservice-hdfs</span>郚分的<span class="codefrag">server-params</span>项。劂果这些参数应被标记成<em>final</em>将这些参数包含到盞应郚分的<span class="codefrag">final-server-params</span>项䞭。</p>
605<p>䟋劂</p>
606<table class="ForrestTable" cellspacing="1" cellpadding="4">
607<tr>
608<td colspan="1" rowspan="1"><span class="codefrag">server-params = mapred.reduce.parallel.copies=20,io.sort.factor=100,io.sort.mb=128,io.file.buffer.size=131072</span></td>
609</tr>
610<tr>
611<td colspan="1" rowspan="1"><span class="codefrag">final-server-params = mapred.child.java.opts=-Xmx512m,dfs.block.size=134217728,fs.inmemory.size.mb=128</span></td>
612 
613</tr>
614</table>
615<p>芁从呜什行指定选项䜠可以甚劂䞋语法</p>
616<p>配眮Map/Reduce守技进皋</p>
617<table class="ForrestTable" cellspacing="1" cellpadding="4">
618       
619<tr>
620         
621<td colspan="1" rowspan="1"><span class="codefrag">$ hod allocate -d cluster_dir -n number_of_nodes -Mmapred.reduce.parallel.copies=20 -Mio.sort.factor=100</span></td>
622       
623</tr>
624   
625</table>
626<p>圚䞊述䟋子䞭<em>mapred.reduce.parallel.copies</em>参数和<em>io.sort.factor</em>参数将䌚被添加到<span class="codefrag">server-params</span>䞭劂果已经圚<span class="codefrag">server-params</span>䞭存圚则它们䌚被芆盖。芁将这些参数指定成<em>final</em>类型䜠可以</p>
627<table class="ForrestTable" cellspacing="1" cellpadding="4">
628       
629<tr>
630         
631<td colspan="1" rowspan="1"><span class="codefrag">$ hod allocate -d cluster_dir -n number_of_nodes -Fmapred.reduce.parallel.copies=20 -Fio.sort.factor=100</span></td>
632       
633</tr>
634   
635</table>
636<p>䞍过应泚意final参数无法被呜什行改写的只有圚未指定的情圢才胜远加。</p>
637<p>配眮劚态䟛应的HDFS守技进皋的选项䞎歀盞䌌。甚-H替换-M以甚-S替换-F即可。</p>
638<p>
639<strong>配眮Hadoop的䜜䞚提亀客户端皋序</strong>
640</p>
641<a name="Configuring_Hadoop_Job_Submissio" id="Configuring_Hadoop_Job_Submissio"></a>
642<p>劂䞊所述圓allocate操䜜成功后<span class="codefrag">cluster_dir/hadoop-site.xml</span>将䌚生成其䞭䌚包含分配的集矀的JobTracker和NameNode的信息。这䞪配眮甚于向集矀提亀䜜䞚。HOD提䟛选项可将其它的hadoop配眮参数添加到该文件其语法劂䞋</p>
643<table class="ForrestTable" cellspacing="1" cellpadding="4">
644       
645<tr>
646         
647<td colspan="1" rowspan="1"><span class="codefrag">$ hod allocate -d cluster_dir -n number_of_nodes -Cmapred.userlog.limit.kb=200 -Cmapred.child.java.opts=-Xmx512m</span></td>
648       
649</tr>
650   
651</table>
652<p>䞊䟋䞭<em>mapred.userlog.limit.kb</em>和<em>mapred.child.java.opts</em>䌚被添加到hod产生的hadoop-site.xml䞭。</p>
653<a name="N102EA"></a><a name="%E6%9F%A5%E7%9C%8BHadoop%E7%9A%84Web-UI"></a>
654<h3 class="h4">查看Hadoop的Web-UI</h3>
655<a name="Viewing_Hadoop_Web_UIs" id="Viewing_Hadoop_Web_UIs"></a>
656<p>HOD的allocate操䜜䌚打印出JobTracker和NameNode的Web UI的URL。䟋劂</p>
657<table class="ForrestTable" cellspacing="1" cellpadding="4">
658<tr>
659<td colspan="1" rowspan="1"><span class="codefrag">$ hod allocate -d ~/hadoop-cluster -n 10 -c ~/hod-conf-dir/hodrc</span>
660<br>
661   
662<span class="codefrag">INFO - HDFS UI on http://host242.foo.com:55391</span>
663<br>
664   
665<span class="codefrag">INFO - Mapred UI on http://host521.foo.com:54874</span>
666    </td>
667</tr>
668</table>
669<p>䞊面提到的<em>info</em>操䜜可以给䜠同样的信息。</p>
670<a name="N1030C"></a><a name="%E6%94%B6%E9%9B%86%E5%92%8C%E6%9F%A5%E7%9C%8BHadoop%E6%97%A5%E5%BF%97"></a>
671<h3 class="h4">收集和查看Hadoop日志</h3>
672<a name="Collecting_and_Viewing_Hadoop_Lo" id="Collecting_and_Viewing_Hadoop_Lo"></a>
673<p>芁获取圚某些分配节点䞊运行的守技进皋的Hadoop日志</p>
674<ul>
675   
676<li>登圕感兎趣的节点。劂果䜠想查看JobTracker或者NameNode的日志<em>list</em>和<em>info</em>操䜜胜告诉䜠这些进皋圚那些节点䞊运行。</li>
677   
678<li>获取感兎趣的守技进皋的进皋信息䟋劂<span class="codefrag">ps ux | grep TaskTracker</span></li>
679   
680<li>圚这些进皋信息䞭查扟变量<span class="codefrag">-Dhadoop.log.dir</span>的倌。通垞是hod配眮文件里<span class="codefrag">hodring.temp-dir</span>目圕的䞀䞪子目圕 。</li>
681   
682<li>切换到<span class="codefrag">hadoop.log.dir</span>目圕以查看守技进皋日志和甚户日志。</li>
683 
684</ul>
685<p>HOD也提䟛了䞀䞪机制胜让䜠圚集矀回收后将日志收集存攟到文件系统或者䞀䞪圚倖郚配眮的HDFS䞭。这样的话圚䜜䞚完成节点回收后䜠还可以看这些日志。芁做到这点像䞋面䞀样䞺log-destination-uri指定䞀䞪URI</p>
686<table class="ForrestTable" cellspacing="1" cellpadding="4">
687<tr>
688<td colspan="1" rowspan="1"><span class="codefrag">log-destination-uri= hdfs://host123:45678/user/hod/logs</span>或者</td>
689</tr>
690   
691<tr>
692<td colspan="1" rowspan="1"><span class="codefrag">log-destination-uri= file://path/to/store/log/files</span></td>
693</tr>
694   
695</table>
696<p>圚䞊面指定的的根目圕䞭HOD䌚创建路埄user_name/torque_jobid把䜜䞚涉及到的每䞪节点䞊的日志文件gzip压猩存攟圚里面。</p>
697<p>泚意芁圚HDFS䞊存傚这些文件䜠埗将<span class="codefrag">hodring.pkgs</span>项配眮䞺和刚才提到的HDFS兌容的版本。吊则HOD䌚尝试䜿甚它䟛应Hadoop集矀时甚到的Hadoop版本。</p>
698<a name="N10355"></a><a name="%E9%97%B2%E7%BD%AE%E9%9B%86%E7%BE%A4%E7%9A%84%E8%87%AA%E5%8A%A8%E5%9B%9E%E6%94%B6"></a>
699<h3 class="h4">闲眮集矀的自劚回收</h3>
700<a name="Auto_deallocation_of_Idle_Cluste" id="Auto_deallocation_of_Idle_Cluste"></a>
701<p>HOD䌚自劚回收圚䞀段时闎内没有运行Hadoop䜜䞚的集矀。每次的HOD分配䌚垊有䞀䞪监控讟斜䞍停地检查Hadoop䜜䞚的执行。劂果䟊测到圚䞀定时闎内没Hadoop䜜䞚圚执行它就回收这䞪集矀释攟那些未被有效利甚的节点。</p>
702<p>
703<em>泚意</em>圓集矀被回收时<em>集矀目圕</em>没有被自劚枅空。甚户须通过䞀䞪正匏的<em>deallcocate</em>操䜜枅理它。</p>
704<a name="N1036B"></a><a name="%E6%8C%87%E5%AE%9A%E9%A2%9D%E5%A4%96%E7%9A%84%E4%BD%9C%E4%B8%9A%E5%B1%9E%E6%80%A7"></a>
705<h3 class="h4">指定额倖的䜜䞚属性</h3>
706<a name="Specifying_Additional_Job_Attrib" id="Specifying_Additional_Job_Attrib"></a>
707<p>HOD允讞甚户䞺䞀䞪Torque䜜䞚指定䞀䞪时钟时闎和䞀䞪名称或者标题。 </p>
708<p>时钟时闎是对Torque䜜䞚有效时闎的䞀䞪䌰计。这䞪时闎过期后Torque将自劚删陀这䞪䜜䞚释攟其节点。指定这䞪时钟时闎还胜垮助䜜䞚调床皋序曎奜的安排䜜䞚提高对集矀资源的䜿甚率。</p>
709<p>指定时钟时闎的语法劂䞋</p>
710<table class="ForrestTable" cellspacing="1" cellpadding="4">
711       
712<tr>
713         
714<td colspan="1" rowspan="1"><span class="codefrag">$ hod allocate -d cluster_dir -n number_of_nodes -l time_in_seconds</span></td>
715       
716</tr>
717   
718</table>
719<p>Torque䜜䞚的名称或标题胜给甚户以友奜的䜜䞚标识。每次展瀺Torque䜜䞚的属性的时候这䞪字笊䞲就䌚出现包括<span class="codefrag">qstat</span>呜什。</p>
720<p>指定名称或标题的语法劂䞋</p>
721<table class="ForrestTable" cellspacing="1" cellpadding="4">
722       
723<tr>
724         
725<td colspan="1" rowspan="1"><span class="codefrag">$ hod allocate -d cluster_dir -n number_of_nodes -N name_of_job</span></td>
726       
727</tr>
728   
729</table>
730<p>
731<em>泚意</em>由于底层Torque资源管理噚的限制䞍以字母匀倎或者包含空栌的名字将富臎䜜䞚倱莥。倱莥信息䌚衚明问题存圚于指定的䜜䞚名称䞭。</p>
732<a name="N103A2"></a><a name="%E6%8D%95%E8%8E%B7HOD%E5%9C%A8Torque%E4%B8%AD%E7%9A%84%E9%80%80%E5%87%BA%E7%A0%81"></a>
733<h3 class="h4">捕获HOD圚Torque䞭的退出码</h3>
734<a name="Capturing_HOD_exit_codes_in_Torq" id="Capturing_HOD_exit_codes_in_Torq"></a>
735<p>HOD退出码出现圚Torque的exit_status字段䞭。这有助于䜿甚者和系统管理员区分成功的HOD执行和倱莥的HOD执行。劂果分配成功䞔所有Hadoop䜜䞚圚所分配的集矀䞊正确的执行退出码䞺0。劂果分配倱莥或者郚分hadoop䜜䞚圚分配集矀䞊运行倱莥退出码非0。䞋衚列出了可胜出现的退出码。<em>泚意只有所䜿甚的Hadoop版本是0.16或以䞊时Hadoop䜜䞚状态才可以被捕获。</em>
736</p>
737<table class="ForrestTable" cellspacing="1" cellpadding="4">
738   
739     
740<tr>
741       
742<td colspan="1" rowspan="1">退出码</td>
743        <td colspan="1" rowspan="1">含义</td>
744     
745</tr>
746     
747<tr>
748       
749<td colspan="1" rowspan="1"> 6 </td>
750        <td colspan="1" rowspan="1">Ringmaster故障</td>
751     
752</tr>
753     
754<tr>
755       
756<td colspan="1" rowspan="1"> 7 </td>
757        <td colspan="1" rowspan="1"> DFS故障</td>
758     
759</tr>
760     
761<tr>
762       
763<td colspan="1" rowspan="1"> 8 </td>
764        <td colspan="1" rowspan="1"> Job tracker故障</td>
765     
766</tr>
767     
768<tr>
769       
770<td colspan="1" rowspan="1"> 10 </td>
771        <td colspan="1" rowspan="1"> é›†çŸ€æ­»äº¡</td>
772     
773</tr>
774     
775<tr>
776       
777<td colspan="1" rowspan="1"> 12 </td>
778        <td colspan="1" rowspan="1"> é›†çŸ€å·²åˆ†é… </td>
779     
780</tr>
781     
782<tr>
783       
784<td colspan="1" rowspan="1"> 13 </td>
785        <td colspan="1" rowspan="1"> HDFS死亡</td>
786     
787</tr>
788     
789<tr>
790       
791<td colspan="1" rowspan="1"> 14 </td>
792        <td colspan="1" rowspan="1"> Mapred死亡</td>
793     
794</tr>
795     
796<tr>
797       
798<td colspan="1" rowspan="1"> 16 </td>
799        <td colspan="1" rowspan="1">集矀䞭所有的Map/Reduce䜜䞚倱莥。查看hadoop日志了解曎倚细节。</td>
800     
801</tr>
802     
803<tr>
804       
805<td colspan="1" rowspan="1"> 17 </td>
806        <td colspan="1" rowspan="1">集矀䞭郚分的Map/Reduce䜜䞚倱莥。查看hadoop日志了解曎倚细节。</td>
807     
808</tr>
809 
810</table>
811<a name="N10434"></a><a name="%E5%91%BD%E4%BB%A4%E8%A1%8C"></a>
812<h3 class="h4">呜什行</h3>
813<a name="Command_Line" id="Command_Line"></a>
814<p>HOD呜什行的通甚的语法劂䞋<br>
815     
816<em>hod &lt;operation&gt; [ARGS] [OPTIONS]<br>
817</em>
818      允讞的操䜜有&lsquo;allocate&rsquo;&lsquo;deallocate&rsquo;&lsquo;info&rsquo;&lsquo;list&rsquo;&lsquo;script&rsquo;以及&lsquo;help&rsquo;。芁获取某特定操䜜的垮助䜠可以执行<span class="codefrag">hod help &lt;operation&gt;</span>。芁查看可胜的操䜜䜠可以执行<span class="codefrag">hod help options</span>。</p>
819<p>
820<em>allocate</em>
821<br>
822     
823<em>甚法hod allocate -d cluster_dir -n number_of_nodes [OPTIONS]</em>
824<br>
825      分配䞀䞪指定节点数目的集矀把分配信息存攟圚cluster_dir方䟿后续<span class="codefrag">hadoop</span>呜什䜿甚。泚意<span class="codefrag">cluster_dir</span>必须圚运行该呜什前已经存圚。</p>
826<p>
827<em>list</em>
828<br>
829     
830<em>甚法hod list [OPTIONS]</em>
831<br>
832      列䞟出甚户分配的所有集矀。提䟛的信息包括集矀对应的的Torque䜜䞚标识存傚分配信息的集矀目圕Map/Reduce守技进皋是吊存掻。</p>
833<p>
834<em>info</em>
835<br>
836     
837<em>甚法hod info -d cluster_dir [OPTIONS]</em>
838<br>
839      列䞟集矀分配信息存攟于某指定集矀目圕的集矀信息。</p>
840<p>
841<em>deallocate</em>
842<br>
843     
844<em>甚法hod deallocate -d cluster_dir [OPTIONS]</em>
845<br>
846      回收集矀分配信息存攟于某指定集矀目圕的集矀。</p>
847<p>
848<em>script</em>
849<br>
850     
851<em>甚法hod script -s script_file -d cluster_directory -n number_of_node [OPTIONS]</em>
852<br>
853      甹HOD<em>script</em>操䜜执行䞀䞪hadoop脚本。圚给定数目的节点䞊提䟛Hadoop圚提亀的节点执行这䞪脚本并圚脚本执行结束后回收集矀。</p>
854<p>
855<em>help</em>
856<br>
857     
858<em>甚法hod help [operation | 'options']</em>
859<br>
860      未指定参数时<span class="codefrag">hod help</span>给出甚法以及基本选项等同于<span class="codefrag">hod --help</span> ïŒˆè§äž‹æ–‡ïŒ‰ã€‚圓指定参数&lsquo;options&rsquo;时星瀺hod的基本选项。圓指定operation时它䌚星瀺出该特定operation的甚法和盞应的描述。䟋劂垌望了解allocate操䜜䜠可以执行<span class="codefrag">hod help allocate</span>
861</p>
862<p>陀䞊面的操䜜倖HOD还胜接受䞋列呜什行选项。</p>
863<p>
864<em>--help</em>
865<br>
866      打印出甚法和基本选项的垮助信息。</p>
867<p>
868<em>--verbose-help</em>
869<br>
870      hodrc文件䞭所有的配眮项均可通过呜什行䌠递䜿甚语法<span class="codefrag">--section_name.option_name[=vlaue]</span>。这种方匏䞋呜什行䌠递的参数䌚芆盖hodrc䞭的配眮项。verbose-help呜什䌚列出hodrc文件䞭党郚可甚项。这也是䞀䞪了解配眮选项含义的奜方法。</p>
871<p>
872<a href="#Options_Configuring_HOD">䞋䞀郚分</a>有倚数重芁的hod配眮项的描述。对于基本选项䜠可以通过<span class="codefrag">hod help options</span>了解对于所有的hod配眮䞭的可胜选项䜠可以参看<span class="codefrag">hod --verbose-help</span>的蟓出。了解所有选项的描述请参看<a href="hod_config_guide.html">配眮指南</a>。</p>
873<a name="N104BB"></a><a name="HOD%E9%85%8D%E7%BD%AE%E9%80%89%E9%A1%B9"></a>
874<h3 class="h4"> HOD配眮选项</h3>
875<a name="Options_Configuring_HOD" id="Options_Configuring_HOD"></a>
876<p> åŠ‚䞊所述HOD的配眮是通过系统管理员讟眮配眮文件完成。这是䞀䞪INI风栌的配眮文件文件分成倚䞪段每䞪段包含䞀些配眮项。这些段分别和HOD的进皋clientringmasterhodringmapreduce或hdfs盞关。每䞀䞪配眮项有选项名和倌构成。</p>
877<p>有䞀种方匏可让甚户芆盖默讀配眮文件里的讟定</p>
878<ul>
879   
880<li>圚每条呜什前甚户可以向HOD提䟛自己的配眮文件䜿甚<span class="codefrag">-c</span>选项。</li>
881   
882<li>甚户可以圚呜什行指定HOD的配眮选项芆盖正䜿甚的配眮文件䞭提䟛的倌。</li>
883 
884</ul>
885<p>这䞀节介绍䞀些最垞甚的配眮项。䞺了指定方䟿这些垞甚选项通垞䌚有䞀䞪<em>短</em>选项名。所有其它选项可胜甚随后介绍的<em>长</em>选项指定。</p>
886<p>
887<em>-c config_file</em>
888<br>
889  提䟛芁䜿甚的配眮文件。可䞎其他任䜕的HOD选项䞀起䜿甚。歀倖可定义<span class="codefrag">HOD_CONF_DIR</span>环境变量䞺䞀䞪包含<span class="codefrag">hodrc</span>文件的目圕避免每条HOD呜什郜芁指定配眮文件。</p>
890<p>
891<em>-d cluster_dir</em>
892<br>
893  倧倚数hod操䜜郜芁求这䞪选项。劂<a href="#Create_a_Cluster_Directory">歀倄</a>描述的<em>集矀目圕</em>是圚本地文件系统䞊的䞀䞪目圕<span class="codefrag">hod</span>将它分配集矀的盞应Hadoop配眮产生圚这䞪目圕里即<em>hadoop-site.xml</em>。䜿甚-d或者--hod.clusterdir将这䞪参数䌠递给<span class="codefrag">hod</span>操䜜劂果目圕䞍存圚HOD䌚自劚创建该目圕。集矀分配奜后甚户可圚这䞪集矀䞊通过指定hadoop--config䞺集矀目圕来执行Hadoop䜜䞚。</p>
894<p>
895<em>-n number_of_nodes</em>
896<br>
897  hod allocation操䜜和script操䜜芁求这䞪选项。衚瀺芁分配的节点数。</p>
898<p>
899<em>-s script-file</em>
900<br>
901  脚本操䜜时需芁甚于指定芁执行的脚本文件。</p>
902<p>
903<em>-b 1|2|3|4</em>
904<br>
905  启甚给定的调试级别。胜䞎其他HOD选项䞀起䜿甚。级别4最䞺诊尜。</p>
906<p>
907<em>-t hadoop_tarball</em>
908<br>
909  从指定tar.gz文件提䟛Hadoop分发。歀选项倌只适甚于<em>allocate</em>操䜜。䞺获埗曎奜的分发性胜区烈掚荐创建Hadoop tarball<em>前</em>删陀其䞭的源代码或文档。</p>
910<p>
911<em>-N job-name</em>
912<br>
913  内郚䜿甚的资源管理䜜䞚名。比劂对于Torque䜜䞺资源管理噚的情况䌚被解释成<span class="codefrag">qsub -N</span>选项䜿甚<span class="codefrag">qstat</span>呜什时可以看到这䞪䜜䞚名。</p>
914<p>
915<em>-l wall-clock-time</em>
916<br>
917  甚户垌望圚分配的集矀䜜䞚的时闎总量。它被䌠递给HOD底层的资源管理噚甚于曎有效地调床和利甚集矀。泚意对于Torque的情圢这䞪时闎到期后集矀䌚圚被自劚回收。</p>
918<p>
919<em>-j java-home</em>
920<br>
921  JAVA_HOME环境变量里指定的路埄。圚<em>script</em>操䜜䞭䜿甚。HOD将JAVA_HOME环境变量讟眮䞺这䞪倌并圚歀环境䞋启劚甚户脚本。</p>
922<p>
923<em>-A account-string</em>
924<br>
925  䌠递给后台资源管理噚的栞计信息。</p>
926<p>
927<em>-Q queue-name</em>
928<br>
929  接受䜜䞚提亀的后台资源管理噚䞭队列的名称。</p>
930<p>
931<em>-Mkey1=value1 -Mkey2=value2</em>
932<br>
933  䞺䟛应的Map/Reduce守技进皋JobTracker以及TaskTracker提䟛配眮参数。圚集矀节点䞊䌚根据这些倌产生䞀䞪hadoop-site.xml。 <br>
934 
935<em>泚意</em>倌䞭的䞋列字笊空栌逗号等号分号需芁䜿甚&lsquo;\&rsquo;蜬义 䞔攟眮圚匕号䞭。䜠也可以䜿甚&lsquo;\&rsquo;来蜬义&lsquo;\&rsquo;。</p>
936<p>
937<em>-Hkey1=value1 -Hkey2=value2</em>
938<br>
939  䞺䟛应的HDFS守技进皋NameNode以及DataNode提䟛配眮参数。圚集矀节点䞊䌚根据这些倌产生䞀䞪hadoop-site.xml。 <br>
940 
941<em>泚意</em>倌䞭的䞋列字笊空栌逗号等号分号需芁䜿甚&lsquo;\&rsquo;蜬义 䞔攟眮圚匕号䞭。䜠也可以䜿甚&lsquo;\&rsquo;来蜬义&lsquo;\&rsquo;。</p>
942<p>
943<em>-Ckey1=value1 -Ckey2=value2</em>
944<br>
945  䞺提亀䜜䞚的客户端提䟛配眮参数。圚提亀节点䞊䌚根据这些倌产生䞀䞪hadoop-site.xml。<br>
946 
947<em>泚意</em>参数倌可以䜿甚以䞋笊号空栌逗号等号需芁&lsquo;\&rsquo;做蜬义笊的分号䞊述笊号芁甚匕号进行分割。䜠也可以䜿甚&lsquo;\&rsquo;蜬义&lsquo;\&rsquo;。 </p>
948<p>
949<em>--section-name.option-name=value</em>
950<br>
951  这是甚<em>长</em>栌匏提䟛配眮选项的方法。比劂䜠可以<em>--hod.script-wait-time=20</em>
952</p>
953</div>
954
955<a name="N10572"></a><a name="%E6%95%85%E9%9A%9C%E6%8E%92%E9%99%A4"></a>
956<h2 class="h3">故障排陀</h2>
957<div class="section">
958<a name="Troubleshooting" id="Troubleshooting"></a>
959<p>䞋节列出了䞀些甚户䜿甚HOD时可胜碰到的倚发错误的条件以及解决问题的方法</p>
960<a name="N1057D"></a><a name="%E5%88%86%E9%85%8D%E6%93%8D%E4%BD%9C%E6%97%B6"></a>
961<h3 class="h4">分配操䜜时hod挂起</h3>
962<a name="_hod_Hangs_During_Allocation" id="_hod_Hangs_During_Allocation"></a><a name="hod_Hangs_During_Allocation" id="hod_Hangs_During_Allocation"></a>
963<p>
964<em>可胜原因</em>HOD或Hadoop的䞀䞪组件启劚倱莥。这种情况䞋<span class="codefrag">hod</span>呜什䌚圚䞀段时闎通垞是2-3分钟后返回退出码是错误代码郚分定义的错误码7或8。参考该郚分以获埗曎倚细节。 </p>
965<p>
966<em>可胜原因</em>䜿甚tarball暡匏申请了倧规暡的集矀。有时由于眑络莟蜜或者是分配节点䞊的莟蜜tarball分发过皋可胜䌚慢的比蟃明星需芁几分钟才胜响应。等埅呜什完成。还可以检查䞀䞋tarball看是吊䞍含Hadoop源码或文档。</p>
967<p>
968<em>可胜原因</em>Torque盞关的问题。劂果原因䞎Torque盞关<span class="codefrag">hod</span>呜什5分钟内是䞍䌚返回的。圚调试暡匏䞋运行<span class="codefrag">hod</span>䜠䌚发现<span class="codefrag">qstat</span>呜什被重倍执行。圚及䞀䞪shell䞭执行<span class="codefrag">qstat</span>呜什䜠䌚发现䜜䞚倄于<span class="codefrag">Q</span>排队状态。这通垞诎明Torque出现了问题。可胜原因有䞪别节点宕机或者增加了新节点䜆Torque䞍知。通垞需芁系统管理员垮助解决歀问题。</p>
969<a name="N105AB"></a><a name="%E5%9B%9E%E6%94%B6%E6%93%8D%E4%BD%9C%E6%97%B6"></a>
970<h3 class="h4">回收操䜜时hod挂起</h3>
971<a name="_hod_Hangs_During_Deallocation" id="_hod_Hangs_During_Deallocation"></a><a name="hod_Hangs_During_Deallocation" id="hod_Hangs_During_Deallocation"></a>
972<p>
973<em>可胜原因</em>Torque盞关的问题通垞是Torque server䞊的莟蜜蟃倧或者是分配的集矀非垞倧。䞀般来诎䜠唯䞀胜做的是等埅呜什执行完成。</p>
974<a name="N105BD"></a><a name="%E5%A4%B1%E8%B4%A5%E6%97%B6%E7%9A%84%E9%94%99%E8%AF%AF%E4%BB%A3%E7%A0%81%E5%92%8C%E9%94%99%E8%AF%AF%E4%BF%A1%E6%81%AF"></a>
975<h3 class="h4">hod倱莥时的错误代码和错误信息</h3>
976<a name="hod_Fails_With_an_error_code_and" id="hod_Fails_With_an_error_code_and"></a><a name="_hod_Fails_With_an_error_code_an" id="_hod_Fails_With_an_error_code_an"></a>
977<p>劂果<span class="codefrag">hod</span>呜什的退出码䞍是<span class="codefrag">0</span>参考䞋面的退出代码衚确定歀情况发生的原因和盞应的调试方法。</p>
978<p>
979<strong>错误代码</strong>
980</p>
981<a name="Error_Codes" id="Error_Codes"></a>
982<table class="ForrestTable" cellspacing="1" cellpadding="4">
983   
984     
985<tr>
986       
987<th colspan="1" rowspan="1">错误代码</th>
988        <th colspan="1" rowspan="1">含义</th>
989        <th colspan="1" rowspan="1">可胜原因及补救方法</th>
990     
991</tr>
992     
993<tr>
994       
995<td colspan="1" rowspan="1"> 1 </td>
996        <td colspan="1" rowspan="1">配眮错误 </td>
997        <td colspan="1" rowspan="1">hodrc䞭的参数错误或者其他䞎HOD配眮盞关的错误。歀类情况䞋错误信息已经足借垮䜠发现和解决问题。</td>
998     
999</tr>
1000     
1001<tr>
1002       
1003<td colspan="1" rowspan="1"> 2 </td>
1004        <td colspan="1" rowspan="1">无效操䜜</td>
1005        <td colspan="1" rowspan="1">执行<span class="codefrag">hod help</span>查看有效的操䜜列衚。</td>
1006     
1007</tr>
1008     
1009<tr>
1010       
1011<td colspan="1" rowspan="1"> 3 </td>
1012        <td colspan="1" rowspan="1">无效操䜜参数</td>
1013        <td colspan="1" rowspan="1">执行<span class="codefrag">hod help operation</span>查看特定操䜜的甚法。</td>
1014     
1015</tr>
1016     
1017<tr>
1018       
1019<td colspan="1" rowspan="1"> 4 </td>
1020        <td colspan="1" rowspan="1">调床倱莥</td>
1021        <td colspan="1" rowspan="1"> 1. 请求分配了过倚的资源。执行<span class="codefrag">checknodes cluster_name</span>查看是吊有足借倚的可甚节点。<br>
1022             2. 请求的资源超出了资源管理噚的限制。<br>
1023             3. Torque配眮错误Torque可执行文件路埄配眮错误或者其它Torque盞关问题。联系系统管理员。</td>
1024     
1025</tr>
1026     
1027<tr>
1028       
1029<td colspan="1" rowspan="1"> 5 </td>
1030        <td colspan="1" rowspan="1">执行䜜䞚倱莥</td>
1031        <td colspan="1" rowspan="1"> 1. Torque䜜䞚被倖郚删陀。执行Torque <span class="codefrag">qstat</span>呜什查看是吊有䜜䞚倄于<span class="codefrag">R</span>运行状态。劂果没有尝试重新运行HOD。<br>
1032          2. Torque的问题诞劂服务噚暂时性宕机或者无响应。联系系统管理员。 <br>
1033          3. 系统管理员可胜配眮了垐号栞实并䞔䞀䞪非法的垐号被指定。请联系系统管理员。 </td>
1034     
1035</tr>
1036     
1037<tr>
1038       
1039<td colspan="1" rowspan="1"> 6 </td>
1040        <td colspan="1" rowspan="1">Ringmaster故障</td>
1041        <td colspan="1" rowspan="1"> HOD䌚打印信息"Cluster could not be allocated because of the following errors on the ringmaster host &lt;hostname&gt;"。实际的错误信息可胜指瀺䞋列情圢䞭的䞀种<br>
1042          1. 运行ringmaster的节点配眮䞍合法错误信息䞭的hostname䌚指明具䜓的机噚。<br>
1043          2. <span class="codefrag">ringmaster</span>段的配眮无效<br>
1044          3. <span class="codefrag">gridservice-mapred或者gridservice-hdfs</span>段䞭<span class="codefrag">pkgs</span>项的配眮无效<br>
1045          4. 无效的hadoop tarball或者tarballäž­conf目圕䞋存圚无效的配眮文件<br>
1046          5. Hadoop侭的MapReduce䞎倖郚HDFS版本䞍匹配。<br>
1047          Torque <span class="codefrag">qstat</span>呜什埈可胜䌚星瀺䞀䞪出于<span class="codefrag">C</span>(Completed已完成)状态的䜜䞚。<br>
1048          䜠可以登圕到HOD倱莥信息䞭给出的ringmaster䞻机根据错误信息的提瀺解决问题。劂果错误信息没有给出完敎的信息ringmaster日志也可胜垮助扟到问题的根源。参考䞋面<em>定䜍Ringmaster日志</em>䞀节了解曎倚信息。</td>
1049     
1050</tr>
1051     
1052<tr>
1053       
1054<td colspan="1" rowspan="1"> 7 </td>
1055        <td colspan="1" rowspan="1"> DFS故障</td>
1056        <td colspan="1" rowspan="1"> åœ“HOD由于DFS故障或者Job tracker倱莥错误码8䞋文有介绍分配倱莥时它䌚打印错误信息 "Hodring at &lt;hostname&gt; failed with following errors:"并给出真正的错误信息这䞪信息可胜衚明䞋列情圢䞭的䞀种<br>
1057          1. 启劚Hadoop集矀时出现问题。通垞错误信息䌚衚明之前提到的䞻机出现错误的真正原因。䜠也芁检查HOD配眮䞭文件䞭Hadoop盞关的配眮。按䞊面<em>收集和查看Hadoop日志</em>䞀节䞭介绍的方法查看Hadoop的日志。<br>
1058          2. 运行hodring的节点䞊的配眮无效错误信息䞭的hostname䌚指明机噚<br>
1059          3. hodrcäž­<span class="codefrag">hodring</span>段的配眮无效。<span class="codefrag">ssh</span>到错误信息䞭提到的节点圚hdring日志䞭grep<span class="codefrag">ERROR</span>或<span class="codefrag">CRITICAL</span>。参考䞋面<em>定䜍Hodring日志</em>郚分获取曎倚信息。<br>
1060          4. 指定了无效的tarball可胜未正确打包。<br>
1061          5. 无法䞎倖郚配眮的HDFS通信。<br>
1062          圓DFS或Job tracker出现故障时䜠可以登圕到HOD倱莥信息䞭提到的䞻机䞊进行debug。解决问题的时候䜠也应通过查看ringmaster日志䞭的其它日志信息来检查其他机噚是吊圚启劚jobtracker/namenode时也出现了问题而䞍只是检查错误信息䞭提到的䞻机。其他机噚也可胜发生问题是因䞺HOD䌚按照配眮项<a href="hod_config_guide.html#3.4+ringmaster%E7%9A%84%E9%85%8D%E7%BD%AE%E9%A1%B9">ringmaster.max-master-failures</a>的讟眮圚倚䞪机噚䞊连续尝试和启劚hadoop守技进皋。曎倚关于ringmaster日志的信息请参考䞋文<em>定䜍Ringmaster日志</em>。
1063</td>
1064     
1065</tr>
1066     
1067<tr>
1068       
1069<td colspan="1" rowspan="1"> 8 </td>
1070        <td colspan="1" rowspan="1">Job tracker故障</td>
1071        <td colspan="1" rowspan="1">侎<em>DFS故障</em>情圢䞭的原因类䌌。</td>
1072     
1073</tr>
1074     
1075<tr>
1076       
1077<td colspan="1" rowspan="1"> 10 </td>
1078        <td colspan="1" rowspan="1">集矀死亡</td>
1079        <td colspan="1" rowspan="1">1. 集矀因䞺蟃长时闎空闲被自劚回收。<br>
1080          2. 集矀因系统管理员或者甚户指定的时钟时闎到期被自劚回收。<br>
1081          3. 无法䞎成功分配的JobTracker以及HDFS的NameNode通信。回收集矀重新分配。</td>
1082     
1083</tr>
1084     
1085<tr>
1086       
1087<td colspan="1" rowspan="1"> 12 </td>
1088        <td colspan="1" rowspan="1">集矀已分配</td>
1089        <td colspan="1" rowspan="1">指定的集矀目圕是已被甚于先前的分配操䜜,䞔尚未回收。指定及倖䞀䞪目圕或者先回收先前分配的。</td>
1090     
1091</tr>
1092     
1093<tr>
1094       
1095<td colspan="1" rowspan="1"> 13 </td>
1096        <td colspan="1" rowspan="1">HDFS死亡</td>
1097        <td colspan="1" rowspan="1">无法䞎HDFS的NameNode通信。HDFS的NameNode停掉了。</td>
1098     
1099</tr>
1100     
1101<tr>
1102       
1103<td colspan="1" rowspan="1"> 14 </td>
1104        <td colspan="1" rowspan="1">Mapred死亡</td>
1105        <td colspan="1" rowspan="1"> 1. 集矀因䞺长时闎闲眮被自劚回收。 <br>
1106          2. 集矀因系统管理员或甚户指定的时钟时闎到期被自劚回收。<br>
1107          3. 无法䞎Map/Reduce的JobTracker通信。JobTracker节点宕机。 <br>
1108         
1109</td>
1110     
1111</tr>
1112     
1113<tr>
1114       
1115<td colspan="1" rowspan="1"> 15 </td>
1116        <td colspan="1" rowspan="1">集矀未分配</td>
1117        <td colspan="1" rowspan="1">䞀䞪需芁已分配集矀的操䜜被指以䞀䞪没有状态信息的集矀目圕。</td>
1118     
1119</tr>
1120   
1121     
1122<tr>
1123       
1124<td colspan="1" rowspan="1">任意非0退出代码</td>
1125        <td colspan="1" rowspan="1">HOD脚本错误</td>
1126        <td colspan="1" rowspan="1">劂果䜿甚了hod的脚本选项埈可胜这䞪退出代码是脚本的退出吗。䞍幞的是这可胜䌚䞎hod自己的退出码冲突。䞺垮助甚户区分䞀者劂果脚本返回了䞀䞪退出码hod将歀退出码写到了集矀目圕䞋的script.exitcode文件。䜠可以cat这䞪文件以确定脚本的退出码。劂果文件䞍存圚则退出代码是hod呜什的退出码。</td> 
1127     
1128</tr>
1129 
1130</table>
1131<a name="N10752"></a><a name="Hadoop+DFSClient%E8%AD%A6%E5%91%8ANotReplicatedYetException%E4%BF%A1%E6%81%AF"></a>
1132<h3 class="h4">Hadoop DFSClientè­Šå‘ŠNotReplicatedYetException信息</h3>
1133<p>有时圓䜠申请到䞀䞪HOD集矀后马䞊尝试䞊䌠文件到HDFS时DFSClient䌚譊告NotReplicatedYetException。通垞䌚有䞀䞪这样的信息 - </p>
1134<table class="ForrestTable" cellspacing="1" cellpadding="4">
1135<tr>
1136<td colspan="1" rowspan="1"><span class="codefrag">WARN
1137hdfs.DFSClient: NotReplicatedYetException sleeping &lt;filename&gt; retries
1138left 3</span></td>
1139</tr>
1140<tr>
1141<td colspan="1" rowspan="1"><span class="codefrag">08/01/25 16:31:40 INFO hdfs.DFSClient:
1142org.apache.hadoop.ipc.RemoteException: java.io.IOException: File
1143&lt;filename&gt; could only be replicated to 0 nodes, instead of
11441</span></td>
1145</tr>
1146</table>
1147<p> åœ“䜠向䞀䞪DataNodes正圚和NameNode联络的集矀䞊䌠文件的时候这种现象就䌚发生。圚䞊䌠新文件到HDFS之前倚等埅䞀段时闎就可以解决这䞪问题因䞺这䜿埗足借倚的DataNode启劚并䞔联络䞊了NameNode。</p>
1148<a name="N1076A"></a><a name="%E6%88%90%E5%8A%9F%E5%88%86%E9%85%8D%E7%9A%84%E9%9B%86%E7%BE%A4%E4%B8%8A%E6%97%A0%E6%B3%95%E8%BF%90%E8%A1%8CHadoop%E4%BD%9C%E4%B8%9A"></a>
1149<h3 class="h4">成功分配的集矀䞊无法运行Hadoop䜜䞚</h3>
1150<a name="Hadoop_Jobs_Not_Running_on_a_Suc" id="Hadoop_Jobs_Not_Running_on_a_Suc"></a>
1151<p>这䞀情景通垞发生圚这种情圢䞀䞪集矀已经分配并䞔䞀段时闎内倄于䞍掻跃状态之后hadoop䜜䞚试囟圚这䞪集矀䞊运行。Hadoop䜜䞚䌚倱莥产生劂䞋匂垞信息</p>
1152<table class="ForrestTable" cellspacing="1" cellpadding="4">
1153<tr>
1154<td colspan="1" rowspan="1"><span class="codefrag">08/01/25 16:31:40 INFO ipc.Client: Retrying connect to server: foo.bar.com/1.1.1.1:53567. Already tried 1 time(s).</span></td>
1155</tr>
1156</table>
1157<p>
1158<em>可胜原因</em>盞圓长的时闎内无hadoop䜜䞚运行集矀䌚劂<em>闲眮集矀的自劚回收</em>䞀节介绍的那样被自劚回收。回收该集矀然后重新分配。</p>
1159<p>
1160<em>可胜原因</em>从分配匀始算起Torque管理员指定的或<em>指定额倖的䜜䞚属性</em>䞀节䞭定义的<span class="codefrag">-l</span>选项指定的时闎䞊限过期。这种情况䞋集矀可胜已被释攟。回收集矀然后重新分配。</p>
1161<p>
1162<em>可胜原因</em>提亀䜜䞚䜿甚的hadoop版本和䟛应集矀的Hadoop版本通垞通过tarball选项䞍匹配。确保䜿甚的兌容的版本。</p>
1163<p>
1164<em>可胜原因</em> æäº€job的hadoop客户端䞎提䟛的hadoop(通垞通过tarball选项)版本䞍兌容。 确保所䜿甚hadoop蜯件版本兌容。</p>
1165<p>
1166<em>可胜原因</em> äœ äœ¿ç”šäº†<span class="codefrag">-M or -H</span>䞭的䞀䞪指定Hadoop配眮其䞭有未正确蜬义的字笊比劂空栌或逗号。参考<em>HOD配眮选项</em>䞀节以了解劂䜕正确指定这些选项。</p>
1167<a name="N107A5"></a><a name="%E6%88%91%E7%9A%84Hadoop%E4%BD%9C%E4%B8%9A%E8%A2%AB%E4%B8%AD%E6%AD%A2%E4%BA%86"></a>
1168<h3 class="h4">我的Hadoop䜜䞚被䞭止了</h3>
1169<a name="My_Hadoop_Job_Got_Killed" id="My_Hadoop_Job_Got_Killed"></a>
1170<p>
1171<em>可胜原因</em>从分配匀始算起Torque管理员指定的或<em>指定额倖的䜜䞚属性</em>䞀节䞭定义的<span class="codefrag">-l</span>选项指定的时闎䞊限过期。这种情况䞋集矀可胜已被释攟。回收集矀然后重新分配这次芁制定䞀䞪倧点儿的时钟时闎。</p>
1172<p>
1173<em>可胜原因</em> JobTracker节点出现问题。参考<em>收集和查看Hadoop日志</em>䞀节以获取曎倚信息。</p>
1174<a name="N107C0"></a><a name="Hadoop%E4%BD%9C%E4%B8%9A%E5%A4%B1%E8%B4%A5%E5%B9%B6%E8%BF%94%E5%9B%9E%E6%B6%88%E6%81%AF%EF%BC%9A%E2%80%98Job+tracker+still+initializing%E2%80%99"></a>
1175<h3 class="h4">Hadoop䜜䞚倱莥并返回消息&lsquo;Job tracker still initializing&rsquo;</h3>
1176<a name="Hadoop_Job_Fails_with_Message_Jo" id="Hadoop_Job_Fails_with_Message_Jo"></a>
1177<p>
1178<em>可胜原因</em>hadoop䜜䞚是䜜䞺HOD脚本的䞀郚分运行的它圚JobTracker完党就绪前匀始了执行。分配集矀时䞺配眮选<span class="codefrag">--hod.script-wait-time</span>讟定䞀䞪倧点儿的倌。通垞取120是可以工䜜的尜管通垞没必芁这么倧。</p>
1179<a name="N107D0"></a><a name="Torque%E7%9A%84%E9%80%80%E5%87%BA%E4%BB%A3%E7%A0%81%E6%B2%A1%E6%9C%89%E5%8C%85%E5%90%ABHOD%E7%9A%84"></a>
1180<h3 class="h4">Torque的退出代码没有包含HOD的</h3>
1181<a name="The_Exit_Codes_For_HOD_Are_Not_G" id="The_Exit_Codes_For_HOD_Are_Not_G"></a>
1182<p>
1183<em>可胜原因</em>歀功胜需芁Hadoop 0.16。所甚的Hadoop版本䞍满足这䞪条件。请䜿甚合适的Hadoop版本。</p>
1184<p>
1185<em>可胜原因</em>没有䜿甚<span class="codefrag">hod</span>呜什回收集矀䟋劂盎接䜿甚<span class="codefrag">qdel</span>。圓䜿甚这种方匏回收集矀时HOD进皋被信号䞭止。这䌚富臎退出码是基于signal number的而䞍是皋序的退出码。</p>
1186<a name="N107E8"></a><a name="Hadoop%E6%97%A5%E5%BF%97%E6%9C%AA%E8%A2%AB%E4%B8%8A%E4%BC%A0%E5%88%B0DFS"></a>
1187<h3 class="h4">Hadoop日志未被䞊䌠到DFS</h3>
1188<a name="The_Hadoop_Logs_are_Not_Uploaded" id="The_Hadoop_Logs_are_Not_Uploaded"></a>
1189<p>
1190<em>可胜原因</em>䞊䌠日志的䜿甚的hadoop䞎倖郚的HDFS版本䞍兌容。确保<span class="codefrag">hodring.pkgs</span>选项指定了正确的版本。</p>
1191<a name="N107F8"></a><a name="%E5%AE%9A%E4%BD%8DRingmaster%E6%97%A5%E5%BF%97"></a>
1192<h3 class="h4">定䜍Ringmaster日志</h3>
1193<a name="Locating_Ringmaster_Logs" id="Locating_Ringmaster_Logs"></a>
1194<p>遵埪以䞋步骀定䜍ringmaster日志</p>
1195<ul>
1196   
1197<li>甹-b选项圚调试暡匏执行hod。这䌚打印出圓前运行的Torque䜜䞚的标识。</li>
1198   
1199<li>执行<span class="codefrag">qstat -f torque_job_id</span>圚蟓出䞭查扟<span class="codefrag">exec_host</span>参数的倌。列衚䞭的第䞀䞪䞻机就是ringmaster节点。</li>
1200   
1201<li>登陆该节点。</li>
1202 
1203<li>ringmaster日志的䜍眮由hodrc侭的<span class="codefrag">ringmaster.log-dir</span>项指定。日志文件的名字䌚是<span class="codefrag">username.torque_job_id/ringmaster-main.log</span>。</li>
1204   
1205<li>劂果䜠没有获取到足借的信息䜠可以将ringmaster的调试级别讟䞺4。这可通过向hod呜什行䌠递<span class="codefrag">--ringmaster.debug 4</span>做到。</li>
1206 
1207</ul>
1208<a name="N10824"></a><a name="%E5%AE%9A%E4%BD%8DHodring%E6%97%A5%E5%BF%97"></a>
1209<h3 class="h4">定䜍Hodring日志</h3>
1210<a name="Locating_Hodring_Logs" id="Locating_Hodring_Logs"></a>
1211<p>遵埪以䞋步骀定䜍hodring日志</p>
1212<ul>
1213   
1214<li>甹-b选项圚调试暡匏䞋运行hod。这将打印圓前运行的Torque䜜䞚的标识。</li>
1215   
1216<li>执行<span class="codefrag">qstat -f torque_job_id</span>查看蟓出䞭<span class="codefrag">exec_host</span>参数的倌。列衚䞭的的所有节点䞊郜有䞀䞪hodring。</li>
1217   
1218<li>登陆到任䜕䞀䞪节点。</li>
1219   
1220<li>hodring日志的䜍眮由hodrc侭的<span class="codefrag">hodring.log-dir</span>项指定。日志文件的名字䌚是<span class="codefrag">username.torque_job_id/hodring-main.log</span>。</li>
1221   
1222<li>劂果䜠没有获埗足借的信息䜠或讞想将hodring的调试等级曎改䞺4。这可以向hod呜什行䌠递<span class="codefrag">--hodring.debug 4</span> æ¥åšåˆ°ã€‚</li>
1223 
1224</ul>
1225</div> 
1226
1227</div>
1228<!--+
1229    |end content
1230    +-->
1231<div class="clearboth">&nbsp;</div>
1232</div>
1233<div id="footer">
1234<!--+
1235    |start bottomstrip
1236    +-->
1237<div class="lastmodified">
1238<script type="text/javascript"><!--
1239document.write("Last Published: " + document.lastModified);
1240//  --></script>
1241</div>
1242<div class="copyright">
1243        Copyright &copy;
1244         2007 <a href="http://www.apache.org/licenses/">The Apache Software Foundation.</a>
1245</div>
1246<!--+
1247    |end bottomstrip
1248    +-->
1249</div>
1250</body>
1251</html>
Note: See TracBrowser for help on using the repository browser.