cluster_setup.html 25 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744
  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>Hadoop Cluster Setup</title>
  9. <link type="text/css" href="skin/basic.css" rel="stylesheet">
  10. <link media="screen" type="text/css" href="skin/screen.css" rel="stylesheet">
  11. <link media="print" type="text/css" href="skin/print.css" rel="stylesheet">
  12. <link type="text/css" href="skin/profile.css" rel="stylesheet">
  13. <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>
  14. <link rel="shortcut icon" href="images/favicon.ico">
  15. </head>
  16. <body onload="init()">
  17. <script type="text/javascript">ndeSetTextSize();</script>
  18. <div id="top">
  19. <!--+
  20. |breadtrail
  21. +-->
  22. <div class="breadtrail">
  23. <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>
  24. </div>
  25. <!--+
  26. |header
  27. +-->
  28. <div class="header">
  29. <!--+
  30. |start group logo
  31. +-->
  32. <div class="grouplogo">
  33. <a href="http://hadoop.apache.org/"><img class="logoImage" alt="Hadoop" src="images/hadoop-logo.jpg" title="Apache Hadoop"></a>
  34. </div>
  35. <!--+
  36. |end group logo
  37. +-->
  38. <!--+
  39. |start Project Logo
  40. +-->
  41. <div class="projectlogo">
  42. <a href="http://hadoop.apache.org/core/"><img class="logoImage" alt="Hadoop" src="images/core-logo.jpg" title="Scalable Computing Platform"></a>
  43. </div>
  44. <!--+
  45. |end Project Logo
  46. +-->
  47. <!--+
  48. |start Search
  49. +-->
  50. <div class="searchbox">
  51. <form action="http://www.google.com/search" method="get" class="roundtopsmall">
  52. <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;
  53. <input name="Search" value="Search" type="submit">
  54. </form>
  55. </div>
  56. <!--+
  57. |end search
  58. +-->
  59. <!--+
  60. |start Tabs
  61. +-->
  62. <ul id="tabs">
  63. <li>
  64. <a class="unselected" href="http://hadoop.apache.org/core/">Project</a>
  65. </li>
  66. <li>
  67. <a class="unselected" href="http://wiki.apache.org/hadoop">Wiki</a>
  68. </li>
  69. <li class="current">
  70. <a class="selected" href="index.html">Hadoop 0.16 Documentation</a>
  71. </li>
  72. </ul>
  73. <!--+
  74. |end Tabs
  75. +-->
  76. </div>
  77. </div>
  78. <div id="main">
  79. <div id="publishedStrip">
  80. <!--+
  81. |start Subtabs
  82. +-->
  83. <div id="level2tabs"></div>
  84. <!--+
  85. |end Endtabs
  86. +-->
  87. <script type="text/javascript"><!--
  88. document.write("Last Published: " + document.lastModified);
  89. // --></script>
  90. </div>
  91. <!--+
  92. |breadtrail
  93. +-->
  94. <div class="breadtrail">
  95. &nbsp;
  96. </div>
  97. <!--+
  98. |start Menu, mainarea
  99. +-->
  100. <!--+
  101. |start Menu
  102. +-->
  103. <div id="menu">
  104. <div onclick="SwitchMenu('menu_selected_1.1', 'skin/')" id="menu_selected_1.1Title" class="menutitle" style="background-image: url('skin/images/chapter_open.gif');">Documentation</div>
  105. <div id="menu_selected_1.1" class="selectedmenuitemgroup" style="display: block;">
  106. <div class="menuitem">
  107. <a href="index.html">Overview</a>
  108. </div>
  109. <div class="menuitem">
  110. <a href="quickstart.html">Quickstart</a>
  111. </div>
  112. <div class="menupage">
  113. <div class="menupagetitle">Cluster Setup</div>
  114. </div>
  115. <div class="menuitem">
  116. <a href="hdfs_design.html">HDFS Architecture</a>
  117. </div>
  118. <div class="menuitem">
  119. <a href="hdfs_user_guide.html">HDFS User Guide</a>
  120. </div>
  121. <div class="menuitem">
  122. <a href="hdfs_permissions_guide.html">HDFS Permissions Guide</a>
  123. </div>
  124. <div class="menuitem">
  125. <a href="mapred_tutorial.html">Map-Reduce Tutorial</a>
  126. </div>
  127. <div class="menuitem">
  128. <a href="native_libraries.html">Native Hadoop Libraries</a>
  129. </div>
  130. <div class="menuitem">
  131. <a href="streaming.html">Streaming</a>
  132. </div>
  133. <div class="menuitem">
  134. <a href="hod.html">Hadoop On Demand</a>
  135. </div>
  136. <div class="menuitem">
  137. <a href="api/index.html">API Docs</a>
  138. </div>
  139. <div class="menuitem">
  140. <a href="http://wiki.apache.org/hadoop/">Wiki</a>
  141. </div>
  142. <div class="menuitem">
  143. <a href="http://wiki.apache.org/hadoop/FAQ">FAQ</a>
  144. </div>
  145. <div class="menuitem">
  146. <a href="http://hadoop.apache.org/core/mailing_lists.html">Mailing Lists</a>
  147. </div>
  148. </div>
  149. <div id="credit"></div>
  150. <div id="roundbottom">
  151. <img style="display: none" class="corner" height="15" width="15" alt="" src="skin/images/rc-b-l-15-1body-2menu-3menu.png"></div>
  152. <!--+
  153. |alternative credits
  154. +-->
  155. <div id="credit2"></div>
  156. </div>
  157. <!--+
  158. |end Menu
  159. +-->
  160. <!--+
  161. |start content
  162. +-->
  163. <div id="content">
  164. <div title="Portable Document Format" class="pdflink">
  165. <a class="dida" href="cluster_setup.pdf"><img alt="PDF -icon" src="skin/images/pdfdoc.gif" class="skin"><br>
  166. PDF</a>
  167. </div>
  168. <h1>Hadoop Cluster Setup</h1>
  169. <div id="minitoc-area">
  170. <ul class="minitoc">
  171. <li>
  172. <a href="#Purpose">Purpose</a>
  173. </li>
  174. <li>
  175. <a href="#Pre-requisites">Pre-requisites</a>
  176. </li>
  177. <li>
  178. <a href="#Installation">Installation</a>
  179. </li>
  180. <li>
  181. <a href="#Configuration">Configuration</a>
  182. <ul class="minitoc">
  183. <li>
  184. <a href="#Configuration+Files">Configuration Files</a>
  185. </li>
  186. <li>
  187. <a href="#Site+Configuration">Site Configuration</a>
  188. <ul class="minitoc">
  189. <li>
  190. <a href="#Configuring+the+Environment+of+the+Hadoop+Daemons">Configuring the Environment of the Hadoop Daemons</a>
  191. </li>
  192. <li>
  193. <a href="#Configuring+the+Hadoop+Daemons">Configuring the Hadoop Daemons</a>
  194. </li>
  195. <li>
  196. <a href="#Slaves">Slaves</a>
  197. </li>
  198. <li>
  199. <a href="#Logging">Logging</a>
  200. </li>
  201. </ul>
  202. </li>
  203. </ul>
  204. </li>
  205. <li>
  206. <a href="#Hadoop+Startup">Hadoop Startup</a>
  207. </li>
  208. <li>
  209. <a href="#Hadoop+Shutdown">Hadoop Shutdown</a>
  210. </li>
  211. </ul>
  212. </div>
  213. <a name="N1000D"></a><a name="Purpose"></a>
  214. <h2 class="h3">Purpose</h2>
  215. <div class="section">
  216. <p>This document describes how to install, configure and manage non-trivial
  217. Hadoop clusters ranging from a few nodes to extremely large clusters with
  218. thousands of nodes.</p>
  219. <p>If you are looking to install Hadoop on a single machine to play
  220. with it, you can find relevant details <a href="quickstart.html">here</a>.
  221. </p>
  222. </div>
  223. <a name="N1001E"></a><a name="Pre-requisites"></a>
  224. <h2 class="h3">Pre-requisites</h2>
  225. <div class="section">
  226. <ol>
  227. <li>
  228. Make sure all <a href="quickstart.html#PreReqs">requisite</a> software
  229. is installed on all nodes in your cluster.
  230. </li>
  231. <li>
  232. <a href="quickstart.html#Download">Get</a> the Hadoop software.
  233. </li>
  234. </ol>
  235. </div>
  236. <a name="N10036"></a><a name="Installation"></a>
  237. <h2 class="h3">Installation</h2>
  238. <div class="section">
  239. <p>Installing a Hadoop cluster typically involves unpacking the software
  240. on all the machines in the cluster.</p>
  241. <p>Typically one machine in the cluster is designated as the
  242. <span class="codefrag">NameNode</span> and another machine the as <span class="codefrag">JobTracker</span>,
  243. exclusively. These are the <em>masters</em>. The rest of the machines in
  244. the cluster act as both <span class="codefrag">DataNode</span> <em>and</em>
  245. <span class="codefrag">TaskTracker</span>. These are the <em>slaves</em>.</p>
  246. <p>The root of the distribution is referred to as
  247. <span class="codefrag">HADOOP_HOME</span>. All machines in the cluster usually have the same
  248. <span class="codefrag">HADOOP_HOME</span> path.</p>
  249. </div>
  250. <a name="N10061"></a><a name="Configuration"></a>
  251. <h2 class="h3">Configuration</h2>
  252. <div class="section">
  253. <p>The following sections describe how to configure a Hadoop cluster.</p>
  254. <a name="N1006A"></a><a name="Configuration+Files"></a>
  255. <h3 class="h4">Configuration Files</h3>
  256. <p>Hadoop configuration is driven by two important configuration files
  257. found in the <span class="codefrag">conf/</span> directory of the distribution:</p>
  258. <ol>
  259. <li>
  260. <a href="http://hadoop.apache.org/core/docs/current/hadoop-default.html">hadoop-default.xml</a> - Read-only
  261. default configuration.
  262. </li>
  263. <li>
  264. <em>hadoop-site.xml</em> - Site-specific configuration.
  265. </li>
  266. </ol>
  267. <p>To learn more about how the Hadoop framework is controlled by these
  268. configuration files, look
  269. <a href="api/org/apache/hadoop/conf/Configuration.html">here</a>.</p>
  270. <p>Additionally, you can control the Hadoop scripts found in the
  271. <span class="codefrag">bin/</span> directory of the distribution, by setting site-specific
  272. values via the <span class="codefrag">conf/hadoop-env.sh</span>.</p>
  273. <a name="N10097"></a><a name="Site+Configuration"></a>
  274. <h3 class="h4">Site Configuration</h3>
  275. <p>To configure the the Hadoop cluster you will need to configure the
  276. <em>environment</em> in which the Hadoop daemons execute as well as
  277. the <em>configuration parameters</em> for the Hadoop daemons.</p>
  278. <p>The Hadoop daemons are <span class="codefrag">NameNode</span>/<span class="codefrag">DataNode</span>
  279. and <span class="codefrag">JobTracker</span>/<span class="codefrag">TaskTracker</span>.</p>
  280. <a name="N100B5"></a><a name="Configuring+the+Environment+of+the+Hadoop+Daemons"></a>
  281. <h4>Configuring the Environment of the Hadoop Daemons</h4>
  282. <p>Administrators should use the <span class="codefrag">conf/hadoop-env.sh</span> script
  283. to do site-specific customization of the Hadoop daemons' process
  284. environment.</p>
  285. <p>At the very least you should specify the
  286. <span class="codefrag">JAVA_HOME</span> so that it is correctly defined on each
  287. remote node.</p>
  288. <p>Other useful configuration parameters that you can customize
  289. include:</p>
  290. <ul>
  291. <li>
  292. <span class="codefrag">HADOOP_LOG_DIR</span> - The directory where the daemons'
  293. log files are stored. They are automatically created if they don't
  294. exist.
  295. </li>
  296. <li>
  297. <span class="codefrag">HADOOP_HEAPSIZE</span> - The maximum amount of heapsize
  298. to use, in MB e.g. <span class="codefrag">2000MB</span>.
  299. </li>
  300. </ul>
  301. <a name="N100DD"></a><a name="Configuring+the+Hadoop+Daemons"></a>
  302. <h4>Configuring the Hadoop Daemons</h4>
  303. <p>This section deals with important parameters to be specified in the
  304. <span class="codefrag">conf/hadoop-site.xml</span> for the Hadoop cluster.</p>
  305. <table class="ForrestTable" cellspacing="1" cellpadding="4">
  306. <tr>
  307. <th colspan="1" rowspan="1">Parameter</th>
  308. <th colspan="1" rowspan="1">Value</th>
  309. <th colspan="1" rowspan="1">Notes</th>
  310. </tr>
  311. <tr>
  312. <td colspan="1" rowspan="1">fs.default.name</td>
  313. <td colspan="1" rowspan="1">Hostname or IP address of <span class="codefrag">NameNode</span>.</td>
  314. <td colspan="1" rowspan="1"><em>host:port</em> pair.</td>
  315. </tr>
  316. <tr>
  317. <td colspan="1" rowspan="1">mapred.job.tracker</td>
  318. <td colspan="1" rowspan="1">Hostname or IP address of <span class="codefrag">JobTracker</span>.</td>
  319. <td colspan="1" rowspan="1"><em>host:port</em> pair.</td>
  320. </tr>
  321. <tr>
  322. <td colspan="1" rowspan="1">dfs.name.dir</td>
  323. <td colspan="1" rowspan="1">
  324. Path on the local filesystem where the <span class="codefrag">NameNode</span>
  325. stores the namespace and transactions logs persistently.</td>
  326. <td colspan="1" rowspan="1">
  327. If this is a comma-delimited list of directories then the name
  328. table is replicated in all of the directories, for redundancy.
  329. </td>
  330. </tr>
  331. <tr>
  332. <td colspan="1" rowspan="1">dfs.data.dir</td>
  333. <td colspan="1" rowspan="1">
  334. Comma separated list of paths on the local filesystem of a
  335. <span class="codefrag">DataNode</span> where it should store its blocks.
  336. </td>
  337. <td colspan="1" rowspan="1">
  338. If this is a comma-delimited list of directories, then data will
  339. be stored in all named directories, typically on different
  340. devices.
  341. </td>
  342. </tr>
  343. <tr>
  344. <td colspan="1" rowspan="1">mapred.system.dir</td>
  345. <td colspan="1" rowspan="1">
  346. Path on the HDFS where where the Map-Reduce framework stores
  347. system files e.g. <span class="codefrag">/hadoop/mapred/system/</span>.
  348. </td>
  349. <td colspan="1" rowspan="1">
  350. This is in the default filesystem (HDFS) and must be accessible
  351. from both the server and client machines.
  352. </td>
  353. </tr>
  354. <tr>
  355. <td colspan="1" rowspan="1">mapred.local.dir</td>
  356. <td colspan="1" rowspan="1">
  357. Comma-separated list of paths on the local filesystem where
  358. temporary Map-Reduce data is written.
  359. </td>
  360. <td colspan="1" rowspan="1">Multiple paths help spread disk i/o.</td>
  361. </tr>
  362. <tr>
  363. <td colspan="1" rowspan="1">mapred.tasktracker.{map|reduce}.tasks.maximum</td>
  364. <td colspan="1" rowspan="1">
  365. The maximum number of map/reduce tasks, which are run
  366. simultaneously on a given <span class="codefrag">TaskTracker</span>, individually.
  367. </td>
  368. <td colspan="1" rowspan="1">
  369. Defaults to 2 (2 maps and 2 reduces), but vary it depending on
  370. your hardware.
  371. </td>
  372. </tr>
  373. <tr>
  374. <td colspan="1" rowspan="1">dfs.hosts/dfs.hosts.exclude</td>
  375. <td colspan="1" rowspan="1">List of permitted/excluded DataNodes.</td>
  376. <td colspan="1" rowspan="1">
  377. If necessary, use these files to control the list of allowable
  378. datanodes.
  379. </td>
  380. </tr>
  381. <tr>
  382. <td colspan="1" rowspan="1">mapred.hosts/mapred.hosts.exclude</td>
  383. <td colspan="1" rowspan="1">List of permitted/excluded TaskTrackers.</td>
  384. <td colspan="1" rowspan="1">
  385. If necessary, use these files to control the list of allowable
  386. tasktrackers.
  387. </td>
  388. </tr>
  389. </table>
  390. <p>Typically all the above parameters are marked as
  391. <a href="api/org/apache/hadoop/conf/Configuration.html#FinalParams">
  392. final</a> to ensure that they cannot be overriden by user-applications.
  393. </p>
  394. <a name="N101BD"></a><a name="Real-World+Cluster+Configurations"></a>
  395. <h5>Real-World Cluster Configurations</h5>
  396. <p>This section lists some non-default configuration parameters which
  397. have been used to run the <em>sort</em> benchmark on very large
  398. clusters.</p>
  399. <ul>
  400. <li>
  401. <p>Some non-default configuration values used to run sort900,
  402. that is 9TB of data sorted on a cluster with 900 nodes:</p>
  403. <table class="ForrestTable" cellspacing="1" cellpadding="4">
  404. <tr>
  405. <th colspan="1" rowspan="1">Parameter</th>
  406. <th colspan="1" rowspan="1">Value</th>
  407. <th colspan="1" rowspan="1">Notes</th>
  408. </tr>
  409. <tr>
  410. <td colspan="1" rowspan="1">dfs.block.size</td>
  411. <td colspan="1" rowspan="1">134217728</td>
  412. <td colspan="1" rowspan="1">HDFS blocksize of 128MB for large file-systems.</td>
  413. </tr>
  414. <tr>
  415. <td colspan="1" rowspan="1">dfs.namenode.handler.count</td>
  416. <td colspan="1" rowspan="1">40</td>
  417. <td colspan="1" rowspan="1">
  418. More NameNode server threads to handle RPCs from large
  419. number of DataNodes.
  420. </td>
  421. </tr>
  422. <tr>
  423. <td colspan="1" rowspan="1">mapred.reduce.parallel.copies</td>
  424. <td colspan="1" rowspan="1">20</td>
  425. <td colspan="1" rowspan="1">
  426. Higher number of parallel copies run by reduces to fetch
  427. outputs from very large number of maps.
  428. </td>
  429. </tr>
  430. <tr>
  431. <td colspan="1" rowspan="1">mapred.child.java.opts</td>
  432. <td colspan="1" rowspan="1">-Xmx512M</td>
  433. <td colspan="1" rowspan="1">
  434. Larger heap-size for child jvms of maps/reduces.
  435. </td>
  436. </tr>
  437. <tr>
  438. <td colspan="1" rowspan="1">fs.inmemory.size.mb</td>
  439. <td colspan="1" rowspan="1">200</td>
  440. <td colspan="1" rowspan="1">
  441. Larger amount of memory allocated for the in-memory
  442. file-system used to merge map-outputs at the reduces.
  443. </td>
  444. </tr>
  445. <tr>
  446. <td colspan="1" rowspan="1">io.sort.factor</td>
  447. <td colspan="1" rowspan="1">100</td>
  448. <td colspan="1" rowspan="1">More streams merged at once while sorting files.</td>
  449. </tr>
  450. <tr>
  451. <td colspan="1" rowspan="1">io.sort.mb</td>
  452. <td colspan="1" rowspan="1">200</td>
  453. <td colspan="1" rowspan="1">Higher memory-limit while sorting data.</td>
  454. </tr>
  455. <tr>
  456. <td colspan="1" rowspan="1">io.file.buffer.size</td>
  457. <td colspan="1" rowspan="1">131072</td>
  458. <td colspan="1" rowspan="1">Size of read/write buffer used in SequenceFiles.</td>
  459. </tr>
  460. </table>
  461. </li>
  462. <li>
  463. <p>Updates to some configuration values to run sort1400 and
  464. sort2000, that is 14TB of data sorted on 1400 nodes and 20TB of
  465. data sorted on 2000 nodes:</p>
  466. <table class="ForrestTable" cellspacing="1" cellpadding="4">
  467. <tr>
  468. <th colspan="1" rowspan="1">Parameter</th>
  469. <th colspan="1" rowspan="1">Value</th>
  470. <th colspan="1" rowspan="1">Notes</th>
  471. </tr>
  472. <tr>
  473. <td colspan="1" rowspan="1">mapred.job.tracker.handler.count</td>
  474. <td colspan="1" rowspan="1">60</td>
  475. <td colspan="1" rowspan="1">
  476. More JobTracker server threads to handle RPCs from large
  477. number of TaskTrackers.
  478. </td>
  479. </tr>
  480. <tr>
  481. <td colspan="1" rowspan="1">mapred.reduce.parallel.copies</td>
  482. <td colspan="1" rowspan="1">50</td>
  483. <td colspan="1" rowspan="1"></td>
  484. </tr>
  485. <tr>
  486. <td colspan="1" rowspan="1">tasktracker.http.threads</td>
  487. <td colspan="1" rowspan="1">50</td>
  488. <td colspan="1" rowspan="1">
  489. More worker threads for the TaskTracker's http server. The
  490. http server is used by reduces to fetch intermediate
  491. map-outputs.
  492. </td>
  493. </tr>
  494. <tr>
  495. <td colspan="1" rowspan="1">mapred.child.java.opts</td>
  496. <td colspan="1" rowspan="1">-Xmx1024M</td>
  497. <td colspan="1" rowspan="1"></td>
  498. </tr>
  499. </table>
  500. </li>
  501. </ul>
  502. <a name="N102DA"></a><a name="Slaves"></a>
  503. <h4>Slaves</h4>
  504. <p>Typically you choose one machine in the cluster to act as the
  505. <span class="codefrag">NameNode</span> and one machine as to act as the
  506. <span class="codefrag">JobTracker</span>, exclusively. The rest of the machines act as
  507. both a <span class="codefrag">DataNode</span> and <span class="codefrag">TaskTracker</span> and are
  508. referred to as <em>slaves</em>.</p>
  509. <p>List all slave hostnames or IP addresses in your
  510. <span class="codefrag">conf/slaves</span> file, one per line.</p>
  511. <a name="N102F9"></a><a name="Logging"></a>
  512. <h4>Logging</h4>
  513. <p>Hadoop uses the <a href="http://logging.apache.org/log4j/">Apache
  514. log4j</a> via the <a href="http://commons.apache.org/logging/">Apache
  515. Commons Logging</a> framework for logging. Edit the
  516. <span class="codefrag">conf/log4j.properties</span> file to customize the Hadoop
  517. daemons' logging configuration (log-formats and so on).</p>
  518. <a name="N1030D"></a><a name="History+Logging"></a>
  519. <h5>History Logging</h5>
  520. <p> The job history files are stored in central location
  521. <span class="codefrag"> hadoop.job.history.location </span> which can be on DFS also,
  522. whose default value is <span class="codefrag">${HADOOP_LOG_DIR}/history</span>.
  523. Job history server is started on job tracker. The history
  524. web UI is accessible from job tracker web UI.</p>
  525. <p> The history files are also logged to user specified directory
  526. <span class="codefrag">hadoop.job.history.user.location</span>
  527. which defaults to job output directory. The files are stored in
  528. "_logs/history/" in the specified directory. Hence, by default
  529. they will be in "mapred.output.dir/_logs/history/". User can stop
  530. logging by giving the value <span class="codefrag">none</span> for
  531. <span class="codefrag">hadoop.job.history.user.location</span>
  532. </p>
  533. <p> User can view logs in specified directory using
  534. the following command <br>
  535. <span class="codefrag">$ bin/hadoop job -history output-dir</span>
  536. <br>
  537. This will start a stand alone jetty on the client and
  538. load history jsp's.
  539. It will display the port where the server is up at. The server will
  540. be up for 30 minutes. User has to use
  541. <span class="codefrag"> http://hostname:port </span> to view the history. User can
  542. also provide http bind address using
  543. <span class="codefrag">mapred.job.history.http.bindAddress</span>
  544. </p>
  545. <p>Once all the necessary configuration is complete, distribute the files
  546. to the <span class="codefrag">HADOOP_CONF_DIR</span> directory on all the machines,
  547. typically <span class="codefrag">${HADOOP_HOME}/conf</span>.</p>
  548. </div>
  549. <a name="N10343"></a><a name="Hadoop+Startup"></a>
  550. <h2 class="h3">Hadoop Startup</h2>
  551. <div class="section">
  552. <p>To start a Hadoop cluster you will need to start both the HDFS and
  553. Map-Reduce cluster.</p>
  554. <p>
  555. Format a new distributed filesystem:<br>
  556. <span class="codefrag">$ bin/hadoop namenode -format</span>
  557. </p>
  558. <p>
  559. Start the HDFS with the following command, run on the designated
  560. <span class="codefrag">NameNode</span>:<br>
  561. <span class="codefrag">$ bin/start-dfs.sh</span>
  562. </p>
  563. <p>The <span class="codefrag">bin/start-dfs.sh</span> script also consults the
  564. <span class="codefrag">${HADOOP_CONF_DIR}/slaves</span> file on the <span class="codefrag">NameNode</span>
  565. and starts the <span class="codefrag">DataNode</span> daemon on all the listed slaves.</p>
  566. <p>
  567. Start Map-Reduce with the following command, run on the designated
  568. <span class="codefrag">JobTracker</span>:<br>
  569. <span class="codefrag">$ bin/start-mapred.sh</span>
  570. </p>
  571. <p>The <span class="codefrag">bin/start-mapred.sh</span> script also consults the
  572. <span class="codefrag">${HADOOP_CONF_DIR}/slaves</span> file on the <span class="codefrag">JobTracker</span>
  573. and starts the <span class="codefrag">TaskTracker</span> daemon on all the listed slaves.
  574. </p>
  575. </div>
  576. <a name="N10389"></a><a name="Hadoop+Shutdown"></a>
  577. <h2 class="h3">Hadoop Shutdown</h2>
  578. <div class="section">
  579. <p>
  580. Stop HDFS with the following command, run on the designated
  581. <span class="codefrag">NameNode</span>:<br>
  582. <span class="codefrag">$ bin/stop-dfs.sh</span>
  583. </p>
  584. <p>The <span class="codefrag">bin/stop-dfs.sh</span> script also consults the
  585. <span class="codefrag">${HADOOP_CONF_DIR}/slaves</span> file on the <span class="codefrag">NameNode</span>
  586. and stops the <span class="codefrag">DataNode</span> daemon on all the listed slaves.</p>
  587. <p>
  588. Stop Map-Reduce with the following command, run on the designated
  589. the designated <span class="codefrag">JobTracker</span>:<br>
  590. <span class="codefrag">$ bin/stop-mapred.sh</span>
  591. <br>
  592. </p>
  593. <p>The <span class="codefrag">bin/stop-mapred.sh</span> script also consults the
  594. <span class="codefrag">${HADOOP_CONF_DIR}/slaves</span> file on the <span class="codefrag">JobTracker</span>
  595. and stops the <span class="codefrag">TaskTracker</span> daemon on all the listed slaves.</p>
  596. </div>
  597. </div>
  598. <!--+
  599. |end content
  600. +-->
  601. <div class="clearboth">&nbsp;</div>
  602. </div>
  603. <div id="footer">
  604. <!--+
  605. |start bottomstrip
  606. +-->
  607. <div class="lastmodified">
  608. <script type="text/javascript"><!--
  609. document.write("Last Published: " + document.lastModified);
  610. // --></script>
  611. </div>
  612. <div class="copyright">
  613. Copyright &copy;
  614. 2007 <a href="http://www.apache.org/licenses/">The Apache Software Foundation.</a>
  615. </div>
  616. <!--+
  617. |end bottomstrip
  618. +-->
  619. </div>
  620. </body>
  621. </html>