getting_started.txt
上传用户:quxuerui
上传日期:2018-01-08
资源大小:41811k
文件大小:9k
源码类别:

网格计算

开发平台:

Java

  1.             Getting Started With Hadoop On Demand (HOD)
  2.             ===========================================
  3. 1. Pre-requisites:
  4. ==================
  5. Hardware:
  6. HOD requires a minimum of 3 nodes configured through a resource manager.
  7. Software:
  8. The following components are assumed to be installed before using HOD:
  9. * Torque:
  10.   (http://www.clusterresources.com/pages/products/torque-resource-manager.php)
  11.   Currently HOD supports Torque out of the box. We assume that you are
  12.   familiar with configuring Torque. You can get information about this
  13.   from the following link: 
  14.   http://www.clusterresources.com/wiki/doku.php?id=torque:torque_wiki
  15. * Python (http://www.python.org/)
  16.   We require version 2.5.1 of Python.
  17.     
  18. The following components can be optionally installed for getting better
  19. functionality from HOD:
  20. * Twisted Python: This can be used for improving the scalability of HOD
  21.   (http://twistedmatrix.com/trac/)
  22. * Hadoop: HOD can automatically distribute Hadoop to all nodes in the 
  23.   cluster. However, it can also use a pre-installed version of Hadoop,
  24.   if it is available on all nodes in the cluster.
  25.   (http://hadoop.apache.org/core)
  26.   HOD currently supports Hadoop 0.15 and above.
  27. NOTE: HOD configuration requires the location of installs of these 
  28. components to be the same on all nodes in the cluster. It will also 
  29. make the configuration simpler to have the same location on the submit
  30. nodes.
  31. 2. Resource Manager Configuration Pre-requisites:
  32. =================================================
  33. For using HOD with Torque:
  34. * Install Torque components: pbs_server on a head node, pbs_moms on all
  35.   compute nodes, and PBS client tools on all compute nodes and submit 
  36.   nodes.
  37. * Create a queue for submitting jobs on the pbs_server.
  38. * Specify a name for all nodes in the cluster, by setting a 'node 
  39.   property' to all the nodes.
  40.   This can be done by using the 'qmgr' command. For example:
  41.   qmgr -c "set node node properties=cluster-name"
  42. * Ensure that jobs can be submitted to the nodes. This can be done by
  43.   using the 'qsub' command. For example:
  44.   echo "sleep 30" | qsub -l nodes=3
  45. * More information about setting up Torque can be found by referring
  46.   to the documentation under:
  47. http://www.clusterresources.com/pages/products/torque-resource-manager.php
  48. 3. Setting up HOD:
  49. ==================
  50. * HOD is available under the 'contrib' section of Hadoop under the root
  51.   directory 'hod'.
  52. * Distribute the files under this directory to all the nodes in the
  53.   cluster. Note that the location where the files are copied should be
  54.   the same on all the nodes.
  55. * On the node from where you want to run hod, edit the file hodrc 
  56.   which can be found in the <install dir>/conf directory. This file
  57.   contains the minimal set of values required for running hod.
  58. * Specify values suitable to your environment for the following 
  59.   variables defined in the configuration file. Note that some of these
  60.   variables are defined at more than one place in the file.
  61.   * ${JAVA_HOME}: Location of Java for Hadoop. Hadoop supports Sun JDK
  62.     1.5.x
  63.   * ${CLUSTER_NAME}: Name of the cluster which is specified in the 
  64.     'node property' as mentioned in resource manager configuration.
  65.   * ${HADOOP_HOME}: Location of Hadoop installation on the compute and
  66.     submit nodes.
  67.   * ${RM_QUEUE}: Queue configured for submiting jobs in the resource
  68.     manager configuration.
  69.   * ${RM_HOME}: Location of the resource manager installation on the
  70.     compute and submit nodes.
  71. * The following environment variables *may* need to be set depending on 
  72.   your environment. These variables must be defined where you run the 
  73.   HOD client, and also be specified in the HOD configuration file as the 
  74.   value of the key resource_manager.env-vars. Multiple variables can be
  75.   specified as a comma separated list of key=value pairs.
  76.   * HOD_PYTHON_HOME: If you install python to a non-default location 
  77.     of the compute nodes, or submit nodes, then, this variable must be 
  78.     defined to point to the python executable in the non-standard 
  79.     location.
  80. NOTE: 
  81. You can also review other configuration options in the file and
  82. modify them to suit your needs. Refer to the file config.txt for 
  83. information about the HOD configuration.
  84. 4. Running HOD:
  85. ===============
  86. 4.1 Overview:
  87. -------------
  88. A typical session of HOD will involve atleast three steps: allocate, 
  89. run hadoop jobs, deallocate.
  90. 4.1.1 Operation allocate
  91. ------------------------
  92. The allocate operation is used to allocate a set of nodes and install and
  93. provision Hadoop on them. It has the following syntax:
  94.   hod -c config_file -t hadoop_tarball_location -o "allocate 
  95.                                                 cluster_dir number_of_nodes"
  96. The hadoop_tarball_location must be a location on a shared file system
  97. accesible from all nodes in the cluster. Note, the cluster_dir must exist
  98. before running the command. If the command completes successfully then
  99. cluster_dir/hadoop-site.xml will be generated and will contain information
  100. about the allocated cluster's JobTracker and NameNode.
  101. For example, the following command uses a hodrc file in ~/hod-config/hodrc and
  102. allocates Hadoop (provided by the tarball ~/share/hadoop.tar.gz) on 10 nodes,
  103. storing the generated Hadoop configuration in a directory named
  104. ~/hadoop-cluster:
  105.   $ hod -c ~/hod-config/hodrc -t ~/share/hadoop.tar.gz -o "allocate 
  106.                                                         ~/hadoop-cluster 10"
  107. HOD also supports an environment variable called HOD_CONF_DIR. If this is
  108. defined, HOD will look for a default hodrc file at $HOD_CONF_DIR/hodrc.
  109. Defining this allows the above command to also be run as follows:
  110.   $ export HOD_CONF_DIR=~/hod-config
  111.   $ hod -t ~/share/hadoop.tar.gz -o "allocate ~/hadoop-cluster 10" 
  112. 4.1.2 Running Hadoop jobs using the allocated cluster
  113. -----------------------------------------------------
  114. Now, one can run Hadoop jobs using the allocated cluster in the usual manner:
  115.   hadoop --config cluster_dir hadoop_command hadoop_command_args
  116. Continuing our example, the following command will run a wordcount example on
  117. the allocated cluster:
  118.   $ hadoop --config ~/hadoop-cluster jar 
  119.        /path/to/hadoop/hadoop-examples.jar wordcount /path/to/input /path/to/output 
  120. 4.1.3 Operation deallocate
  121. --------------------------
  122. The deallocate operation is used to release an allocated cluster. When
  123. finished with a cluster, deallocate must be run so that the nodes become free
  124. for others to use. The deallocate operation has the following syntax:
  125.   hod -o "deallocate cluster_dir"
  126. Continuing our example, the following command will deallocate the cluster:
  127.   $ hod -o "deallocate ~/hadoop-cluster" 
  128. 4.2 Command Line Options
  129. ------------------------
  130. This section covers the major command line options available via the hod
  131. command:
  132. --help
  133. Prints out the help message to see the basic options.
  134. --verbose-help
  135. All configuration options provided in the hodrc file can be passed on the
  136. command line, using the syntax --section_name.option_name[=value]. When
  137. provided this way, the value provided on command line overrides the option
  138. provided in hodrc. The verbose-help command lists all the available options in
  139. the hodrc file. This is also a nice way to see the meaning of the
  140. configuration options.
  141. -c config_file
  142. Provides the configuration file to use. Can be used with all other options of
  143. HOD. Alternatively, the HOD_CONF_DIR environment variable can be defined to
  144. specify a directory that contains a file named hodrc, alleviating the need to
  145. specify the configuration file in each HOD command.
  146. -b 1|2|3|4
  147. Enables the given debug level. Can be used with all other options of HOD. 4 is
  148. most verbose.
  149. -o "help"
  150. Lists the operations available in the operation mode.
  151. -o "allocate cluster_dir number_of_nodes"
  152. Allocates a cluster on the given number of cluster nodes, and store the
  153. allocation information in cluster_dir for use with subsequent hadoop commands.
  154. Note that the cluster_dir must exist before running the command.
  155. -o "list"
  156. Lists the clusters allocated by this user. Information provided includes the
  157. Torque job id corresponding to the cluster, the cluster directory where the
  158. allocation information is stored, and whether the Map/Reduce daemon is still
  159. active or not.
  160. -o "info cluster_dir"
  161. Lists information about the cluster whose allocation information is stored in
  162. the specified cluster directory.
  163. -o "deallocate cluster_dir"
  164. Deallocates the cluster whose allocation information is stored in the
  165. specified cluster directory.
  166. -t hadoop_tarball
  167. Provisions Hadoop from the given tar.gz file. This option is only applicable
  168. to the allocate operation. For better distribution performance it is
  169. recommended that the Hadoop tarball contain only the libraries and binaries,
  170. and not the source or documentation. 
  171. -Mkey1=value1 -Mkey2=value2
  172. Provides configuration parameters for the provisioned Map/Reduce daemons
  173. (JobTracker and TaskTrackers). A hadoop-site.xml is generated with these
  174. values on the cluster nodes
  175. -Hkey1=value1 -Hkey2=value2
  176. Provides configuration parameters for the provisioned HDFS daemons (NameNode
  177. and DataNodes). A hadoop-site.xml is generated with these values on the
  178. cluster nodes
  179. -Ckey1=value1 -Ckey2=value2
  180. Provides configuration parameters for the client from where jobs can be
  181. submitted. A hadoop-site.xml is generated with these values on the submit
  182. node.