hod_config_guide.html 20 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527
  1. <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
  2. <html>
  3. <head>
  4. <META http-equiv="Content-Type" content="text/html; charset=UTF-8">
  5. <meta content="Apache Forrest" name="Generator">
  6. <meta name="Forrest-version" content="0.8">
  7. <meta name="Forrest-skin-name" content="pelt">
  8. <title>
  9. Hadoop On Demand: Configuration Guide
  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/">Project</a>
  67. </li>
  68. <li>
  69. <a class="unselected" href="http://wiki.apache.org/hadoop">Wiki</a>
  70. </li>
  71. <li class="current">
  72. <a class="selected" href="index.html">Hadoop 0.18 Documentation</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. &nbsp;
  98. </div>
  99. <!--+
  100. |start Menu, mainarea
  101. +-->
  102. <!--+
  103. |start Menu
  104. +-->
  105. <div id="menu">
  106. <div onclick="SwitchMenu('menu_1.1', 'skin/')" id="menu_1.1Title" class="menutitle">Documentation</div>
  107. <div id="menu_1.1" class="menuitemgroup">
  108. <div class="menuitem">
  109. <a href="index.html">Overview</a>
  110. </div>
  111. <div class="menuitem">
  112. <a href="quickstart.html">Quickstart</a>
  113. </div>
  114. <div class="menuitem">
  115. <a href="cluster_setup.html">Cluster Setup</a>
  116. </div>
  117. <div class="menuitem">
  118. <a href="hdfs_design.html">HDFS Architecture</a>
  119. </div>
  120. <div class="menuitem">
  121. <a href="hdfs_user_guide.html">HDFS User Guide</a>
  122. </div>
  123. <div class="menuitem">
  124. <a href="hdfs_permissions_guide.html">HDFS Permissions Guide</a>
  125. </div>
  126. <div class="menuitem">
  127. <a href="hdfs_quota_admin_guide.html">HDFS Quotas Administrator Guide</a>
  128. </div>
  129. <div class="menuitem">
  130. <a href="hdfs_shell.html">FS Shell Guide</a>
  131. </div>
  132. <div class="menuitem">
  133. <a href="mapred_tutorial.html">Map-Reduce Tutorial</a>
  134. </div>
  135. <div class="menuitem">
  136. <a href="native_libraries.html">Native Hadoop Libraries</a>
  137. </div>
  138. <div class="menuitem">
  139. <a href="streaming.html">Streaming</a>
  140. </div>
  141. <div class="menuitem">
  142. <a href="hod.html">Hadoop On Demand</a>
  143. </div>
  144. <div class="menuitem">
  145. <a href="api/index.html">API Docs</a>
  146. </div>
  147. <div class="menuitem">
  148. <a href="http://wiki.apache.org/hadoop/">Wiki</a>
  149. </div>
  150. <div class="menuitem">
  151. <a href="http://wiki.apache.org/hadoop/FAQ">FAQ</a>
  152. </div>
  153. <div class="menuitem">
  154. <a href="http://hadoop.apache.org/core/mailing_lists.html">Mailing Lists</a>
  155. </div>
  156. <div class="menuitem">
  157. <a href="releasenotes.html">Release Notes</a>
  158. </div>
  159. <div class="menuitem">
  160. <a href="changes.html">All Changes</a>
  161. </div>
  162. </div>
  163. <div id="credit"></div>
  164. <div id="roundbottom">
  165. <img style="display: none" class="corner" height="15" width="15" alt="" src="skin/images/rc-b-l-15-1body-2menu-3menu.png"></div>
  166. <!--+
  167. |alternative credits
  168. +-->
  169. <div id="credit2"></div>
  170. </div>
  171. <!--+
  172. |end Menu
  173. +-->
  174. <!--+
  175. |start content
  176. +-->
  177. <div id="content">
  178. <div title="Portable Document Format" class="pdflink">
  179. <a class="dida" href="hod_config_guide.pdf"><img alt="PDF -icon" src="skin/images/pdfdoc.gif" class="skin"><br>
  180. PDF</a>
  181. </div>
  182. <h1>
  183. Hadoop On Demand: Configuration Guide
  184. </h1>
  185. <div id="minitoc-area">
  186. <ul class="minitoc">
  187. <li>
  188. <a href="#1.+Introduction">1. Introduction</a>
  189. </li>
  190. <li>
  191. <a href="#2.+Sections">2. Sections</a>
  192. </li>
  193. <li>
  194. <a href="#3.+Important+%2F+Commonly+Used+Configuration+Options">3. Important / Commonly Used Configuration Options</a>
  195. <ul class="minitoc">
  196. <li>
  197. <a href="#3.1+Common+configuration+options">3.1 Common configuration options</a>
  198. </li>
  199. <li>
  200. <a href="#3.2+hod+options">3.2 hod options</a>
  201. </li>
  202. <li>
  203. <a href="#3.3+resource_manager+options">3.3 resource_manager options</a>
  204. </li>
  205. <li>
  206. <a href="#3.4+ringmaster+options">3.4 ringmaster options</a>
  207. </li>
  208. <li>
  209. <a href="#3.5+gridservice-hdfs+options">3.5 gridservice-hdfs options</a>
  210. </li>
  211. <li>
  212. <a href="#3.6+gridservice-mapred+options">3.6 gridservice-mapred options</a>
  213. </li>
  214. <li>
  215. <a href="#3.7+hodring+options">3.7 hodring options</a>
  216. </li>
  217. </ul>
  218. </li>
  219. </ul>
  220. </div>
  221. <a name="N1000C"></a><a name="1.+Introduction"></a>
  222. <h2 class="h3">1. Introduction</h2>
  223. <div class="section">
  224. <p>Configuration options for HOD are organized as sections and options
  225. within them. They can be specified in two ways: a configuration file
  226. in the INI format, and as command line options to the HOD shell,
  227. specified in the format --section.option[=value]. If the same option is
  228. specified in both places, the value specified on the command line
  229. overrides the value in the configuration file.</p>
  230. <p>
  231. To get a simple description of all configuration options, you can type
  232. </p>
  233. <table class="ForrestTable" cellspacing="1" cellpadding="4">
  234. <tr>
  235. <td colspan="1" rowspan="1"><span class="codefrag">$ hod --verbose-help</span></td>
  236. </tr>
  237. </table>
  238. <p>This document explains some of the most important or commonly used
  239. configuration options in some more detail.</p>
  240. </div>
  241. <a name="N10024"></a><a name="2.+Sections"></a>
  242. <h2 class="h3">2. Sections</h2>
  243. <div class="section">
  244. <p>The following are the various sections in the HOD configuration:</p>
  245. <ul>
  246. <li> hod: Options for the HOD client</li>
  247. <li> resource_manager: Options for specifying which resource manager
  248. to use, and other parameters for using that resource manager</li>
  249. <li> ringmaster: Options for the RingMaster process, </li>
  250. <li> hodring: Options for the HodRing processes</li>
  251. <li> gridservice-mapred: Options for the MapReduce daemons</li>
  252. <li> gridservice-hdfs: Options for the HDFS daemons.</li>
  253. </ul>
  254. <p>The next section deals with some of the important options in the HOD
  255. configuration.</p>
  256. </div>
  257. <a name="N10046"></a><a name="3.+Important+%2F+Commonly+Used+Configuration+Options"></a>
  258. <h2 class="h3">3. Important / Commonly Used Configuration Options</h2>
  259. <div class="section">
  260. <a name="N1004C"></a><a name="3.1+Common+configuration+options"></a>
  261. <h3 class="h4">3.1 Common configuration options</h3>
  262. <p>Certain configuration options are defined in most of the sections of
  263. the HOD configuration. Options defined in a section, are used by the
  264. process for which that section applies. These options have the same
  265. meaning, but can have different values in each section.
  266. </p>
  267. <ul>
  268. <li>temp-dir: Temporary directory for usage by the HOD processes. Make
  269. sure that the users who will run hod have rights to create
  270. directories under the directory specified here.</li>
  271. <li>debug: A numeric value from 1-4. 4 produces the most log information,
  272. and 1 the least.</li>
  273. <li>log-dir: Directory where log files are stored. By default, this is
  274. &lt;install-location&gt;/logs/. The restrictions and notes for the
  275. temp-dir variable apply here too.
  276. </li>
  277. <li>xrs-port-range: A range of ports, among which an available port shall
  278. be picked for use to run an XML-RPC server.</li>
  279. <li>http-port-range: A range of ports, among which an available port shall
  280. be picked for use to run an HTTP server.</li>
  281. <li>java-home: Location of Java to be used by Hadoop.</li>
  282. <li>syslog-address: Address to which a syslog daemon is bound to. The format
  283. of the value is host:port. If configured, HOD log messages
  284. will be logged to syslog using this value.</li>
  285. </ul>
  286. <a name="N1006E"></a><a name="3.2+hod+options"></a>
  287. <h3 class="h4">3.2 hod options</h3>
  288. <ul>
  289. <li>cluster: A descriptive name given to the cluster. For Torque, this is
  290. specified as a 'Node property' for every node in the cluster.
  291. HOD uses this value to compute the number of available nodes.</li>
  292. <li>client-params: A comma-separated list of hadoop config parameters
  293. specified as key-value pairs. These will be used to
  294. generate a hadoop-site.xml on the submit node that
  295. should be used for running MapReduce jobs.</li>
  296. <li>job-feasibility-attr: A regular expression string that specifies
  297. whether and how to check job feasibility - resource
  298. manager or scheduler limits. The current
  299. implementation corresponds to the torque job
  300. attribute 'comment' and by default is disabled.
  301. When set, HOD uses it to decide what type
  302. of limit violation is triggered and either
  303. deallocates the cluster or stays in queued state
  304. according as the request is beyond maximum limits or
  305. the cumulative usage has crossed maxumum limits.
  306. The torque comment attribute may be updated
  307. periodically by an external mechanism. For e.g.,
  308. comment attribute can be updated by running <a href="hod_admin_guide.html#checklimits.sh+-+Tool+to+update+torque+comment+field+reflecting+resource+limits">
  309. checklimits.sh</a> script in hod/support directory,
  310. and then setting job-feasibility-attr equal to the
  311. value TORQUE_USER_LIMITS_COMMENT_FIELD i.e
  312. "User-limits exceeded. Requested:([0-9]*)
  313. Used:([0-9]*) MaxLimit:([0-9]*)" will make HOD
  314. behave accordingly.
  315. </li>
  316. </ul>
  317. <a name="N10085"></a><a name="3.3+resource_manager+options"></a>
  318. <h3 class="h4">3.3 resource_manager options</h3>
  319. <ul>
  320. <li>queue: Name of the queue configured in the resource manager to which
  321. jobs are to be submitted.</li>
  322. <li>batch-home: Install directory to which 'bin' is appended and under
  323. which the executables of the resource manager can be
  324. found.</li>
  325. <li>env-vars: This is a comma separated list of key-value pairs,
  326. expressed as key=value, which would be passed to the jobs
  327. launched on the compute nodes.
  328. For example, if the python installation is
  329. in a non-standard location, one can set the environment
  330. variable 'HOD_PYTHON_HOME' to the path to the python
  331. executable. The HOD processes launched on the compute nodes
  332. can then use this variable.</li>
  333. </ul>
  334. <a name="N10098"></a><a name="3.4+ringmaster+options"></a>
  335. <h3 class="h4">3.4 ringmaster options</h3>
  336. <ul>
  337. <li>work-dirs: These are a list of comma separated paths that will serve
  338. as the root for directories that HOD generates and passes
  339. to Hadoop for use to store DFS / MapReduce data. For e.g.
  340. this is where DFS data blocks will be stored. Typically,
  341. as many paths are specified as there are disks available
  342. to ensure all disks are being utilized. The restrictions
  343. and notes for the temp-dir variable apply here too.</li>
  344. </ul>
  345. <a name="N100A5"></a><a name="3.5+gridservice-hdfs+options"></a>
  346. <h3 class="h4">3.5 gridservice-hdfs options</h3>
  347. <ul>
  348. <li>external: If false, this indicates that a HDFS cluster must be
  349. bought up by the HOD system, on the nodes which it
  350. allocates via the allocate command. Note that in that case,
  351. when the cluster is de-allocated, it will bring down the
  352. HDFS cluster, and all the data will be lost.
  353. If true, it will try and connect to an externally configured
  354. HDFS system.
  355. Typically, because input for jobs are placed into HDFS
  356. before jobs are run, and also the output from jobs in HDFS
  357. is required to be persistent, an internal HDFS cluster is
  358. of little value in a production system. However, it allows
  359. for quick testing.</li>
  360. <li>host: Hostname of the externally configured NameNode, if any</li>
  361. <li>fs_port: Port to which NameNode RPC server is bound.</li>
  362. <li>info_port: Port to which the NameNode web UI server is bound.</li>
  363. <li>pkgs: Installation directory, under which bin/hadoop executable is
  364. located. This can be used to use a pre-installed version of
  365. Hadoop on the cluster.</li>
  366. <li>server-params: A comma-separated list of hadoop config parameters
  367. specified key-value pairs. These will be used to
  368. generate a hadoop-site.xml that will be used by the
  369. NameNode and DataNodes.</li>
  370. <li>final-server-params: Same as above, except they will be marked final.</li>
  371. </ul>
  372. <a name="N100C4"></a><a name="3.6+gridservice-mapred+options"></a>
  373. <h3 class="h4">3.6 gridservice-mapred options</h3>
  374. <ul>
  375. <li>external: If false, this indicates that a MapReduce cluster must be
  376. bought up by the HOD system on the nodes which it allocates
  377. via the allocate command.
  378. If true, if will try and connect to an externally
  379. configured MapReduce system.</li>
  380. <li>host: Hostname of the externally configured JobTracker, if any</li>
  381. <li>tracker_port: Port to which the JobTracker RPC server is bound</li>
  382. <li>info_port: Port to which the JobTracker web UI server is bound.</li>
  383. <li>pkgs: Installation directory, under which bin/hadoop executable is
  384. located</li>
  385. <li>server-params: A comma-separated list of hadoop config parameters
  386. specified key-value pairs. These will be used to
  387. generate a hadoop-site.xml that will be used by the
  388. JobTracker and TaskTrackers</li>
  389. <li>final-server-params: Same as above, except they will be marked final.</li>
  390. </ul>
  391. <a name="N100E3"></a><a name="3.7+hodring+options"></a>
  392. <h3 class="h4">3.7 hodring options</h3>
  393. <ul>
  394. <li>mapred-system-dir-root: Directory in the DFS under which HOD will
  395. generate sub-directory names and pass the full path
  396. as the value of the 'mapred.system.dir' configuration
  397. parameter to Hadoop daemons. The format of the full
  398. path will be value-of-this-option/userid/mapredsystem/cluster-id.
  399. Note that the directory specified here should be such
  400. that all users can create directories under this, if
  401. permissions are enabled in HDFS. Setting the value of
  402. this option to /user will make HOD use the user's
  403. home directory to generate the mapred.system.dir value.</li>
  404. <li>log-destination-uri: URL describing a path in an external, static DFS or the
  405. cluster node's local file system where HOD will upload
  406. Hadoop logs when a cluster is deallocated. To specify a
  407. DFS path, use the format 'hdfs://path'. To specify a
  408. cluster node's local file path, use the format 'file://path'.
  409. When clusters are deallocated by HOD, the hadoop logs will
  410. be deleted as part of HOD's cleanup process. In order to
  411. persist these logs, you can use this configuration option.
  412. The format of the path is
  413. value-of-this-option/userid/hod-logs/cluster-id
  414. Note that the directory you specify here must be such that all
  415. users can create sub-directories under this. Setting this value
  416. to hdfs://user will make the logs come in the user's home directory
  417. in DFS.</li>
  418. <li>pkgs: Installation directory, under which bin/hadoop executable is located. This will
  419. be used by HOD to upload logs if a HDFS URL is specified in log-destination-uri
  420. option. Note that this is useful if the users are using a tarball whose version
  421. may differ from the external, static HDFS version.</li>
  422. </ul>
  423. </div>
  424. </div>
  425. <!--+
  426. |end content
  427. +-->
  428. <div class="clearboth">&nbsp;</div>
  429. </div>
  430. <div id="footer">
  431. <!--+
  432. |start bottomstrip
  433. +-->
  434. <div class="lastmodified">
  435. <script type="text/javascript"><!--
  436. document.write("Last Published: " + document.lastModified);
  437. // --></script>
  438. </div>
  439. <div class="copyright">
  440. Copyright &copy;
  441. 2007 <a href="http://www.apache.org/licenses/">The Apache Software Foundation.</a>
  442. </div>
  443. <!--+
  444. |end bottomstrip
  445. +-->
  446. </div>
  447. </body>
  448. </html>