本节和大家一起学习一下HadoopOnDemand的配置,本节主要介绍HadoopOnDemand的几种配置项,欢迎大家一起来学习,希望通过本节的节的介绍大家对HadoopOnDemand有一定的理解。
HadoopOnDemand:配置指南
1.简介
这个文档讲述了一些最重要和常用的HadoopOnDemand(HOD)的配置项。这些配置项可通过两种方式指定:INI风格的配置文件,通过--section.option[=value]格式指定的HODshell的命令行选项。如果两个地方都指定了同一个选项,命令行中的值覆盖配置文件中的值。
你可以通过以下命令获得所有配置项的简要描述:
$hod--verbose-help
2.段
HOD配置文件分成以下几个配置段:
hod:HOD客户端的配置项
resource_manager:指定要使用的资源管理器的配置项,以及使用该资源管理器时需要的一些其他参数。
ringmaster:RingMaster进程的配置项
hodring:HodRing进程的配置项
gridservice-mapred:Map/Reduce守护进程的配置项
gridservice-hdfs:HDFS守护进程的配置项
3.HadoopOnDemand中HOD配置项
接下来的一节会先描述大部分HOD配置段中通用的一些配置项,再描述各配置段特有的配置项。
3.1一般的配置项
某些配置项会在HOD配置中的多个段定义。在一个段中定义的配置项,会被该段所适用的所有进程使用。这些配置项意义相同,但在不同的段中可以有不同的取值。
temp-dir:HOD进程使用的临时目录。请确保运行hod的用户有权限在这个指定的目录下创建子目录。如果想在每次分配的时候都使用不同的临时目录,可以使用环境变量,资源管理器会让这些环境变量对HOD进程可用。例如,在Torque设置的时候,使--ringmaster.temp-dir=/tmp/hod-temp-dir.$PBS_JOBID会让ringmaster在每一次申请时使用不同的临时目录;Troque会在ringmaster启动前展开这个环境变量。
debug:数值类型,取值范围是1-4。4会产生最多的log信息。
log-dir:日志文件的存放目录。缺省值是<install-location>/logs/。temp-dir变量的限制和注意事项在这里同样使用。
xrs-port-range:端口范围,会在这之中挑选一个可用端口用于运行XML-RPC服务。
http-port-range:端口范围,会在这之中挑选一个可用端口用于运行HTTP服务。
java-home:给Hadoop使用的Java的位置。
syslog-address:syslog守护进程要绑定的地址。格式为host:port。如果配置了这个选项,HOD日志信息会被记录到这个位置的syslog。
3.2HadoopOnDemand中hod的配置项
cluster:集群的描述性名称。对于Torque,这个值被指定为集群中所有节点的'Nodeproperty'。HOD使用这个值计算可用节点的个数。
client-params:逗号分割的hadoop配置参数列表,其中的每一项都是一个key-value对。在提交节点上会据此产生一个hadoop-site.xml,用于运行Map/Reduce作业。
job-feasibility-attr:正则表达式,用于指定是否和如何检查作业的可行性-资源管理器限制或调度限制。目前是通过torque作业的'comment'属性实现的,缺省情况下没有开启这个功能。设置了这个配置项后,HOD会使用它来确定哪些种类的限制是启用的,以及请求超出限制或者累积超出限制时是回收机群还是留在排队状态。torquecomment属性可以被某个外部机制周期性地更新。比如,comment属性被hod/support目录下的checklimits.sh更新,这样设置job-feasibility-attr的值等于TORQUE_USER_LIMITS_COMMENT_FIELD,"User-limitsexceeded.Requested:([0-9]*)Used:([0-9]*)MaxLimit:([0-9]*)"会使HOD产生相应的行为。
3.3HadoopOnDemand中resouce_manager的配置项
queue:资源管理器中配置的队列名,作业会被提交到这里。
batch-home:个安装目录,其下的'bin'中有资源管理器的可执行文件。
env-vars:逗号分隔的key-value对的列表,形式是key=value,它会被传递给运行在计算节点的作业。例如,如果ptyhon没有安装在常规位置,用户可以通过设置环境变量'HOD_PYTHON_HOME'指定python可执行文件的路径。之后,在计算节点运行的HOD的进程就可以使用这个变量了。
【编辑推荐】