[120] | 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> > <a href="http://hadoop.apache.org/">Hadoop</a> > <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"> |
---|
| 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"><!-- |
---|
| 90 | document.write("Last Published: " + document.lastModified); |
---|
| 91 | // --></script> |
---|
| 92 | </div> |
---|
| 93 | <!--+ |
---|
| 94 | |breadtrail |
---|
| 95 | +--> |
---|
| 96 | <div class="breadtrail"> |
---|
| 97 | |
---|
| 98 | |
---|
| 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="menupage"> |
---|
| 119 | <div class="menupagetitle">HDFSææ¶è®Ÿè®¡</div> |
---|
| 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="hdfs_design.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="#%E5%BC%95%E8%A8%80"> åŒèš </a> |
---|
| 202 | </li> |
---|
| 203 | <li> |
---|
| 204 | <a href="#%E5%89%8D%E6%8F%90%E5%92%8C%E8%AE%BE%E8%AE%A1%E7%9B%AE%E6%A0%87"> åæå讟计ç®æ </a> |
---|
| 205 | <ul class="minitoc"> |
---|
| 206 | <li> |
---|
| 207 | <a href="#%E7%A1%AC%E4%BB%B6%E9%94%99%E8%AF%AF"> 硬件é误 </a> |
---|
| 208 | </li> |
---|
| 209 | <li> |
---|
| 210 | <a href="#%E6%B5%81%E5%BC%8F%E6%95%B0%E6%8D%AE%E8%AE%BF%E9%97%AE"> æµåŒæ°æ®è®¿é® </a> |
---|
| 211 | </li> |
---|
| 212 | <li> |
---|
| 213 | <a href="#%E5%A4%A7%E8%A7%84%E6%A8%A1%E6%95%B0%E6%8D%AE%E9%9B%86"> 倧è§æš¡æ°æ®é </a> |
---|
| 214 | </li> |
---|
| 215 | <li> |
---|
| 216 | <a href="#%E7%AE%80%E5%8D%95%E7%9A%84%E4%B8%80%E8%87%B4%E6%80%A7%E6%A8%A1%E5%9E%8B"> ç®åçäžèŽæ§æš¡å </a> |
---|
| 217 | </li> |
---|
| 218 | <li> |
---|
| 219 | <a href="#%E2%80%9C%E7%A7%BB%E5%8A%A8%E8%AE%A1%E7%AE%97%E6%AF%94%E7%A7%BB%E5%8A%A8%E6%95%B0%E6%8D%AE%E6%9B%B4%E5%88%92%E7%AE%97%E2%80%9D"> “移åšè®¡ç®æ¯ç§»åšæ°æ®æŽåç®” </a> |
---|
| 220 | </li> |
---|
| 221 | <li> |
---|
| 222 | <a href="#%E5%BC%82%E6%9E%84%E8%BD%AF%E7%A1%AC%E4%BB%B6%E5%B9%B3%E5%8F%B0%E9%97%B4%E7%9A%84%E5%8F%AF%E7%A7%BB%E6%A4%8D%E6%80%A7"> åŒæ蜯硬件平å°éŽçå¯ç§»æ€æ§ </a> |
---|
| 223 | </li> |
---|
| 224 | </ul> |
---|
| 225 | </li> |
---|
| 226 | <li> |
---|
| 227 | <a href="#Namenode+%E5%92%8C+Datanode"> Namenode å Datanode </a> |
---|
| 228 | </li> |
---|
| 229 | <li> |
---|
| 230 | <a href="#%E6%96%87%E4%BB%B6%E7%B3%BB%E7%BB%9F%E7%9A%84%E5%90%8D%E5%AD%97%E7%A9%BA%E9%97%B4+%28namespace%29"> æ件系ç»çååç©ºéŽ (namespace) </a> |
---|
| 231 | </li> |
---|
| 232 | <li> |
---|
| 233 | <a href="#%E6%95%B0%E6%8D%AE%E5%A4%8D%E5%88%B6"> æ°æ®å€å¶ </a> |
---|
| 234 | <ul class="minitoc"> |
---|
| 235 | <li> |
---|
| 236 | <a href="#%E5%89%AF%E6%9C%AC%E5%AD%98%E6%94%BE%3A+%E6%9C%80%E6%9C%80%E5%BC%80%E5%A7%8B%E7%9A%84%E4%B8%80%E6%AD%A5"> å¯æ¬åæŸ: ææåŒå§çäžæ¥ </a> |
---|
| 237 | </li> |
---|
| 238 | <li> |
---|
| 239 | <a href="#%E5%89%AF%E6%9C%AC%E9%80%89%E6%8B%A9"> å¯æ¬éæ© </a> |
---|
| 240 | </li> |
---|
| 241 | <li> |
---|
| 242 | <a href="#%E5%AE%89%E5%85%A8%E6%A8%A1%E5%BC%8F"> å®å
šæš¡åŒ </a> |
---|
| 243 | </li> |
---|
| 244 | </ul> |
---|
| 245 | </li> |
---|
| 246 | <li> |
---|
| 247 | <a href="#%E6%96%87%E4%BB%B6%E7%B3%BB%E7%BB%9F%E5%85%83%E6%95%B0%E6%8D%AE%E7%9A%84%E6%8C%81%E4%B9%85%E5%8C%96"> æ件系ç»å
æ°æ®çæä¹
å </a> |
---|
| 248 | </li> |
---|
| 249 | <li> |
---|
| 250 | <a href="#%E9%80%9A%E8%AE%AF%E5%8D%8F%E8%AE%AE"> é讯åè®® </a> |
---|
| 251 | </li> |
---|
| 252 | <li> |
---|
| 253 | <a href="#%E5%81%A5%E5%A3%AE%E6%80%A7"> å¥å£®æ§ </a> |
---|
| 254 | <ul class="minitoc"> |
---|
| 255 | <li> |
---|
| 256 | <a href="#%E7%A3%81%E7%9B%98%E6%95%B0%E6%8D%AE%E9%94%99%E8%AF%AF%EF%BC%8C%E5%BF%83%E8%B7%B3%E6%A3%80%E6%B5%8B%E5%92%8C%E9%87%8D%E6%96%B0%E5%A4%8D%E5%88%B6"> ç£çæ°æ®é误ïŒå¿è·³æ£æµåéæ°å€å¶ </a> |
---|
| 257 | </li> |
---|
| 258 | <li> |
---|
| 259 | <a href="#%E9%9B%86%E7%BE%A4%E5%9D%87%E8%A1%A1"> é矀åè¡¡ </a> |
---|
| 260 | </li> |
---|
| 261 | <li> |
---|
| 262 | <a href="#%E6%95%B0%E6%8D%AE%E5%AE%8C%E6%95%B4%E6%80%A7"> æ°æ®å®æŽæ§ </a> |
---|
| 263 | </li> |
---|
| 264 | <li> |
---|
| 265 | <a href="#%E5%85%83%E6%95%B0%E6%8D%AE%E7%A3%81%E7%9B%98%E9%94%99%E8%AF%AF"> å
æ°æ®ç£çé误 </a> |
---|
| 266 | </li> |
---|
| 267 | <li> |
---|
| 268 | <a href="#%E5%BF%AB%E7%85%A7"> å¿«ç
§ </a> |
---|
| 269 | </li> |
---|
| 270 | </ul> |
---|
| 271 | </li> |
---|
| 272 | <li> |
---|
| 273 | <a href="#%E6%95%B0%E6%8D%AE%E7%BB%84%E7%BB%87"> æ°æ®ç»ç» </a> |
---|
| 274 | <ul class="minitoc"> |
---|
| 275 | <li> |
---|
| 276 | <a href="#%E6%95%B0%E6%8D%AE%E5%9D%97"> æ°æ®å </a> |
---|
| 277 | </li> |
---|
| 278 | <li> |
---|
| 279 | <a href="#Staging"> Staging </a> |
---|
| 280 | </li> |
---|
| 281 | <li> |
---|
| 282 | <a href="#%E6%B5%81%E6%B0%B4%E7%BA%BF%E5%A4%8D%E5%88%B6"> æµæ°Žçº¿å€å¶ </a> |
---|
| 283 | </li> |
---|
| 284 | </ul> |
---|
| 285 | </li> |
---|
| 286 | <li> |
---|
| 287 | <a href="#%E5%8F%AF%E8%AE%BF%E9%97%AE%E6%80%A7"> å¯è®¿é®æ§ </a> |
---|
| 288 | <ul class="minitoc"> |
---|
| 289 | <li> |
---|
| 290 | <a href="#DFSShell"> DFSShell </a> |
---|
| 291 | </li> |
---|
| 292 | <li> |
---|
| 293 | <a href="#DFSAdmin"> DFSAdmin </a> |
---|
| 294 | </li> |
---|
| 295 | <li> |
---|
| 296 | <a href="#%E6%B5%8F%E8%A7%88%E5%99%A8%E6%8E%A5%E5%8F%A3"> æµè§åšæ¥å£ </a> |
---|
| 297 | </li> |
---|
| 298 | </ul> |
---|
| 299 | </li> |
---|
| 300 | <li> |
---|
| 301 | <a href="#%E5%AD%98%E5%82%A8%E7%A9%BA%E9%97%B4%E5%9B%9E%E6%94%B6"> ååšç©ºéŽåæ¶ </a> |
---|
| 302 | <ul class="minitoc"> |
---|
| 303 | <li> |
---|
| 304 | <a href="#%E6%96%87%E4%BB%B6%E7%9A%84%E5%88%A0%E9%99%A4%E5%92%8C%E6%81%A2%E5%A4%8D"> æ件çå é€åæ¢å€ </a> |
---|
| 305 | </li> |
---|
| 306 | <li> |
---|
| 307 | <a href="#%E5%87%8F%E5%B0%91%E5%89%AF%E6%9C%AC%E7%B3%BB%E6%95%B0"> åå°å¯æ¬ç³»æ° </a> |
---|
| 308 | </li> |
---|
| 309 | </ul> |
---|
| 310 | </li> |
---|
| 311 | <li> |
---|
| 312 | <a href="#%E5%8F%82%E8%80%83%E8%B5%84%E6%96%99"> åèèµæ </a> |
---|
| 313 | </li> |
---|
| 314 | </ul> |
---|
| 315 | </div> |
---|
| 316 | |
---|
| 317 | <a name="N10014"></a><a name="%E5%BC%95%E8%A8%80"></a> |
---|
| 318 | <h2 class="h3"> åŒèš </h2> |
---|
| 319 | <div class="section"> |
---|
| 320 | <p> |
---|
| 321 | HadoopååžåŒæ件系ç»(<acronym title="HadoopååžåŒæ件系ç»">HDFS</acronym>)被讟计æéåè¿è¡åšéçšç¡¬ä»¶(commodity hardware)äžçååžåŒæ件系ç»ãå®åç°æçååžåŒæ件系ç»æåŸå€å
±åç¹ãäœåæ¶ïŒå®åå
¶ä»çååžåŒæ件系ç»çåºå«ä¹æ¯åŸææŸçãHDFSæ¯äžäžªé«åºŠå®¹éæ§çç³»ç»ïŒéåéšçœ²åšå»ä»·çæºåšäžãHDFSèœæäŸé«ååéçæ°æ®è®¿é®ïŒéåžžéå倧è§æš¡æ°æ®éäžçåºçšãHDFSæŸå®œäºäžéšåPOSIX纊æïŒæ¥å®ç°æµåŒè¯»åæ件系ç»æ°æ®çç®çãHDFSåšæåŒå§æ¯äœäžºApache Nutchæ玢åŒæ项ç®çåºç¡æ¶æèåŒåçãHDFSæ¯Apache Hadoop Core项ç®çäžéšåãè¿äžªé¡¹ç®çå°åæ¯<a href="http://hadoop.apache.org/core/">http://hadoop.apache.org/core/</a>ã |
---|
| 322 | </p> |
---|
| 323 | </div> |
---|
| 324 | |
---|
| 325 | |
---|
| 326 | <a name="N10026"></a><a name="%E5%89%8D%E6%8F%90%E5%92%8C%E8%AE%BE%E8%AE%A1%E7%9B%AE%E6%A0%87"></a> |
---|
| 327 | <h2 class="h3"> åæå讟计ç®æ </h2> |
---|
| 328 | <div class="section"> |
---|
| 329 | <a name="N1002C"></a><a name="%E7%A1%AC%E4%BB%B6%E9%94%99%E8%AF%AF"></a> |
---|
| 330 | <h3 class="h4"> 硬件é误 </h3> |
---|
| 331 | <p> |
---|
| 332 | 硬件é误æ¯åžžæèäžæ¯åŒåžžãHDFSå¯èœç±æçŸäžåçæå¡åšæææïŒæ¯äžªæå¡åšäžååšçæ件系ç»çéšåæ°æ®ãæ们é¢å¯¹çç°å®æ¯ææç³»ç»çç»ä»¶æ°ç®æ¯å·šå€§çïŒèäžä»»äžç»ä»¶éœæå¯èœå€±æïŒè¿æå³çæ»æ¯æäžéšåHDFSçç»ä»¶æ¯äžå·¥äœçãå æ€é误æ£æµåå¿«éãèªåšçæ¢å€æ¯HDFSææ žå¿çæ¶æç®æ ã |
---|
| 333 | </p> |
---|
| 334 | <a name="N10036"></a><a name="%E6%B5%81%E5%BC%8F%E6%95%B0%E6%8D%AE%E8%AE%BF%E9%97%AE"></a> |
---|
| 335 | <h3 class="h4"> æµåŒæ°æ®è®¿é® </h3> |
---|
| 336 | <p> |
---|
| 337 | è¿è¡åšHDFSäžçåºçšåæ®éçåºçšäžåïŒéèŠæµåŒè®¿é®å®ä»¬çæ°æ®éãHDFSç讟计äžæŽå€çèèå°äºæ°æ®æ¹å€çïŒèäžæ¯çšæ·äº€äºå€çãæ¯ä¹æ°æ®è®¿é®çäœå»¶è¿é®é¢ïŒæŽå
³é®çåšäºæ°æ®è®¿é®çé«ååéãPOSIXæ å讟眮çåŸå€ç¡¬æ§çºŠæ对HDFSåºçšç³»ç»äžæ¯å¿
éçã䞺äºæé«æ°æ®çååéïŒåšäžäºå
³é®æ¹é¢å¯¹POSIXçè¯ä¹åäºäžäºä¿®æ¹ã |
---|
| 338 | </p> |
---|
| 339 | <a name="N10040"></a><a name="%E5%A4%A7%E8%A7%84%E6%A8%A1%E6%95%B0%E6%8D%AE%E9%9B%86"></a> |
---|
| 340 | <h3 class="h4"> 倧è§æš¡æ°æ®é </h3> |
---|
| 341 | <p> |
---|
| 342 | è¿è¡åšHDFSäžçåºçšå
·æåŸå€§çæ°æ®éãHDFSäžçäžäžªå
žåæ件倧å°äžè¬éœåšGåèè³Tåèãå æ€ïŒHDFS被è°è以æ¯æ倧æ件ååšãå®åºè¯¥èœæäŸæŽäœäžé«çæ°æ®äŒ èŸåžŠå®œïŒèœåšäžäžªé矀éæ©å±å°æ°çŸäžªèç¹ãäžäžªåäžçHDFSå®äŸåºè¯¥èœæ¯ææ°ä»¥åäžè®¡çæ件ã |
---|
| 343 | </p> |
---|
| 344 | <a name="N1004A"></a><a name="%E7%AE%80%E5%8D%95%E7%9A%84%E4%B8%80%E8%87%B4%E6%80%A7%E6%A8%A1%E5%9E%8B"></a> |
---|
| 345 | <h3 class="h4"> ç®åçäžèŽæ§æš¡å </h3> |
---|
| 346 | <p> |
---|
| 347 | HDFSåºçšéèŠäžäžª“äžæ¬¡åå
¥å€æ¬¡è¯»å”çæ件访é®æš¡åãäžäžªæ件ç»è¿å建ãåå
¥åå
³éä¹åå°±äžéèŠæ¹åãè¿äžå讟ç®åäºæ°æ®äžèŽæ§é®é¢ïŒå¹¶äžäœ¿é«ååéçæ°æ®è®¿é®æ䞺å¯èœãMap/Reduceåºçšæè
çœç»ç¬è«åºçšéœéåžžéåè¿äžªæš¡åãç®åè¿æ计ååšå°æ¥æ©å
è¿äžªæš¡åïŒäœ¿ä¹æ¯ææ件çéå åæäœã |
---|
| 348 | </p> |
---|
| 349 | <a name="N10058"></a><a name="%E2%80%9C%E7%A7%BB%E5%8A%A8%E8%AE%A1%E7%AE%97%E6%AF%94%E7%A7%BB%E5%8A%A8%E6%95%B0%E6%8D%AE%E6%9B%B4%E5%88%92%E7%AE%97%E2%80%9D"></a> |
---|
| 350 | <h3 class="h4"> “移åšè®¡ç®æ¯ç§»åšæ°æ®æŽåç®” </h3> |
---|
| 351 | <p> |
---|
| 352 | äžäžªåºçšè¯·æ±ç计ç®ïŒçŠ»å®æäœçæ°æ®è¶è¿å°±è¶é«æïŒåšæ°æ®èŸŸå°æµ·é级å«çæ¶åæŽæ¯åŠæ€ãå 䞺è¿æ ·å°±èœéäœçœç»é»å¡ç圱åïŒæé«ç³»ç»æ°æ®çååéãå°è®¡ç®ç§»åšå°æ°æ®éè¿ïŒæ¯ä¹å°æ°æ®ç§»åšå°åºçšæåšæŸç¶æŽå¥œãHDFS䞺åºçšæäŸäºå°å®ä»¬èªå·±ç§»åšå°æ°æ®éè¿çæ¥å£ã |
---|
| 353 | </p> |
---|
| 354 | <a name="N10062"></a><a name="%E5%BC%82%E6%9E%84%E8%BD%AF%E7%A1%AC%E4%BB%B6%E5%B9%B3%E5%8F%B0%E9%97%B4%E7%9A%84%E5%8F%AF%E7%A7%BB%E6%A4%8D%E6%80%A7"></a> |
---|
| 355 | <h3 class="h4"> åŒæ蜯硬件平å°éŽçå¯ç§»æ€æ§ </h3> |
---|
| 356 | <p> |
---|
| 357 | HDFSåšè®Ÿè®¡çæ¶åå°±èèå°å¹³å°çå¯ç§»æ€æ§ãè¿ç§ç¹æ§æ¹äŸ¿äºHDFSäœäžºå€§è§æš¡æ°æ®åºçšå¹³å°çæšå¹¿ã |
---|
| 358 | </p> |
---|
| 359 | </div> |
---|
| 360 | |
---|
| 361 | |
---|
| 362 | |
---|
| 363 | <a name="N1006D"></a><a name="Namenode+%E5%92%8C+Datanode"></a> |
---|
| 364 | <h2 class="h3"> Namenode å Datanode </h2> |
---|
| 365 | <div class="section"> |
---|
| 366 | <p> |
---|
| 367 | HDFSéçšmaster/slaveæ¶æãäžäžªHDFSé矀æ¯ç±äžäžªNamenodeåäžå®æ°ç®çDatanodesç»æãNamenodeæ¯äžäžªäžå¿æå¡åšïŒèŽèŽ£ç®¡çæ件系ç»çåå空éŽ(namespace)以å客æ·ç«¯å¯¹æ件ç访é®ãé矀äžçDatanodeäžè¬æ¯äžäžªèç¹äžäžªïŒèŽèŽ£ç®¡çå®æåšèç¹äžçååšãHDFSæŽé²äºæ件系ç»çåå空éŽïŒçšæ·èœå€ä»¥æ件ç圢åŒåšäžé¢ååšæ°æ®ãä»å
éšçïŒäžäžªæ件å
¶å®è¢«åæäžäžªæå€äžªæ°æ®åïŒè¿äºåååšåšäžç»DatanodeäžãNamenodeæ§è¡æ件系ç»çåå空éŽæäœïŒæ¯åŠæåŒãå
³éãéåœåæ件æç®åœãå®ä¹èŽèŽ£ç¡®å®æ°æ®åå°å
·äœDatanodeèç¹çæ å°ãDatanodeèŽèŽ£å€çæ件系ç»å®¢æ·ç«¯ç读å请æ±ãåšNamenodeçç»äžè°åºŠäžè¿è¡æ°æ®åçå建ãå é€åå€å¶ã |
---|
| 368 | </p> |
---|
| 369 | <div id="" style="text-align: center;"> |
---|
| 370 | <img id="" class="figure" alt="HDFS æ¶æ" src="images/hdfsarchitecture.gif"></div> |
---|
| 371 | <p> |
---|
| 372 | NamenodeåDatanode被讟计æå¯ä»¥åšæ®éçåçšæºåšäžè¿è¡ãè¿äºæºåšäžè¬è¿è¡çGNU/Linuxæäœç³»ç»(<acronym title="æäœç³»ç»">OS</acronym>)ãHDFSéçšJavaè¯èšåŒåïŒå æ€ä»»äœæ¯æJavaçæºåšéœå¯ä»¥éšçœ²NamenodeæDatanodeãç±äºéçšäºå¯ç§»æ€æ§æ区çJavaè¯èšïŒäœ¿åŸHDFSå¯ä»¥éšçœ²å°å€ç§ç±»åçæºåšäžãäžäžªå
žåçéšçœ²åºæ¯æ¯äžå°æºåšäžåªè¿è¡äžäžªNamenodeå®äŸïŒèé矀äžçå
¶å®æºåšåå«è¿è¡äžäžªDatanodeå®äŸãè¿ç§æ¶æ并äžææ¥åšäžå°æºåšäžè¿è¡å€äžªDatanodeïŒåªäžè¿è¿æ ·çæ
åµæ¯èŸå°è§ã |
---|
| 373 | </p> |
---|
| 374 | <p> |
---|
| 375 | é矀äžåäžNamenodeçç»æ倧倧ç®åäºç³»ç»çæ¶æãNamenodeæ¯ææHDFSå
æ°æ®ç仲è£è
å管çè
ïŒè¿æ ·ïŒçšæ·æ°æ®æ°žè¿äžäŒæµè¿Namenodeã |
---|
| 376 | </p> |
---|
| 377 | </div> |
---|
| 378 | |
---|
| 379 | |
---|
| 380 | <a name="N10089"></a><a name="%E6%96%87%E4%BB%B6%E7%B3%BB%E7%BB%9F%E7%9A%84%E5%90%8D%E5%AD%97%E7%A9%BA%E9%97%B4+%28namespace%29"></a> |
---|
| 381 | <h2 class="h3"> æ件系ç»çååç©ºéŽ (namespace) </h2> |
---|
| 382 | <div class="section"> |
---|
| 383 | <p> |
---|
| 384 | HDFSæ¯æäŒ ç»çå±æ¬¡åæ件ç»ç»ç»æãçšæ·æè
åºçšçšåºå¯ä»¥å建ç®åœïŒç¶åå°æ件ä¿ååšè¿äºç®åœéãæ件系ç»åå空éŽçå±æ¬¡ç»æå倧å€æ°ç°æçæ件系ç»ç±»äŒŒïŒçšæ·å¯ä»¥å建ãå é€ã移åšæéåœåæ件ãåœåïŒHDFSäžæ¯æçšæ·ç£çé
é¢å访é®æéæ§å¶ïŒä¹äžæ¯æ硬éŸæ¥å蜯éŸæ¥ãäœæ¯HDFSæ¶æ并äžåŠšç¢å®ç°è¿äºç¹æ§ã |
---|
| 385 | </p> |
---|
| 386 | <p> |
---|
| 387 | NamenodeèŽèŽ£ç»Žæ€æ件系ç»çåå空éŽïŒä»»äœå¯¹æ件系ç»åå空éŽæå±æ§çä¿®æ¹éœå°è¢«Namenodeè®°åœäžæ¥ãåºçšçšåºå¯ä»¥è®Ÿçœ®HDFSä¿åçæ件çå¯æ¬æ°ç®ãæ件å¯æ¬çæ°ç®ç§°äžºæ件çå¯æ¬ç³»æ°ïŒè¿äžªä¿¡æ¯ä¹æ¯ç±Namenodeä¿åçã |
---|
| 388 | </p> |
---|
| 389 | </div> |
---|
| 390 | |
---|
| 391 | |
---|
| 392 | <a name="N10096"></a><a name="%E6%95%B0%E6%8D%AE%E5%A4%8D%E5%88%B6"></a> |
---|
| 393 | <h2 class="h3"> æ°æ®å€å¶ </h2> |
---|
| 394 | <div class="section"> |
---|
| 395 | <p> |
---|
| 396 | HDFS被讟计æèœå€åšäžäžªå€§é矀äžè·šæºåšå¯é å°ååšè¶
倧æ件ãå®å°æ¯äžªæ件ååšæäžç³»åçæ°æ®åïŒé€äºæåäžäžªïŒææçæ°æ®åéœæ¯åæ ·å€§å°çã䞺äºå®¹éïŒæ件çæææ°æ®åéœäŒæå¯æ¬ãæ¯äžªæ件çæ°æ®å倧å°åå¯æ¬ç³»æ°éœæ¯å¯é
眮çãåºçšçšåºå¯ä»¥æå®æ䞪æ件çå¯æ¬æ°ç®ãå¯æ¬ç³»æ°å¯ä»¥åšæ件å建çæ¶åæå®ïŒä¹å¯ä»¥åšä¹åæ¹åãHDFSäžçæ件éœæ¯äžæ¬¡æ§åå
¥çïŒå¹¶äžäž¥æ ŒèŠæ±åšä»»äœæ¶ååªèœæäžäžªåå
¥è
ã |
---|
| 397 | </p> |
---|
| 398 | <p> |
---|
| 399 | Namenodeå
šæ管çæ°æ®åçå€å¶ïŒå®åšææ§å°ä»é矀äžçæ¯äžªDatanodeæ¥æ¶å¿è·³ä¿¡å·ååç¶ææ¥å(Blockreport)ãæ¥æ¶å°å¿è·³ä¿¡å·æå³ç该Datanodeèç¹å·¥äœæ£åžžãåç¶ææ¥åå
å«äºäžäžªè¯¥Datanodeäžæææ°æ®åçåè¡šã |
---|
| 400 | </p> |
---|
| 401 | <div id="" style="text-align: center;"> |
---|
| 402 | <img id="" class="figure" alt="HDFS Datanodes" src="images/hdfsdatanodes.gif"></div> |
---|
| 403 | <a name="N100A6"></a><a name="%E5%89%AF%E6%9C%AC%E5%AD%98%E6%94%BE%3A+%E6%9C%80%E6%9C%80%E5%BC%80%E5%A7%8B%E7%9A%84%E4%B8%80%E6%AD%A5"></a> |
---|
| 404 | <h3 class="h4"> å¯æ¬åæŸ: ææåŒå§çäžæ¥ </h3> |
---|
| 405 | <p> |
---|
| 406 | å¯æ¬çåæŸæ¯HDFSå¯é æ§åæ§èœçå
³é®ãäŒåçå¯æ¬åæŸçç¥æ¯HDFSåºåäºå
¶ä»å€§éšåååžåŒæ件系ç»çéèŠç¹æ§ãè¿ç§ç¹æ§éèŠå倧éçè°äŒïŒå¹¶éèŠç»éªç积环ãHDFSéçšäžç§ç§°äžºæºæ¶æç¥(rack-aware)ççç¥æ¥æ¹è¿æ°æ®çå¯é æ§ãå¯çšæ§åçœç»åžŠå®œçå©çšçãç®åå®ç°çå¯æ¬åæŸçç¥åªæ¯åšè¿äžªæ¹åäžç第äžæ¥ãå®ç°è¿äžªçç¥ççæç®æ æ¯éªè¯å®åšç产ç¯å¢äžçæææ§ïŒè§å¯å®çè¡äžºïŒäžºå®ç°æŽå
è¿ççç¥æäžæµè¯åç 究çåºç¡ã |
---|
| 407 | </p> |
---|
| 408 | <p> |
---|
| 409 | 倧åHDFSå®äŸäžè¬è¿è¡åšè·šè¶å€äžªæºæ¶ç计ç®æºç»æçé矀äžïŒäžåæºæ¶äžç䞀å°æºåšä¹éŽçé讯éèŠç»è¿äº€æ¢æºãåšå€§å€æ°æ
åµäžïŒåäžäžªæºæ¶å
ç䞀å°æºåšéŽç垊宜äŒæ¯äžåæºæ¶ç䞀å°æºåšéŽç垊宜倧ã |
---|
| 410 | </p> |
---|
| 411 | <p> |
---|
| 412 | éè¿äžäžª<a href="cluster_setup.html#Hadoop%E7%9A%84%E6%9C%BA%E6%9E%B6%E6%84%9F%E7%9F%A5">æºæ¶æç¥</a>çè¿çšïŒNamenodeå¯ä»¥ç¡®å®æ¯äžªDatanodeæå±çæºæ¶idãäžäžªç®åäœæ²¡æäŒåççç¥å°±æ¯å°å¯æ¬åæŸåšäžåçæºæ¶äžãè¿æ ·å¯ä»¥ææé²æ¢åœæŽäžªæºæ¶å€±ææ¶æ°æ®ç䞢倱ïŒå¹¶äžå
讞读æ°æ®çæ¶åå
åå©çšå€äžªæºæ¶ç垊宜ãè¿ç§çç¥è®Ÿçœ®å¯ä»¥å°å¯æ¬ååååžåšé矀äžïŒæå©äºåœç»ä»¶å€±ææ
åµäžçèŽèœœåè¡¡ãäœæ¯ïŒå 䞺è¿ç§çç¥çäžäžªåæäœéèŠäŒ èŸæ°æ®åå°å€äžªæºæ¶ïŒè¿å¢å äºåç代价ã |
---|
| 413 | </p> |
---|
| 414 | <p> |
---|
| 415 | åšå€§å€æ°æ
åµäžïŒå¯æ¬ç³»æ°æ¯3ïŒHDFSçåæŸçç¥æ¯å°äžäžªå¯æ¬åæŸåšæ¬å°æºæ¶çèç¹äžïŒäžäžªå¯æ¬æŸåšåäžæºæ¶çåŠäžäžªèç¹äžïŒæåäžäžªå¯æ¬æŸåšäžåæºæ¶çèç¹äžãè¿ç§çç¥åå°äºæºæ¶éŽçæ°æ®äŒ èŸïŒè¿å°±æé«äºåæäœçæçãæºæ¶çé误è¿è¿æ¯èç¹çé误å°ïŒæ以è¿äžªçç¥äžäŒåœ±åå°æ°æ®çå¯é æ§åå¯çšæ§ãäºæ€åæ¶ïŒå 䞺æ°æ®ååªæŸåšäž€äžªïŒäžæ¯äžäžªïŒäžåçæºæ¶äžïŒæ以æ€çç¥åå°äºè¯»åæ°æ®æ¶éèŠççœç»äŒ èŸæ»åžŠå®œãåšè¿ç§çç¥äžïŒå¯æ¬å¹¶äžæ¯ååååžåšäžåçæºæ¶äžãäžåä¹äžçå¯æ¬åšäžäžªèç¹äžïŒäžåä¹äºçå¯æ¬åšäžäžªæºæ¶äžïŒå
¶ä»å¯æ¬ååååžåšå©äžçæºæ¶äžïŒè¿äžçç¥åšäžæ害æ°æ®å¯é æ§å读åæ§èœçæ
åµäžæ¹è¿äºåçæ§èœã |
---|
| 416 | </p> |
---|
| 417 | <p> |
---|
| 418 | åœåïŒè¿éä»ç»çé»è®€å¯æ¬åæŸçç¥æ£åšåŒåçè¿çšäžã |
---|
| 419 | </p> |
---|
| 420 | <a name="N100C0"></a><a name="%E5%89%AF%E6%9C%AC%E9%80%89%E6%8B%A9"></a> |
---|
| 421 | <h3 class="h4"> å¯æ¬éæ© </h3> |
---|
| 422 | <p> |
---|
| 423 | 䞺äºéäœæŽäœç垊宜æ¶èå读å延æ¶ïŒHDFSäŒå°œé让读åçšåºè¯»å犻å®æè¿çå¯æ¬ãåŠæåšè¯»åçšåºçåäžäžªæºæ¶äžæäžäžªå¯æ¬ïŒé£ä¹å°±è¯»å该å¯æ¬ãåŠæäžäžªHDFSé矀跚è¶å€äžªæ°æ®äžå¿ïŒé£ä¹å®¢æ·ç«¯ä¹å°éŠå
读æ¬å°æ°æ®äžå¿çå¯æ¬ã |
---|
| 424 | </p> |
---|
| 425 | <a name="N100CA"></a><a name="%E5%AE%89%E5%85%A8%E6%A8%A1%E5%BC%8F"></a> |
---|
| 426 | <h3 class="h4"> å®å
šæš¡åŒ </h3> |
---|
| 427 | <p> |
---|
| 428 | Namenodeå¯åšåäŒè¿å
¥äžäžªç§°äžºå®å
šæš¡åŒçç¹æ®ç¶æãå€äºå®å
šæš¡åŒçNamenodeæ¯äžäŒè¿è¡æ°æ®åçå€å¶çãNamenodeä»ææç Datanodeæ¥æ¶å¿è·³ä¿¡å·ååç¶ææ¥åãåç¶ææ¥åå
æ¬äºæ䞪Datanodeææçæ°æ®ååè¡šãæ¯äžªæ°æ®åéœæäžäžªæå®çæå°å¯æ¬æ°ãåœNamenodeæ£æµç¡®è®€æ䞪æ°æ®åçå¯æ¬æ°ç®èŸŸå°è¿äžªæå°åŒïŒé£ä¹è¯¥æ°æ®åå°±äŒè¢«è®€äžºæ¯å¯æ¬å®å
š(safely replicated)çïŒåšäžå®çŸåæ¯ïŒè¿äžªåæ°å¯é
眮ïŒçæ°æ®å被Namenodeæ£æµç¡®è®€æ¯å®å
šä¹åïŒå äžäžäžªé¢å€ç30ç§çåŸ
æ¶éŽïŒïŒNamenodeå°éåºå®å
šæš¡åŒç¶æãæ¥äžæ¥å®äŒç¡®å®è¿æåªäºæ°æ®åçå¯æ¬æ²¡æ蟟å°æå®æ°ç®ïŒå¹¶å°è¿äºæ°æ®åå€å¶å°å
¶ä»Datanodeäžã |
---|
| 429 | </p> |
---|
| 430 | </div> |
---|
| 431 | |
---|
| 432 | |
---|
| 433 | <a name="N100D5"></a><a name="%E6%96%87%E4%BB%B6%E7%B3%BB%E7%BB%9F%E5%85%83%E6%95%B0%E6%8D%AE%E7%9A%84%E6%8C%81%E4%B9%85%E5%8C%96"></a> |
---|
| 434 | <h2 class="h3"> æ件系ç»å
æ°æ®çæä¹
å </h2> |
---|
| 435 | <div class="section"> |
---|
| 436 | <p> |
---|
| 437 | Namenodeäžä¿åçHDFSçåå空éŽã对äºä»»äœå¯¹æ件系ç»å
æ°æ®äº§çä¿®æ¹çæäœïŒNamenodeéœäŒäœ¿çšäžç§ç§°äžºEditLogçäºå¡æ¥å¿è®°åœäžæ¥ãäŸåŠïŒåšHDFSäžå建äžäžªæ件ïŒNamenodeå°±äŒåšEditlogäžæå
¥äžæ¡è®°åœæ¥è¡šç€ºïŒåæ ·å°ïŒä¿®æ¹æ件çå¯æ¬ç³»æ°ä¹å°åŸEditlogæå
¥äžæ¡è®°åœãNamenodeåšæ¬å°æäœç³»ç»çæ件系ç»äžååšè¿äžªEditlogãæŽäžªæ件系ç»çåå空éŽïŒå
æ¬æ°æ®åå°æ件çæ å°ãæ件çå±æ§çïŒéœååšåšäžäžªç§°äžºFsImageçæ件äžïŒè¿äžªæ件ä¹æ¯æŸåšNamenodeæåšçæ¬å°æ件系ç»äžã |
---|
| 438 | </p> |
---|
| 439 | <p> |
---|
| 440 | Namenodeåšå
åäžä¿åçæŽäžªæ件系ç»çåå空éŽåæ件æ°æ®åæ å°(Blockmap)çæ åãè¿äžªå
³é®çå
æ°æ®ç»æ讟计åŸåŸçŽ§åïŒå èäžäžªæ4Gå
åçNamenode足å€æ¯æ倧éçæ件åç®åœãåœNamenodeå¯åšæ¶ïŒå®ä»ç¡¬çäžè¯»åEditlogåFsImageïŒå°ææEditlogäžçäºå¡äœçšåšå
åäžçFsImageäžïŒå¹¶å°è¿äžªæ°çæ¬çFsImageä»å
åäžä¿åå°æ¬å°ç£çäžïŒç¶åå é€æ§çEditlogïŒå 䞺è¿äžªæ§çEditlogçäºå¡éœå·²ç»äœçšåšFsImageäžäºãè¿äžªè¿çšç§°äžºäžäžªæ£æ¥ç¹(checkpoint)ãåšåœåå®ç°äžïŒæ£æ¥ç¹åªåçåšNamenodeå¯åšæ¶ïŒåšäžä¹
çå°æ¥å°å®ç°æ¯æåšææ§çæ£æ¥ç¹ã |
---|
| 441 | </p> |
---|
| 442 | <p> |
---|
| 443 | Datanodeå°HDFSæ°æ®ä»¥æ件ç圢åŒååšåšæ¬å°çæ件系ç»äžïŒå®å¹¶äžç¥éæå
³HDFSæ件çä¿¡æ¯ãå®ææ¯äžªHDFSæ°æ®åååšåšæ¬å°æ件系ç»çäžäžªåç¬çæ件äžãDatanode并äžåšåäžäžªç®åœå建ææçæ件ïŒå®é
äžïŒå®çšè¯æ¢çæ¹æ³æ¥ç¡®å®æ¯äžªç®åœçæ䜳æ件æ°ç®ïŒå¹¶äžåšéåœçæ¶åå建åç®åœãåšåäžäžªç®åœäžå建ææçæ¬å°æ件并äžæ¯æäŒçéæ©ïŒè¿æ¯å 䞺æ¬å°æ件系ç»å¯èœæ æ³é«æå°åšå䞪ç®åœäžæ¯æ倧éçæ件ãåœäžäžªDatanodeå¯åšæ¶ïŒå®äŒæ«ææ¬å°æ件系ç»ïŒäº§çäžäžªè¿äºæ¬å°æ件对åºçææHDFSæ°æ®åçåè¡šïŒç¶åäœäžºæ¥ååéå°NamenodeïŒè¿äžªæ¥åå°±æ¯åç¶ææ¥åã |
---|
| 444 | </p> |
---|
| 445 | </div> |
---|
| 446 | |
---|
| 447 | |
---|
| 448 | <a name="N100E5"></a><a name="%E9%80%9A%E8%AE%AF%E5%8D%8F%E8%AE%AE"></a> |
---|
| 449 | <h2 class="h3"> é讯åè®® </h2> |
---|
| 450 | <div class="section"> |
---|
| 451 | <p> |
---|
| 452 | ææçHDFSé讯åè®®éœæ¯å»ºç«åšTCP/IPåè®®ä¹äžã客æ·ç«¯éè¿äžäžªå¯é
眮ç<acronym title="Transmission Control Protocol">TCP</acronym>端å£è¿æ¥å°NamenodeïŒéè¿ClientProtocolåè®®äžNamenode亀äºãèDatanode䜿çšDatanodeProtocolåè®®äžNamenode亀äºãäžäžªè¿çšè¿çšè°çš(<acronym title="Remote Procedure Call">RPC</acronym>)æš¡å被æœè±¡åºæ¥å°è£
ClientProtocolåDatanodeprotocolåè®®ãåšè®Ÿè®¡äžïŒNamenodeäžäŒäž»åšåèµ·RPCïŒèæ¯ååºæ¥èªå®¢æ·ç«¯æ Datanode çRPC请æ±ã |
---|
| 453 | </p> |
---|
| 454 | </div> |
---|
| 455 | |
---|
| 456 | |
---|
| 457 | <a name="N100F7"></a><a name="%E5%81%A5%E5%A3%AE%E6%80%A7"></a> |
---|
| 458 | <h2 class="h3"> å¥å£®æ§ </h2> |
---|
| 459 | <div class="section"> |
---|
| 460 | <p> |
---|
| 461 | HDFSçäž»èŠç®æ å°±æ¯å³äœ¿åšåºéçæ
åµäžä¹èŠä¿è¯æ°æ®ååšçå¯é æ§ãåžžè§çäžç§åºéæ
åµæ¯ïŒNamenodeåºé, Datanodeåºéåçœç»å²è£(network partitions)ã |
---|
| 462 | </p> |
---|
| 463 | <a name="N10100"></a><a name="%E7%A3%81%E7%9B%98%E6%95%B0%E6%8D%AE%E9%94%99%E8%AF%AF%EF%BC%8C%E5%BF%83%E8%B7%B3%E6%A3%80%E6%B5%8B%E5%92%8C%E9%87%8D%E6%96%B0%E5%A4%8D%E5%88%B6"></a> |
---|
| 464 | <h3 class="h4"> ç£çæ°æ®é误ïŒå¿è·³æ£æµåéæ°å€å¶ </h3> |
---|
| 465 | <p> |
---|
| 466 | æ¯äžªDatanodeèç¹åšææ§å°åNamenodeåéå¿è·³ä¿¡å·ãçœç»å²è£å¯èœå¯ŒèŽäžéšåDatanodeè·Namenode倱å»èç³»ãNamenodeéè¿å¿è·³ä¿¡å·ç猺倱æ¥æ£æµè¿äžæ
åµïŒå¹¶å°è¿äºè¿æäžååéå¿è·³ä¿¡å·Datanodeæ 记䞺å®æºïŒäžäŒåå°æ°ç<acronym title="Input/Output">IO</acronym>请æ±åç»å®ä»¬ãä»»äœååšåšå®æºDatanodeäžçæ°æ®å°äžåææãDatanodeçå®æºå¯èœäŒåŒèµ·äžäºæ°æ®åçå¯æ¬ç³»æ°äœäºæå®åŒïŒNamenodeäžæå°æ£æµè¿äºéèŠå€å¶çæ°æ®åïŒäžæŠåç°å°±å¯åšå€å¶æäœãåšäžåæ
åµäžïŒå¯èœéèŠéæ°å€å¶ïŒæ䞪Datanodeèç¹å€±æïŒæ䞪å¯æ¬éå°æåïŒDatanodeäžç硬çé误ïŒæè
æ件çå¯æ¬ç³»æ°å¢å€§ã |
---|
| 467 | </p> |
---|
| 468 | <a name="N1010E"></a><a name="%E9%9B%86%E7%BE%A4%E5%9D%87%E8%A1%A1"></a> |
---|
| 469 | <h3 class="h4"> é矀åè¡¡ </h3> |
---|
| 470 | <p> |
---|
| 471 | HDFSçæ¶ææ¯ææ°æ®åè¡¡çç¥ãåŠææ䞪Datanodeèç¹äžç空é²ç©ºéŽäœäºç¹å®ç䞎çç¹ïŒæç
§åè¡¡çç¥ç³»ç»å°±äŒèªåšå°å°æ°æ®ä»è¿äžªDatanode移åšå°å
¶ä»ç©ºé²çDatanodeãåœå¯¹æ䞪æ件ç请æ±çªç¶å¢å ïŒé£ä¹ä¹å¯èœå¯åšäžäžªè®¡åå建该æ件æ°çå¯æ¬ïŒå¹¶äžåæ¶éæ°å¹³è¡¡é矀äžçå
¶ä»æ°æ®ãè¿äºåè¡¡çç¥ç®åè¿æ²¡æå®ç°ã |
---|
| 472 | </p> |
---|
| 473 | <a name="N10118"></a><a name="%E6%95%B0%E6%8D%AE%E5%AE%8C%E6%95%B4%E6%80%A7"></a> |
---|
| 474 | <h3 class="h4"> æ°æ®å®æŽæ§ </h3> |
---|
| 475 | <p> |
---|
| 476 | <!-- XXX "checksum checking" sounds funny --> |
---|
| 477 | ä»æ䞪Datanodeè·åçæ°æ®åæå¯èœæ¯æåçïŒæåå¯èœæ¯ç±Datanodeçååšè®Ÿå€é误ãçœç»é误æè
蜯件bugé æçãHDFS客æ·ç«¯èœ¯ä»¶å®ç°äºå¯¹HDFSæ件å
容çæ ¡éªå(checksum)æ£æ¥ãåœå®¢æ·ç«¯å建äžäžªæ°çHDFSæ件ïŒäŒè®¡ç®è¿äžªæ件æ¯äžªæ°æ®åçæ ¡éªåïŒå¹¶å°æ ¡éªåäœäžºäžäžªåç¬çéèæ件ä¿ååšåäžäžªHDFSåå空éŽäžãåœå®¢æ·ç«¯è·åæ件å
容åïŒå®äŒæ£éªä»Datanodeè·åçæ°æ®è·çžåºçæ ¡éªåæ件äžçæ ¡éªåæ¯åŠå¹é
ïŒåŠæäžå¹é
ïŒå®¢æ·ç«¯å¯ä»¥éæ©ä»å
¶ä»Datanodeè·å该æ°æ®åçå¯æ¬ã |
---|
| 478 | </p> |
---|
| 479 | <a name="N10124"></a><a name="%E5%85%83%E6%95%B0%E6%8D%AE%E7%A3%81%E7%9B%98%E9%94%99%E8%AF%AF"></a> |
---|
| 480 | <h3 class="h4"> å
æ°æ®ç£çé误 </h3> |
---|
| 481 | <p> |
---|
| 482 | FsImageåEditlogæ¯HDFSçæ žå¿æ°æ®ç»æãåŠæè¿äºæ件æåäºïŒæŽäžªHDFSå®äŸéœå°å€±æãå èïŒNamenodeå¯ä»¥é
眮ææ¯æ绎æ€å€äžªFsImageåEditlogçå¯æ¬ãä»»äœå¯¹FsImageæè
Editlogçä¿®æ¹ïŒéœå°åæ¥å°å®ä»¬çå¯æ¬äžãè¿ç§å€å¯æ¬çåæ¥æäœå¯èœäŒéäœNamenodeæ¯ç§å€ççåå空éŽäºå¡æ°éãç¶èè¿äžªä»£ä»·æ¯å¯ä»¥æ¥åçïŒå 䞺å³äœ¿HDFSçåºçšæ¯æ°æ®å¯éçïŒå®ä»¬ä¹éå
æ°æ®å¯éçãåœNamenodeéå¯çæ¶åïŒå®äŒéåæè¿çå®æŽçFsImageåEditlogæ¥äœ¿çšã |
---|
| 483 | </p> |
---|
| 484 | <p> |
---|
| 485 | Namenodeæ¯HDFSé矀äžçåç¹æ
é(single point of failure)æåšãåŠæNamenodeæºåšæ
éïŒæ¯éèŠæ工干é¢çãç®åïŒèªåšéå¯æåšåŠäžå°æºåšäžåNamenodeæ
é蜬移çåèœè¿æ²¡å®ç°ã |
---|
| 486 | </p> |
---|
| 487 | <a name="N10131"></a><a name="%E5%BF%AB%E7%85%A7"></a> |
---|
| 488 | <h3 class="h4"> å¿«ç
§ </h3> |
---|
| 489 | <p> |
---|
| 490 | å¿«ç
§æ¯ææäžç¹å®æ¶å»çæ°æ®çå€å¶å€ä»œãå©çšå¿«ç
§ïŒå¯ä»¥è®©HDFSåšæ°æ®æåæ¶æ¢å€å°è¿å»äžäžªå·²ç¥æ£ç¡®çæ¶éŽç¹ãHDFSç®åè¿äžæ¯æå¿«ç
§åèœïŒäœè®¡ååšå°æ¥ççæ¬è¿è¡æ¯æã |
---|
| 491 | </p> |
---|
| 492 | </div> |
---|
| 493 | |
---|
| 494 | <a name="N1013C"></a><a name="%E6%95%B0%E6%8D%AE%E7%BB%84%E7%BB%87"></a> |
---|
| 495 | <h2 class="h3"> æ°æ®ç»ç» </h2> |
---|
| 496 | <div class="section"> |
---|
| 497 | <a name="N10144"></a><a name="%E6%95%B0%E6%8D%AE%E5%9D%97"></a> |
---|
| 498 | <h3 class="h4"> æ°æ®å </h3> |
---|
| 499 | <p> |
---|
| 500 | HDFS被讟计ææ¯æ倧æ件ïŒéçšHDFSçæ¯é£äºéèŠå€ç倧è§æš¡çæ°æ®éçåºçšãè¿äºåºçšéœæ¯åªåå
¥æ°æ®äžæ¬¡ïŒäœåŽè¯»åäžæ¬¡æå€æ¬¡ïŒå¹¶äžè¯»åé床åºèœæ»¡è¶³æµåŒè¯»åçéèŠãHDFSæ¯ææ件ç“äžæ¬¡åå
¥å€æ¬¡è¯»å”è¯ä¹ãäžäžªå
žåçæ°æ®å倧å°æ¯64MBãå èïŒHDFSäžçæ件æ»æ¯æç
§64M被ååæäžåçåïŒæ¯äžªåå°œå¯èœå°ååšäºäžåçDatanodeäžã |
---|
| 501 | </p> |
---|
| 502 | <a name="N1014E"></a><a name="Staging"></a> |
---|
| 503 | <h3 class="h4"> Staging </h3> |
---|
| 504 | <p> |
---|
| 505 | 客æ·ç«¯å建æ件ç请æ±å
¶å®å¹¶æ²¡æç«å³åéç»NamenodeïŒäºå®äžïŒåšååŒå§é¶æ®µHDFS客æ·ç«¯äŒå
å°æ件æ°æ®çŒåå°æ¬å°çäžäžªäžŽæ¶æ件ãåºçšçšåºçåæäœè¢«éæå°éå®åå°è¿äžªäžŽæ¶æ件ãåœè¿äžªäžŽæ¶æ件环积çæ°æ®éè¶
è¿äžäžªæ°æ®åç倧å°ïŒå®¢æ·ç«¯æäŒèç³»NamenodeãNamenodeå°æ件åæå
¥æ件系ç»çå±æ¬¡ç»æäžïŒå¹¶äžåé
äžäžªæ°æ®åç»å®ãç¶åè¿åDatanodeçæ è¯ç¬Šåç®æ æ°æ®åç»å®¢æ·ç«¯ãæ¥ç客æ·ç«¯å°è¿åæ°æ®ä»æ¬å°äžŽæ¶æ件äžäŒ å°æå®çDatanodeäžãåœæ件å
³éæ¶ïŒåšäžŽæ¶æ件äžå©äœç没æäžäŒ çæ°æ®ä¹äŒäŒ èŸå°æå®çDatanodeäžãç¶å客æ·ç«¯åè¯Namenodeæ件已ç»å
³éãæ€æ¶Namenodeæå°æ件å建æäœæ亀å°æ¥å¿éè¿è¡ååšãåŠæNamenodeåšæ件å
³éåå®æºäºïŒå该æ件å°äž¢å€±ã |
---|
| 506 | </p> |
---|
| 507 | <p> |
---|
| 508 | äžè¿°æ¹æ³æ¯å¯¹åšHDFSäžè¿è¡çç®æ åºçšè¿è¡è®€çèèååŸå°çç»æãè¿äºåºçšéèŠè¿è¡æ件çæµåŒåå
¥ãåŠæäžéçšå®¢æ·ç«¯çŒåïŒç±äºçœç»é床åçœç»å µå¡äŒå¯¹å䌰éé ææ¯èŸå€§ç圱åãè¿ç§æ¹æ³å¹¶äžæ¯æ²¡æå
äŸçïŒæ©æçæ件系ç»ïŒæ¯åŠ<acronym title="Andrew File System">AFS</acronym>ïŒå°±çšå®¢æ·ç«¯çŒåæ¥æé«æ§èœã䞺äºèŸŸå°æŽé«çæ°æ®äžäŒ æçïŒå·²ç»æŸæŸäºPOSIXæ åçèŠæ±ã |
---|
| 509 | </p> |
---|
| 510 | <a name="N10161"></a><a name="%E6%B5%81%E6%B0%B4%E7%BA%BF%E5%A4%8D%E5%88%B6"></a> |
---|
| 511 | <h3 class="h4"> æµæ°Žçº¿å€å¶ </h3> |
---|
| 512 | <p> |
---|
| 513 | åœå®¢æ·ç«¯åHDFSæ件åå
¥æ°æ®çæ¶åïŒäžåŒå§æ¯åå°æ¬å°äžŽæ¶æ件äžãå讟该æ件çå¯æ¬ç³»æ°è®Ÿçœ®äžº3ïŒåœæ¬å°äžŽæ¶æ件环积å°äžäžªæ°æ®åç倧å°æ¶ïŒå®¢æ·ç«¯äŒä»Namenodeè·åäžäžªDatanodeåè¡šçšäºåæŸå¯æ¬ãç¶å客æ·ç«¯åŒå§å第äžäžªDatanodeäŒ èŸæ°æ®ïŒç¬¬äžäžªDatanodeäžå°éšåäžå°éšå(4 KB)å°æ¥æ¶æ°æ®ïŒå°æ¯äžéšååå
¥æ¬å°ä»åºïŒå¹¶åæ¶äŒ èŸè¯¥éšåå°åè¡šäžç¬¬äºäžªDatanodeèç¹ã第äºäžªDatanodeä¹æ¯è¿æ ·ïŒäžå°éšåäžå°éšåå°æ¥æ¶æ°æ®ïŒåå
¥æ¬å°ä»åºïŒå¹¶åæ¶äŒ ç»ç¬¬äžäžªDatanodeãæåïŒç¬¬äžäžªDatanodeæ¥æ¶æ°æ®å¹¶ååšåšæ¬å°ãå æ€ïŒDatanodeèœæµæ°Žçº¿åŒå°ä»åäžäžªèç¹æ¥æ¶æ°æ®ïŒå¹¶åšåæ¶èœ¬åç»äžäžäžªèç¹ïŒæ°æ®ä»¥æµæ°Žçº¿çæ¹åŒä»åäžäžªDatanodeå€å¶å°äžäžäžªã |
---|
| 514 | </p> |
---|
| 515 | </div> |
---|
| 516 | |
---|
| 517 | |
---|
| 518 | <a name="N1016C"></a><a name="%E5%8F%AF%E8%AE%BF%E9%97%AE%E6%80%A7"></a> |
---|
| 519 | <h2 class="h3"> å¯è®¿é®æ§ </h2> |
---|
| 520 | <div class="section"> |
---|
| 521 | <p> |
---|
| 522 | HDFSç»åºçšæäŸäºå€ç§è®¿é®æ¹åŒãçšæ·å¯ä»¥éè¿<a href="http://hadoop.apache.org/core/docs/current/api/">Java API</a>æ¥å£è®¿é®ïŒä¹å¯ä»¥éè¿Cè¯èšçå°è£
API访é®ïŒè¿å¯ä»¥éè¿æµè§åšçæ¹åŒè®¿é®HDFSäžçæ件ãéè¿<acronym title="Web-based Distributed Authoring and Versioning">WebDAV</acronym>å议访é®çæ¹åŒæ£åšåŒåäžã |
---|
| 523 | </p> |
---|
| 524 | <a name="N10181"></a><a name="DFSShell"></a> |
---|
| 525 | <h3 class="h4"> DFSShell </h3> |
---|
| 526 | <p> |
---|
| 527 | HDFS以æ件åç®åœç圢åŒç»ç»çšæ·æ°æ®ãå®æäŸäºäžäžªåœä»€è¡çæ¥å£(DFSShell)让çšæ·äžHDFSäžçæ°æ®è¿è¡äº€äºãåœä»€çè¯æ³åçšæ·çæçå
¶ä»shell(äŸåŠ bash, csh)å·¥å
·ç±»äŒŒãäžé¢æ¯äžäºåšäœ/åœä»€ç瀺äŸïŒ |
---|
| 528 | </p> |
---|
| 529 | <table class="ForrestTable" cellspacing="1" cellpadding="4"> |
---|
| 530 | |
---|
| 531 | <tr> |
---|
| 532 | |
---|
| 533 | <th colspan="1" rowspan="1"> åšäœ </th><th colspan="1" rowspan="1"> åœä»€ </th> |
---|
| 534 | |
---|
| 535 | </tr> |
---|
| 536 | |
---|
| 537 | <tr> |
---|
| 538 | |
---|
| 539 | <td colspan="1" rowspan="1"> å建äžäžªå䞺 <span class="codefrag">/foodir</span> çç®åœ </td> <td colspan="1" rowspan="1"> <span class="codefrag">bin/hadoop dfs -mkdir /foodir</span> </td> |
---|
| 540 | |
---|
| 541 | </tr> |
---|
| 542 | |
---|
| 543 | <tr> |
---|
| 544 | |
---|
| 545 | <td colspan="1" rowspan="1"> å建äžäžªå䞺 <span class="codefrag">/foodir</span> çç®åœ </td> <td colspan="1" rowspan="1"> <span class="codefrag">bin/hadoop dfs -mkdir /foodir</span> </td> |
---|
| 546 | |
---|
| 547 | </tr> |
---|
| 548 | |
---|
| 549 | <tr> |
---|
| 550 | |
---|
| 551 | <td colspan="1" rowspan="1"> æ¥çå䞺 <span class="codefrag">/foodir/myfile.txt</span> çæ件å
容 </td> <td colspan="1" rowspan="1"> <span class="codefrag">bin/hadoop dfs -cat /foodir/myfile.txt</span> </td> |
---|
| 552 | |
---|
| 553 | </tr> |
---|
| 554 | |
---|
| 555 | </table> |
---|
| 556 | <p> |
---|
| 557 | DFSShell å¯ä»¥çšåšé£äºéè¿èæ¬è¯èšåæ件系ç»è¿è¡äº€äºçåºçšçšåºäžã |
---|
| 558 | </p> |
---|
| 559 | <a name="N101D6"></a><a name="DFSAdmin"></a> |
---|
| 560 | <h3 class="h4"> DFSAdmin </h3> |
---|
| 561 | <p> |
---|
| 562 | DFSAdmin åœä»€çšæ¥ç®¡çHDFSé矀ãè¿äºåœä»€åªæHDSFç管çåæèœäœ¿çšãäžé¢æ¯äžäºåšäœ/åœä»€ç瀺äŸïŒ |
---|
| 563 | </p> |
---|
| 564 | <table class="ForrestTable" cellspacing="1" cellpadding="4"> |
---|
| 565 | |
---|
| 566 | <tr> |
---|
| 567 | |
---|
| 568 | <th colspan="1" rowspan="1"> åšäœ </th><th colspan="1" rowspan="1"> åœä»€ </th> |
---|
| 569 | |
---|
| 570 | </tr> |
---|
| 571 | |
---|
| 572 | <tr> |
---|
| 573 | |
---|
| 574 | <td colspan="1" rowspan="1"> å°é矀眮äºå®å
šæš¡åŒ </td> <td colspan="1" rowspan="1"> <span class="codefrag">bin/hadoop dfsadmin -safemode enter</span> </td> |
---|
| 575 | |
---|
| 576 | </tr> |
---|
| 577 | |
---|
| 578 | <tr> |
---|
| 579 | |
---|
| 580 | <td colspan="1" rowspan="1"> æŸç€ºDatanodeåè¡š </td> <td colspan="1" rowspan="1"> <span class="codefrag">bin/hadoop dfsadmin -report</span> </td> |
---|
| 581 | |
---|
| 582 | </tr> |
---|
| 583 | |
---|
| 584 | <tr> |
---|
| 585 | |
---|
| 586 | <td colspan="1" rowspan="1"> 䜿Datanodeèç¹ <span class="codefrag">datanodename</span>é圹</td><td colspan="1" rowspan="1"> <span class="codefrag">bin/hadoop dfsadmin -decommission datanodename</span> </td> |
---|
| 587 | |
---|
| 588 | </tr> |
---|
| 589 | |
---|
| 590 | </table> |
---|
| 591 | <a name="N10221"></a><a name="%E6%B5%8F%E8%A7%88%E5%99%A8%E6%8E%A5%E5%8F%A3"></a> |
---|
| 592 | <h3 class="h4"> æµè§åšæ¥å£ </h3> |
---|
| 593 | <p> |
---|
| 594 | äžäžªå
žåçHDFSå®è£
äŒåšäžäžªå¯é
眮çTCP端å£åŒå¯äžäžªWebæå¡åšçšäºæŽé²HDFSçåå空éŽãçšæ·å¯ä»¥çšæµè§åšæ¥æµè§HDFSçåå空éŽåæ¥çæ件çå
容ã |
---|
| 595 | </p> |
---|
| 596 | </div> |
---|
| 597 | |
---|
| 598 | |
---|
| 599 | <a name="N1022C"></a><a name="%E5%AD%98%E5%82%A8%E7%A9%BA%E9%97%B4%E5%9B%9E%E6%94%B6"></a> |
---|
| 600 | <h2 class="h3"> ååšç©ºéŽåæ¶ </h2> |
---|
| 601 | <div class="section"> |
---|
| 602 | <a name="N10232"></a><a name="%E6%96%87%E4%BB%B6%E7%9A%84%E5%88%A0%E9%99%A4%E5%92%8C%E6%81%A2%E5%A4%8D"></a> |
---|
| 603 | <h3 class="h4"> æ件çå é€åæ¢å€ </h3> |
---|
| 604 | <p> |
---|
| 605 | åœçšæ·æåºçšçšåºå é€æ䞪æ件æ¶ïŒè¿äžªæ件并没æç«å»ä»HDFSäžå é€ãå®é
äžïŒHDFSäŒå°è¿äžªæ件éåœå蜬移å°<span class="codefrag">/trash</span>ç®åœãåªèŠæ件è¿åš<span class="codefrag">/trash</span>ç®åœäžïŒè¯¥æ件就å¯ä»¥è¢«è¿
éå°æ¢å€ãæ件åš<span class="codefrag">/trash</span>äžä¿åçæ¶éŽæ¯å¯é
眮çïŒåœè¶
è¿è¿äžªæ¶éŽæ¶ïŒNamenodeå°±äŒå°è¯¥æ件ä»åå空éŽäžå é€ãå é€æ件äŒäœ¿åŸè¯¥æ件çžå
³çæ°æ®å被éæŸã泚æïŒä»çšæ·å é€æ件å°HDFS空é²ç©ºéŽçå¢å ä¹éŽäŒæäžå®æ¶éŽç延è¿ã</p> |
---|
| 606 | <p> |
---|
| 607 | åªèŠè¢«å é€çæ件è¿åš<span class="codefrag">/trash</span>ç®åœäžïŒçšæ·å°±å¯ä»¥æ¢å€è¿äžªæ件ãåŠæçšæ·æ³æ¢å€è¢«å é€çæ件ïŒä»/她å¯ä»¥æµè§<span class="codefrag">/trash</span>ç®åœæŸå该æ件ã<span class="codefrag">/trash</span>ç®åœä»
ä»
ä¿å被å é€æ件çæåå¯æ¬ã<span class="codefrag">/trash</span>ç®åœäžå
¶ä»çç®åœæ²¡æä»ä¹åºå«ïŒé€äºäžç¹ïŒåšè¯¥ç®åœäžHDFSäŒåºçšäžäžªç¹æ®çç¥æ¥èªåšå é€æ件ãç®åçé»è®€çç¥æ¯å é€<span class="codefrag">/trash</span>äžä¿çæ¶éŽè¶
è¿6å°æ¶çæ件ãå°æ¥ïŒè¿äžªçç¥å¯ä»¥éè¿äžäžªè¢«è¯å¥œå®ä¹çæ¥å£é
眮ã |
---|
| 608 | </p> |
---|
| 609 | <a name="N10257"></a><a name="%E5%87%8F%E5%B0%91%E5%89%AF%E6%9C%AC%E7%B3%BB%E6%95%B0"></a> |
---|
| 610 | <h3 class="h4"> åå°å¯æ¬ç³»æ° </h3> |
---|
| 611 | <p> |
---|
| 612 | åœäžäžªæ件çå¯æ¬ç³»æ°è¢«åå°åïŒNamenodeäŒéæ©è¿å©çå¯æ¬å é€ãäžæ¬¡å¿è·³æ£æµæ¶äŒå°è¯¥ä¿¡æ¯äŒ éç»DatanodeãDatanodeéå³ç§»é€çžåºçæ°æ®åïŒé矀äžç空é²ç©ºéŽå 倧ãåæ ·ïŒåšè°çš<span class="codefrag">setReplication</span> APIç»æåé矀äžç©ºé²ç©ºéŽå¢å éŽäŒæäžå®ç延è¿ã</p> |
---|
| 613 | </div> |
---|
| 614 | |
---|
| 615 | |
---|
| 616 | |
---|
| 617 | <a name="N10265"></a><a name="%E5%8F%82%E8%80%83%E8%B5%84%E6%96%99"></a> |
---|
| 618 | <h2 class="h3"> åèèµæ </h2> |
---|
| 619 | <div class="section"> |
---|
| 620 | <p> |
---|
| 621 | HDFS Java API: |
---|
| 622 | <a href="http://hadoop.apache.org/core/docs/current/api/"> |
---|
| 623 | http://hadoop.apache.org/core/docs/current/api/ |
---|
| 624 | </a> |
---|
| 625 | |
---|
| 626 | </p> |
---|
| 627 | <p> |
---|
| 628 | HDFS æºä»£ç : |
---|
| 629 | <a href="http://hadoop.apache.org/core/version_control.html"> |
---|
| 630 | http://hadoop.apache.org/core/version_control.html |
---|
| 631 | </a> |
---|
| 632 | |
---|
| 633 | </p> |
---|
| 634 | </div> |
---|
| 635 | |
---|
| 636 | |
---|
| 637 | <p align="right"> |
---|
| 638 | <font size="-2">by Dhruba Borthakur</font> |
---|
| 639 | </p> |
---|
| 640 | </div> |
---|
| 641 | <!--+ |
---|
| 642 | |end content |
---|
| 643 | +--> |
---|
| 644 | <div class="clearboth"> </div> |
---|
| 645 | </div> |
---|
| 646 | <div id="footer"> |
---|
| 647 | <!--+ |
---|
| 648 | |start bottomstrip |
---|
| 649 | +--> |
---|
| 650 | <div class="lastmodified"> |
---|
| 651 | <script type="text/javascript"><!-- |
---|
| 652 | document.write("Last Published: " + document.lastModified); |
---|
| 653 | // --></script> |
---|
| 654 | </div> |
---|
| 655 | <div class="copyright"> |
---|
| 656 | Copyright © |
---|
| 657 | 2007 <a href="http://www.apache.org/licenses/">The Apache Software Foundation.</a> |
---|
| 658 | </div> |
---|
| 659 | <!--+ |
---|
| 660 | |end bottomstrip |
---|
| 661 | +--> |
---|
| 662 | </div> |
---|
| 663 | </body> |
---|
| 664 | </html> |
---|