source: proiecte/HadoopJUnit/hadoop-0.20.1/docs/cn/hdfs_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: 29.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分垃匏文件系统䜿甚指南
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_selected_1.1', 'skin/')" id="menu_selected_1.1Title" class="menutitle" style="background-image: url('skin/images/chapter_open.gif');">文档</div>
108<div id="menu_selected_1.1" class="selectedmenuitemgroup" style="display: block;">
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="menupage">
122<div class="menupagetitle">HDFS䜿甚指南</div>
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="hdfs_user_guide.pdf"><img alt="PDF -icon" src="skin/images/pdfdoc.gif" class="skin"><br>
193        PDF</a>
194</div>
195<h1>
196      Hadoop分垃匏文件系统䜿甚指南
197    </h1>
198<div id="minitoc-area">
199<ul class="minitoc">
200<li>
201<a href="#%E7%9B%AE%E7%9A%84">目的</a>
202</li>
203<li>
204<a href="#%E6%A6%82%E8%BF%B0"> æŠ‚è¿° </a>
205</li>
206<li>
207<a href="#%E5%85%88%E5%86%B3%E6%9D%A1%E4%BB%B6"> å…ˆå†³æ¡ä»¶ </a>
208</li>
209<li>
210<a href="#Web%E6%8E%A5%E5%8F%A3"> Web接口 </a>
211</li>
212<li>
213<a href="#Shell%E5%91%BD%E4%BB%A4">Shell呜什</a>
214<ul class="minitoc">
215<li>
216<a href="#DFSAdmin%E5%91%BD%E4%BB%A4"> DFSAdmin呜什 </a>
217</li>
218</ul>
219</li>
220<li>
221<a href="#Secondary+NameNode"> Secondary NameNode </a>
222</li>
223<li>
224<a href="#Rebalancer"> Rebalancer </a>
225</li>
226<li>
227<a href="#%E6%9C%BA%E6%9E%B6%E6%84%9F%E7%9F%A5%EF%BC%88Rack+awareness%EF%BC%89"> æœºæž¶æ„ŸçŸ¥ïŒˆRack awareness </a>
228</li>
229<li>
230<a href="#%E5%AE%89%E5%85%A8%E6%A8%A1%E5%BC%8F"> å®‰å…šæš¡åŒ </a>
231</li>
232<li>
233<a href="#fsck"> fsck </a>
234</li>
235<li>
236<a href="#%E5%8D%87%E7%BA%A7%E5%92%8C%E5%9B%9E%E6%BB%9A"> å‡çº§å’Œå›žæ»š </a>
237</li>
238<li>
239<a href="#%E6%96%87%E4%BB%B6%E6%9D%83%E9%99%90%E5%92%8C%E5%AE%89%E5%85%A8%E6%80%A7"> æ–‡ä»¶æƒé™å’Œå®‰å…šæ€§ </a>
240</li>
241<li>
242<a href="#%E5%8F%AF%E6%89%A9%E5%B1%95%E6%80%A7"> å¯æ‰©å±•æ€§ </a>
243</li>
244<li>
245<a href="#%E7%9B%B8%E5%85%B3%E6%96%87%E6%A1%A3"> ç›žå…³æ–‡æ¡£ </a>
246</li>
247</ul>
248</div>
249   
250<a name="N1000F"></a><a name="%E7%9B%AE%E7%9A%84"></a>
251<h2 class="h3">目的</h2>
252<div class="section">
253<p>
254        本文档的目标是䞺Hadoop分垃匏文件系统HDFS的甚户提䟛䞀䞪孊习的起点这里的HDFS既可以䜜䞺<a href="http://hadoop.apache.org/">Hadoop</a>集矀的䞀郚分也可以䜜䞺䞀䞪独立的分垃匏文件系统。虜然HDFS圚埈倚环境䞋被讟计成是可正确工䜜的䜆是了解HDFS的工䜜原理对圚特定集矀䞊改进HDFS的运行性胜和错误诊断郜有极倧的垮助。
255      </p>
256</div>
257<!--DCCOMMENT:diff end
258@@ -23,18 +23,18 @@
259
260   <header>
261     <title>
262-      Hadoop DFS User Guide
263+      HDFS User Guide
264     </title>
265   </header>
266
267   <body>
268     <section> <title>Purpose</title>
269       <p>
270- This document aims to be the starting point for users working with
271+ This document is a starting point for users working with
272  Hadoop Distributed File System (HDFS) either as a part of a
273  <a href="http://hadoop.apache.org/">Hadoop</a>
274  cluster or as a stand-alone general purpose distributed file system.
275- While HDFS is designed to "just-work" in many environments, a working
276+ While HDFS is designed to "just work" in many environments, a working
277  knowledge of HDFS helps greatly with configuration improvements and
278  diagnostics on a specific cluster.
279       </p>
280
281-->
282<!--DCCOMMENT:begin-->
283
284   
285<a name="N10021"></a><a name="%E6%A6%82%E8%BF%B0"></a>
286<h2 class="h3"> æŠ‚è¿° </h2>
287<div class="section">
288<p>
289HDFS是Hadoop应甚甚到的䞀䞪最䞻芁的分垃匏存傚系统。䞀䞪HDFS集矀䞻芁由䞀䞪NameNode和埈倚䞪Datanode组成Namenode管理文件系统的元数据而Datanode存傚了实际的数据。HDFS的䜓系结构圚<a href="hdfs_design.html">这里</a>有诊细的描述。本文档䞻芁关泚甚户以及管理员怎样和HDFS进行亀互。<a href="hdfs_design.html">HDFS架构讟计</a>侭的<a href="images/hdfsarchitecture.gif">囟解</a>描述了Namenode、Datanode和客户端之闎的基本的亀互操䜜。基本䞊客户端联系Namenode以获取文件的元数据或修饰属性而真正的文件I/O操䜜是盎接和Datanode进行亀互的。
290      </p>
291<p>
292      䞋面列出了䞀些倚数甚户郜比蟃感兎趣的重芁特性。
293      </p>
294<ul>
295   
296<li>
297<!--DCCOMMENT:end
298note:all tag "<em>" has been deleted in this doc.
299
300@@ -43,21 +43,20 @@
301     <section> <title> Overview </title>
302       <p>
303  HDFS is the primary distributed storage used by Hadoop applications. A
304- HDFS cluster primarily consists of a <em>NameNode</em> that manages the
305- filesystem metadata and Datanodes that store the actual data. The
306+ HDFS cluster primarily consists of a NameNode that manages the
307+ file system metadata and DataNodes that store the actual data. The
308  architecture of HDFS is described in detail
309  <a href="hdfs_design.html">here</a>. This user guide primarily deals with
310  interaction of users and administrators with HDFS clusters.
311  The <a href="images/hdfsarchitecture.gif">diagram</a> from
312  <a href="hdfs_design.html">HDFS architecture</a> depicts
313- basic interactions among Namenode, Datanodes, and the clients. Eseentially,
314- clients contact Namenode for file metadata or file modifications and perform
315- actual file I/O directly with the datanodes.
316+ basic interactions among NameNode, the DataNodes, and the clients.
317+ Clients contact NameNode for file metadata or file modifications and perform
318+ actual file I/O directly with the DataNodes.
319       </p>
320       <p>
321  The following are some of the salient features that could be of
322- interest to many users. The terms in <em>italics</em>
323- are described in later sections.
324+ interest to many users.
325       </p>
326     <ul>
327     <li>
328-->
329    Hadoop包括HDFS非垞适合圚商甚硬件commodity hardware䞊做分垃匏存傚和计算因䞺它䞍仅具有容错性和可扩展性而䞔非垞易于扩展。<a href="mapred_tutorial.html">Map-Reduce</a>框架以其圚倧型分垃匏系统应甚䞊的简单性和可甚性而著称这䞪框架已经被集成进Hadoop䞭。
330    </li>
331   
332<li>
333        HDFS的可配眮性极高同时它的默讀配眮胜借满足埈倚的安装环境。倚数情况䞋这些参数只圚非垞倧规暡的集矀环境䞋才需芁调敎。
334    </li>
335<!--DCCOMMENT:diff begin-->
336   
337<li>
338        甹Java语蚀匀发支持所有的䞻流平台。
339    </li>
340   
341<li>
342        支持类Shell呜什可盎接和HDFS进行亀互。
343    </li>
344   
345<li>
346        NameNode和DataNode有内眮的Web服务噚方䟿甚户检查集矀的圓前状态。
347    </li>
348<!--DCCOMMENT:diff end
349@@ -74,13 +73,13 @@
350        needs to be tuned only for very large clusters.
351     </li>
352     <li>
353-       It is written in Java and is supported on all major platforms.
354+       Hadoop is written in Java and is supported on all major platforms.
355     </li>
356     <li>
357-       Supports <em>shell like commands</em> to interact with HDFS directly.
358+       Hadoop supports shell-like commands to interact with HDFS directly.
359     </li>
360     <li>
361-       Namenode and Datanodes have built in web servers that makes it
362+       The NameNode and Datanodes have built in web servers that makes it
363        easy to check current status of the cluster.
364     </li>
365     <li>
366-->
367   
368<li>
369        新特性和改进䌚定期加入HDFS的实现䞭。䞋面列出的是HDFS䞭垞甚特性的䞀郚分
370      <ul>
371       
372<li>
373                文件权限和授权。
374        </li>
375       
376<li>
377                机架感知Rack awareness圚调床任务和分配存傚空闎时考虑节点的物理䜍眮。
378        </li>
379       
380<li>
381                安党暡匏䞀种绎技需芁的管理暡匏。
382        </li>
383       
384<li>
385                fsck䞀䞪诊断文件系统健康状况的工具胜借发现䞢倱的文件或数据块。
386        </li>
387       
388<li>
389                Rebalancer圓datanode之闎数据䞍均衡时平衡集矀䞊的数据莟蜜。
390        </li>
391       
392<li>
393                升级和回滚圚蜯件曎新后有匂垞发生的情圢䞋胜借回滚到HDFS升级之前的状态。
394        </li>
395       
396<li>
397                Secondary Namenode对文件系统名字空闎执行呚期性的检查点将Namenode侊HDFS改劚日志文件的倧小控制圚某䞪特定的限床䞋。
398        </li>
399     
400</ul>
401   
402</li>
403   
404</ul>
405</div> 
406<a name="N10071"></a><a name="%E5%85%88%E5%86%B3%E6%9D%A1%E4%BB%B6"></a>
407<h2 class="h3"> å…ˆå†³æ¡ä»¶ </h2>
408<div class="section">
409<p>
410    䞋面的文档描述了劂䜕安装和搭建Hadoop集矀
411    </p>
412<ul>
413       
414<li>
415               
416<a href="quickstart.html">Hadoop快速入闚</a>
417                针对初次䜿甚者。
418        </li>
419       
420<li>
421               
422<a href="cluster_setup.html">Hadoop集矀搭建</a>
423                针对倧规暡分垃匏集矀的搭建。
424        </li>
425   
426</ul>
427<p>
428    文档䜙䞋郚分假讟甚户已经安装并运行了至少包含䞀䞪Datanode节点的HDFS。就本文目的来诎Namenode和Datanode可以运行圚同䞀䞪物理䞻机䞊。
429    </p>
430</div> 
431<a name="N1008F"></a><a name="Web%E6%8E%A5%E5%8F%A3"></a>
432<h2 class="h3"> Web接口 </h2>
433<div class="section">
434<p>
435        NameNode和DataNode各自启劚了䞀䞪内眮的Web服务噚星瀺了集矀圓前的基本状态和信息。圚默讀配眮䞋NameNode的銖页地址是<span class="codefrag">http://namenode-name:50070/</span>。这䞪页面列出了集矀里的所有DataNode和集矀的基本状态。这䞪Web接口也可以甚来浏览敎䞪文件系统䜿甚NameNode銖页䞊的"Browse the file system"铟接。
436 </p>
437</div> 
438<a name="N100A2"></a><a name="Shell%E5%91%BD%E4%BB%A4"></a>
439<h2 class="h3">Shell呜什</h2>
440<div class="section">
441<p>Hadoop包括䞀系列的类shell的呜什可盎接和HDFS以及其他Hadoop支持的文件系统进行亀互。<span class="codefrag">bin/hadoop fs -help</span> å‘œä»€åˆ—出所有Hadoop Shell支持的呜什。而 <span class="codefrag">bin/hadoop fs -help command-name</span> å‘œä»€èƒœæ˜Ÿç€ºå…³äºŽæŸäžªå‘œä»€çš„诊细信息。这些呜什支持倧倚数普通文件系统的操䜜比劂倍制文件、改变文件权限等。它还支持䞀些HDFS特有的操䜜比劂改变文件副本数目。
442     </p>
443<a name="N100B3"></a><a name="DFSAdmin%E5%91%BD%E4%BB%A4"></a>
444<h3 class="h4"> DFSAdmin呜什 </h3>
445<p>
446       
447<span class="codefrag">'bin/hadoop dfsadmin'</span> å‘œä»€æ”¯æŒäž€äº›å’ŒHDFS管理盞关的操䜜。<span class="codefrag">bin/hadoop dfsadmin -help</span> å‘œä»€èƒœåˆ—出所有圓前支持的呜什。比劂
448   </p>
449<ul>
450       
451<li>
452<!--DCCOMMENT:diff begin-->
453           
454<span class="codefrag">-report</span>报告HDFS的基本统计信息。有些信息也可以圚NameNode Web服务銖页看到。
455<!--DCCOMMENT:diff end
456note: "Namenode" is replaced by "NameNode" in this doc
457
458        <li>
459            <code>-report</code>
460-           : reports basic stats of HDFS. Some of this information is
461-           also available on the Namenode front page.
462+           : reports basic statistics of HDFS. Some of this information is
463+           also available on the NameNode front page.
464        </li>
465-->
466        </li>
467       
468<li>
469           
470<span class="codefrag">-safemode</span>虜然通垞并䞍需芁䜆是管理员的确可以手劚让NameNode进入或犻匀安党暡匏。
471        </li>
472       
473<li>
474           
475<span class="codefrag">-finalizeUpgrade</span>删陀䞊䞀次升级时制䜜的集矀倇仜。
476        </li>
477       
478</ul>
479</div> 
480<a name="N100DD"></a><a name="Secondary+NameNode"></a>
481<h2 class="h3"> Secondary NameNode </h2>
482<div class="section">
483<p>NameNode将对文件系统的改劚远加保存到本地文件系统䞊的䞀䞪日志文件<span class="codefrag">edits</span>。圓䞀䞪NameNode启劚时它銖先从䞀䞪映像文件<span class="codefrag">fsimage</span>䞭读取HDFS的状态接着应甚日志文件䞭的edits操䜜。然后它将新的HDFS状态写入<span class="codefrag">fsimage</span>䞭并䜿甚䞀䞪空的edits文件匀始正垞操䜜。因䞺NameNode只有圚启劚阶段才合并<span class="codefrag">fsimage</span>和<span class="codefrag">edits</span>所以久而久之日志文件可胜䌚变埗非垞庞倧特别是对倧型的集矀。日志文件倪倧的及䞀䞪副䜜甚是䞋䞀次NameNode启劚䌚花埈长时闎。
484   </p>
485<p>
486     Secondary NameNode定期合并fsimage和edits日志将edits日志文件倧小控制圚䞀䞪限床䞋。因䞺内存需求和NameNode圚䞀䞪数量级䞊所以通垞secondary NameNode和NameNode运行圚䞍同的机噚䞊。Secondary NameNode通过<span class="codefrag">bin/start-dfs.sh</span>圚<span class="codefrag">conf/masters</span>䞭指定的节点䞊启劚。
487   </p>
488<p>
489Secondary NameNode的检查点进皋启劚是由䞀䞪配眮参数控制的
490</p>
491<ul>
492     
493<li>
494       
495<span class="codefrag">fs.checkpoint.period</span>指定连续䞀次检查点的最倧时闎闎隔
496        默讀倌是1小时。
497      </li>
498     
499<li>
500       
501<span class="codefrag">fs.checkpoint.size</span>定义了edits日志文件的最倧倌䞀旊超过这䞪倌䌚富臎区制执行检查点即䜿没到检查点的最倧时闎闎隔。默讀倌是64MB。
502      </li>
503   
504</ul>
505<p>
506     Secondary NameNode保存最新检查点的目圕䞎NameNode的目圕结构盞同。
507     æ‰€ä»¥NameNode可以圚需芁的时候读取Secondary NameNode䞊的检查点镜像。
508   </p>
509<p>
510     åŠ‚æžœNameNode䞊陀了最新的检查点以倖所有的其他的历史镜像和edits文件郜䞢倱了
511     NameNode可以匕入这䞪最新的检查点。以䞋操䜜可以实现这䞪功胜
512   </p>
513<ul>
514     
515<li>
516        圚配眮参数<span class="codefrag">dfs.name.dir</span>指定的䜍眮建立䞀䞪空文件倹
517      </li>
518     
519<li>
520        把检查点目圕的䜍眮赋倌给配眮参数<span class="codefrag">fs.checkpoint.dir</span>
521      </li>
522     
523<li>
524        启劚NameNode并加䞊<span class="codefrag">-importCheckpoint</span>。
525      </li>
526   
527</ul>
528<p>
529     NameNode䌚从<span class="codefrag">fs.checkpoint.dir</span>目圕读取检查点
530     å¹¶æŠŠå®ƒä¿å­˜åœš<span class="codefrag">dfs.name.dir</span>目圕䞋。
531     åŠ‚æžœ<span class="codefrag">dfs.name.dir</span>目圕䞋有合法的镜像文件NameNode䌚启劚倱莥。
532     NameNode䌚检查<span class="codefrag">fs.checkpoint.dir</span>目圕䞋镜像文件的䞀臎性䜆是䞍䌚去改劚它。
533   </p>
534<p>
535     å‘œä»€çš„䜿甚方法请参考<a href="commands_manual.html#secondarynamenode"><span class="codefrag">secondarynamenode</span> å‘œä»€</a>.
536   </p>
537</div> 
538<a name="N10148"></a><a name="Rebalancer"></a>
539<h2 class="h3"> Rebalancer </h2>
540<div class="section">
541<p>
542      HDFS的数据也讞并䞍是非垞均匀的分垃圚各䞪DataNode䞭。䞀䞪垞见的原因是圚现有的集矀䞊经垞䌚增添新的DataNode节点。圓新增䞀䞪数据块䞀䞪文件的数据被保存圚䞀系列的块䞭时NameNode圚选择DataNode接收这䞪数据块之前䌚考虑到埈倚因玠。其䞭的䞀些考虑的是
543    </p>
544<ul>
545     
546<li>
547        将数据块的䞀䞪副本攟圚正圚写这䞪数据块的节点䞊。
548      </li>
549     
550<li>
551        尜量将数据块的䞍同副本分垃圚䞍同的机架䞊这样集矀可圚完党倱去某䞀机架的情况䞋还胜存掻。
552      </li>
553     
554<li>
555        䞀䞪副本通垞被攟眮圚和写文件的节点同䞀机架的某䞪节点䞊这样可以减少跚越机架的眑络I/O。
556      </li>
557     
558<li>
559        尜量均匀地将HDFS数据分垃圚集矀的DataNode䞭。
560      </li>
561     
562</ul>
563<p>
564由于䞊述倚种考虑需芁取舍数据可胜并䞍䌚均匀分垃圚DataNode䞭。HDFS䞺管理员提䟛了䞀䞪工具甚于分析数据块分垃和重新平衡DataNode䞊的数据分垃。<a href="http://issues.apache.org/jira/browse/HADOOP-1652">HADOOP-1652</a>的附件䞭的䞀䞪<a href="http://issues.apache.org/jira/secure/attachment/12368261/RebalanceDesign6.pdf">PDF</a>是䞀䞪简芁的rebalancer管理员指南。
565    </p>
566<p>
567     äœ¿ç”šæ–¹æ³•è¯·å‚考<a href="commands_manual.html#balancer">balancer 呜什</a>.
568   </p>
569</div> 
570<a name="N1017B"></a><a name="%E6%9C%BA%E6%9E%B6%E6%84%9F%E7%9F%A5%EF%BC%88Rack+awareness%EF%BC%89"></a>
571<h2 class="h3"> æœºæž¶æ„ŸçŸ¥ïŒˆRack awareness </h2>
572<div class="section">
573<p>
574      通垞倧型Hadoop集矀是以机架的圢匏来组织的同䞀䞪机架䞊䞍同节点闎的眑络状况比䞍同机架之闎的曎䞺理想。及倖NameNode讟法将数据块副本保存圚䞍同的机架䞊以提高容错性。Hadoop允讞集矀的管理员通过配眮<span class="codefrag">dfs.network.script</span>参数来确定节点所倄的机架。圓这䞪脚本配眮完毕每䞪节点郜䌚运行这䞪脚本来获取它的机架ID。默讀的安装假定所有的节点属于同䞀䞪机架。这䞪特性及其配眮参数圚<a href="http://issues.apache.org/jira/browse/HADOOP-692">HADOOP-692</a>所附的<a href="http://issues.apache.org/jira/secure/attachment/12345251/Rack_aware_HDFS_proposal.pdf">PDF</a>䞊有曎诊细的描述。
575    </p>
576</div> 
577<a name="N10190"></a><a name="%E5%AE%89%E5%85%A8%E6%A8%A1%E5%BC%8F"></a>
578<h2 class="h3"> å®‰å…šæš¡åŒ </h2>
579<div class="section">
580<p>
581     NameNode启劚时䌚从fsimage和edits日志文件䞭装蜜文件系统的状态信息接着它等埅各䞪DataNode向它报告它们各自的数据块状态这样NameNode就䞍䌚过早地匀始倍制数据块即䜿圚副本充足的情况䞋。这䞪阶段NameNode倄于安党暡匏䞋。NameNode的安党暡匏本莚䞊是HDFS集矀的䞀种只读暡匏歀时集矀䞍允讞任䜕对文件系统或者数据块修改的操䜜。通垞NameNode䌚圚匀始阶段自劚地退出安党暡匏。劂果需芁䜠也可以通过<span class="codefrag">'bin/hadoop dfsadmin -safemode'</span>呜什星匏地将HDFS眮于安党暡匏。NameNode銖页䌚星瀺圓前是吊倄于安党暡匏。关于安党暡匏的曎倚介绍和配眮信息请参考JavaDoc<a href="http://hadoop.apache.org/core/docs/current/api/org/apache/hadoop/dfs/NameNode.html#setSafeMode(org.apache.hadoop.dfs.FSConstants.SafeModeAction)"><span class="codefrag">setSafeMode()</span></a>。
582    </p>
583</div> 
584<a name="N101A2"></a><a name="fsck"></a>
585<h2 class="h3"> fsck </h2>
586<div class="section">
587<p>   
588      HDFS支持<span class="codefrag">fsck</span>呜什来检查系统䞭的各种䞍䞀臎状况。这䞪呜什被讟计来报告各种文件存圚的问题比劂文件猺少数据块或者副本数目䞍借。䞍同于圚本地文件系统䞊䌠统的fsck工具这䞪呜什并䞍䌚修正它检测到的错误。䞀般来诎NameNode䌚自劚修正倧倚数可恢倍的错误。HDFS的fsck䞍是䞀䞪Hadoop shell呜什。它通过'<span class="codefrag">bin/hadoop fsck</span>'执行。
589<!--DCCOMMENT:diff begin-->
590呜什的䜿甚方法请参考<a href="commands_manual.html#fsck"><span class="codefrag">fsck</span>呜什</a>
591<span class="codefrag">fsck</span>可甚来检查敎䞪文件系统也可以只检查郚分文件。
592<!--DCCOMMENT:diff end
593 Hadoop shell command. It can be run as '<code>bin/hadoop fsck</code>'.
594-      Fsck can be run on the whole filesystem or on a subset of files.
595+      For command usage, see <a href="commands_manual.html#fsck"><code>fsck</code> command</a>.
596+      <code>fsck</code> can be run on the whole file system or on a subset of files.
597      </p>
598
599-->
600     </p>
601</div> 
602<a name="N101BF"></a><a name="%E5%8D%87%E7%BA%A7%E5%92%8C%E5%9B%9E%E6%BB%9A"></a>
603<h2 class="h3"> å‡çº§å’Œå›žæ»š </h2>
604<div class="section">
605<p>圓圚䞀䞪已有集矀䞊升级Hadoop时像其他的蜯件升级䞀样可胜䌚有新的bug或䞀些䌚圱响到现有应甚的非兌容性变曎出现。圚任䜕有实际意义的HDSF系统䞊䞢倱数据是䞍被允讞的曎䞍甚诎重新搭建启劚HDFS了。HDFS允讞管理员退回到之前的Hadoop版本并将集矀的状态回滚到升级之前。曎倚关于HDFS升级的细节圚<a href="http://wiki.apache.org/hadoop/Hadoop%20Upgrade">升级wiki</a>䞊可以扟到。HDFS圚䞀䞪时闎可以有䞀䞪这样的倇仜。圚升级之前管理员需芁甚<span class="codefrag">bin/hadoop dfsadmin -finalizeUpgrade</span>升级终结操䜜呜什删陀存圚的倇仜文件。䞋面简单介绍䞀䞋䞀般的升级过皋
606     </p>
607<ul>
608     
609<li>升级 Hadoop 蜯件之前请检查是吊已经存圚䞀䞪倇仜劂果存圚可执行升级终结操䜜删陀这䞪倇仜。通过<span class="codefrag">dfsadmin -upgradeProgress status</span>呜什胜借知道是吊需芁对䞀䞪集矀执行升级终结操䜜。</li>
610     
611<li>停止集矀并郚眲新版本的Hadoop。</li>
612     
613<li>䜿甚<span class="codefrag">-upgrade</span>选项运行新的版本<span class="codefrag">bin/start-dfs.sh -upgrade</span>。
614      </li>
615     
616<li>圚倧倚数情况䞋集矀郜胜借正垞运行。䞀旊我们讀䞺新的HDFS运行正垞也讞经过几倩的操䜜之后就可以对之执行升级终结操䜜。泚意圚对䞀䞪集矀执行升级终结操䜜之前删陀那些升级前就已经存圚的文件并䞍䌚真正地释攟DataNodes䞊的磁盘空闎。</li>
617     
618<li>劂果需芁退回到老版本
619        <ul>
620         
621<li>停止集矀并䞔郚眲老版本的Hadoop。</li>
622         
623<li>甚回滚选项启劚集矀<span class="codefrag">bin/start-dfs.h -rollback</span>。</li>
624       
625</ul>
626     
627</li>
628     
629</ul>
630</div> 
631<a name="N101F7"></a><a name="%E6%96%87%E4%BB%B6%E6%9D%83%E9%99%90%E5%92%8C%E5%AE%89%E5%85%A8%E6%80%A7"></a>
632<h2 class="h3"> æ–‡ä»¶æƒé™å’Œå®‰å…šæ€§ </h2>
633<div class="section">
634<p>           
635      这里的文件权限和其他垞见平台劂Linux的文件权限类䌌。目前安党性仅限于简单的文件权限。启劚NameNode的甚户被视䞺HDFS的超级甚户。HDFS以后的版本将䌚支持眑络验证协议比劂Kerberos来对甚户身仜进行验证和对数据进行加密䌠蟓。具䜓的细节请参考<a href="hdfs_permissions_guide.html">权限䜿甚管理指南</a>。
636     </p>
637</div> 
638<a name="N10205"></a><a name="%E5%8F%AF%E6%89%A9%E5%B1%95%E6%80%A7"></a>
639<h2 class="h3"> å¯æ‰©å±•æ€§ </h2>
640<div class="section">
641<p>
642      现圚Hadoop已经运行圚䞊千䞪节点的集矀䞊。<a href="http://wiki.apache.org/hadoop/PoweredBy">Powered By Hadoop</a>页面列出了䞀些已将Hadoop郚眲圚他们的倧型集矀䞊的组织。HDFS集矀只有䞀䞪NameNode节点。目前NameNode䞊可甚内存倧小是䞀䞪䞻芁的扩展限制。圚超倧型的集矀䞭增倧HDFS存傚文件的平均倧小胜借增倧集矀的规暡而䞍需芁增加NameNode的内存。默讀配眮也讞并䞍适合超倧规暡的集矀。<a href="http://wiki.apache.org/hadoop/FAQ">Hadoop FAQ</a>页面列䞟了针对倧型Hadoop集矀的配眮改进。</p>
643</div> 
644<a name="N10217"></a><a name="%E7%9B%B8%E5%85%B3%E6%96%87%E6%A1%A3"></a>
645<h2 class="h3"> ç›žå…³æ–‡æ¡£ </h2>
646<div class="section">
647<p>
648      这䞪甚户手册给甚户提䟛了䞀䞪孊习和䜿甚HDSF文件系统的起点。本文档䌚䞍断地进行改进同时甚户也可以参考曎倚的Hadoop和HDFS文档。䞋面的列衚是甚户继续孊习的起点
649      </p>
650<ul>
651     
652<li>
653       
654<a href="http://hadoop.apache.org/">Hadoop官方䞻页</a>所有Hadoop盞关的起始页。
655      </li>
656     
657<li>
658       
659<a href="http://wiki.apache.org/hadoop/FrontPage">Hadoop Wiki</a>Hadoop Wiki文档銖页。这䞪指南是Hadoop代码树䞭的䞀郚分䞎歀䞍同Hadoop Wiki是由Hadoop瀟区定期猖蟑的。
660      </li>
661     
662<li>Hadoop Wiki侊的<a href="http://wiki.apache.org/hadoop/FAQ">FAQ</a>。
663      </li>
664     
665<li>Hadoop <a href="http://hadoop.apache.org/core/docs/current/api/">JavaDoc API</a>。</li>
666     
667<li>Hadoop甚户邮件列衚<a href="mailto:core-user@hadoop.apache.org">core-user[at]hadoop.apache.org</a>。</li>
668     
669<li>查看<span class="codefrag">conf/hadoop-default.xml</span>文件。这里包括了倧倚数配眮参数的简芁描述。</li>
670     
671<li>
672       
673<a href="commands_manual.html">呜什手册</a>呜什䜿甚诎明。
674      </li>
675<!--DCCOMMENT:diff begin-->
676<!--DCCOMMENT:diff end
677@@ -411,6 +469,10 @@
678          It includes brief
679          description of most of the configuration variables available.
680       </li>
681+      <li>
682+        <a href="commands_manual.html">Commands Manual</a>
683+        : commands usage.
684+      </li>
685       </ul>
686      </section>
687
688-->
689     
690</ul>
691</div>
692     
693 
694</div>
695<!--+
696    |end content
697    +-->
698<div class="clearboth">&nbsp;</div>
699</div>
700<div id="footer">
701<!--+
702    |start bottomstrip
703    +-->
704<div class="lastmodified">
705<script type="text/javascript"><!--
706document.write("Last Published: " + document.lastModified);
707//  --></script>
708</div>
709<div class="copyright">
710        Copyright &copy;
711         2007 <a href="http://www.apache.org/licenses/">The Apache Software Foundation.</a>
712</div>
713<!--+
714    |end bottomstrip
715    +-->
716</div>
717</body>
718</html>
Note: See TracBrowser for help on using the repository browser.