pig2 发表于 2018-1-4 17:18:45

Hadoop3.0集群安装知识2

问题导读

1.yarn-site配置文件,主要配置哪两个进程?
2.mapred-site.xml配置文件,配置哪些内容?
3.hadoop如何配置监测NodeManagers的健康状况?

static/image/hrline/4.gif




接上篇hadoop3.0集群安装知识1
http://www.aboutyun.com/forum.php?mod=viewthread&tid=23725


etc/hadoop/yarn-site.xml
配置ResourceManager和NodeManager:

参数值说明
yarn.acl.enabletrue / false是否启用ACL 默认为false。

yarn.admin.aclAdmin ACLACL在集群上设置管理员。ACLs 适用于 comma-separated-usersspacecomma-separated-groups。默认值为*,代表任何人可以访问。指定为space值代表没有人可以访问
yarn.log-aggregation-enablefalse启用或禁用日志聚合的配置
yarn.admin.acl:以逗号分隔的用户列表+空格+以逗号分隔的用户组列表",例如 "user1,user2 group1,group2"。如果只有组信息,需要在最前端加入一个空格,例如" group1,group2"。【参考鈞少的博客】


配置ResourceManager:


参数值说明
yarn.resourcemanager.addressResourceManager host:port :客户端通过该地址向RM提交作业如果设置host:port,会覆盖在yarn.resourcemanager.hostname中设置的hostname
yarn.resourcemanager.scheduler.addressResourceManager host:portApplicationMasters 与Scheduler通信获取资源.ResourceManager 对ApplicationMaster暴露的访问地址如果设置host:port , 会覆盖yarn.resourcemanager.hostname中设置的hostname
yarn.resourcemanager.resource-tracker.addressResourceManager 对NodeManager暴露的地址
如果设置host:port , 会覆盖yarn.resourcemanager.hostname中设置的hostname
yarn.resourcemanager.admin.addressResourceManager 对管理员暴露的访问地址
如果设置host:port , 会覆盖yarn.resourcemanager.hostname中设置的hostname
yarn.resourcemanager.webapp.addressResourceManager对外web ui地址
如果设置host:port , 会覆盖yarn.resourcemanager.hostname中设置的hostname
yarn.resourcemanager.hostnameResourceManager host.hostname设置,可以被上述替换
yarn.resourcemanager.scheduler.class
CapacityScheduler(推荐),FairScheduler(也推荐)
或FifoScheduler。 使用完全限定的类名,例如org.apache.hadoop.yarn.server.resourcemanager.
scheduler.fair.FairScheduler。


yarn.scheduler.minimum-allocation-mb在资源管理器上分配给每个容器请求的内存的最小限度。

In MBs
yarn.scheduler.maximum-allocation-mb在资源管理器上分配给每个容器请求的内存的最大限度

In MBs
yarn.resourcemanager.nodes.include-path / yarn.resourcemanager.nodes.exclude-pathNodeManagers permitted/excluded列表 如果需要,使用这些文件控制允许的NodeManagers列表。

配置NodeManager:



参数值Notes
yarn.nodemanager.resource.memory-mb资源即可用的物理内存,以MB为单位,用于给定的NodeManager
定义NodeManager上可用于运行容器的总可用资源


yarn.nodemanager.vmem-pmem-ratio任务的虚拟内存使用量可能超过物理内存的最大比率
每个任务虚拟内存使用超过它的物理内存限制的比率。NodeManager的任务使用的虚拟内存的总量超过物理内存使用的比率
yarn.nodemanager.local-dirs写入中间数据的本地文件系统上目录用逗号分隔的列表。
多个路径有助于扩展磁盘I/O。


yarn.nodemanager.log-dirs写入日志的本地文件系统的路径逗号分割列表多个路径有助于扩展磁盘I/O。


yarn.nodemanager.log.retain-seconds10800在NodeManager上保留日志文件的缺省时间(以秒为单位)仅在 log-aggregation禁用的情况下适用

yarn.nodemanager.remote-app-log-dir/logs应用程序完成时,日志被转移到的HDFS目录。需要设置适当权限。仅在启用log-aggregation的情况下适用。

yarn.nodemanager.remote-app-log-dir-suffixlogs追加到远程日志目录。日志将会聚合到${yarn.nodemanager.remote-app-log-dir}/${user}/${thisParam} ,仅适用于log-aggregation启用

yarn.nodemanager.aux-servicesmapreduce_shuffleShuffle服务需要设置map reduce应用程序

yarn.nodemanager.env-whitelist环境属性应该继承制NodeManagers的Containers对于mapreduce应用程序除了默认值HADOOP_MAPRED_HOME被添加。属性值还有JAVA_HOME,HADOOP_COMMON_HOME,HADOOP_HDFS_HOME,HADOOP_CONF_DIR,CLASSPATH_PREPEND_DISTCACHE,HADOOP_YARN_HOME,HADOOP_MAPRED_HOME



配置History Server (需要移到其它地方):



参数值说明
yarn.log-aggregation.retain-seconds-1配置多久后聚合日志文件被删除, 配置成 -1禁用此功能。注意不要设置太小

yarn.log-aggregation.retain-check-interval-seconds-1检查聚合日志保留期间的时间。如果设置为0或负值,则计算该值为汇总日志保留时间的十分之一。注意不要配置太小


etc/hadoop/mapred-site.xml

配置MapReduce应用程序:


参数值说明
mapreduce.framework.nameyarn执行框架设置为 Hadoop YARN

mapreduce.map.memory.mb1536
每个Map Task需要的内存量

mapreduce.map.java.opts-Xmx1024Mmap子jvm的最大 heap-size

mapreduce.reduce.memory.mb3072每个reduce需要的最大内存

mapreduce.reduce.java.opts-Xmx2560Mreduces子jvm的最大 heap-size


mapreduce.task.io.sort.mb512当数据排序时,更高的memory-limit


mapreduce.task.io.sort.factor100当排序文件时,一次合并更多的流

mapreduce.reduce.shuffle.parallelcopies50reduce运行更多数量的的并行的copies,获取map大量的输出

配置MapReduce JobHistory Server:


参数值说明
mapreduce.jobhistory.addressMapReduce JobHistory Server 访问地址默认端口10020.
mapreduce.jobhistory.webapp.addressMapReduce JobHistory Server Web UI 访问地址默认端口knnaauudnerom19888.
mapreduce.jobhistory.intermediate-done-dir/mr-history/tmpmapreduce job所写历史文件的路径

mapreduce.jobhistory.done-dir/mr-history/doneMR JobHistory Server管理历史文件的目录


监测NodeManagers的健康状况

Hadoop提供了一种机制,管理员可以通过该机制将NodeManager配置为定期运行管理员提供的脚本,以确定节点是否健康。

管理员可以通过在脚本中执行任何选择检查来确定节点是否处于健康状态。如果脚本检测到节点处于不健康状态,则必须以字符串ERROR打印一行到标准输出。 NodeManager定期生成脚本并检查其输出。如果脚本的输出包含ERROR字符串(如上所述),那么节点的状态将报告为不健康,并且该节点将被ResourceManager列入黑名单。没有进一步的任务将被分配给这个节点。但是,NodeManager继续运行该脚本,以便节点再次变得健康时,它将自动从ResourceManager中的黑名单节点中删除。节点的运行状况和脚本的输出(如果运行状况不佳)可供管理员在ResourceManager Web界面中使用。节点健康以来的时间也显示在Web界面上。

以下参数可用于控制etc/hadoop/yarn-site.xml中的节点运行状况监视脚本。


参数值说明
yarn.nodemanager.health-checker.script.pathNode health script脚本监测节点的健康状态

yarn.nodemanager.health-checker.script.optsNode health script options脚本选项检查节点的健康状态。

yarn.nodemanager.health-checker.interval-msNode health script interval运行健康脚本的时间间隔。

yarn.nodemanager.health-checker.script.timeout-msNode health script timeout interval健康脚本执行超时。

如果本地磁盘损坏,健康脚本监测不支持给出Error。NodeManager能定期监测本地磁盘的健康状态(特别是检查nodemanager-local-dirs和nodemanager-log-dirs),并且在根据配置属性yarn.nodemanager.disk-health-checker.min-healthy-disks设置的值达到坏目录数量的阈值,整个节点被标记为不健康,并且这个信息也被发送到资源管理器。引导磁盘被攻击,或者引导磁盘中的故障由运行状况检查程序脚本识别。

下一篇:Hadoop3.0集群安装知识3
http://www.aboutyun.com/forum.php?mod=viewthread&tid=23745


页: [1]
查看完整版本: Hadoop3.0集群安装知识2