Hadoop主要配置文件深入理解

本文深入探讨Hadoop配置文件加载原理,重点关注Hadoop的配置层级关系和YARN相关配置,包括内存、CPU配置以及mapred-site.xml中的关键设置。通过解析源码,解释了yarn.nodemanager.resource.memory-mb、yarn.scheduler.minimum-allocation-mb等配置项的作用,并提供了mapreduce.map.memory.mb和mapreduce.reduce.memory.mb等MapReduce任务内存设置的指导。
摘要由CSDN通过智能技术生成

1 Hadoop源码加载配置文件原理

在Hadoop源码中,通过搜索classpath路径,来直接找到和读取配置的xml文件,使得你的配置在启动时生效。
通过命令

bin/hadoop classpath 

可以查看当前Hadoop可以识别出来的classpath。
这里写图片描述
可见,第一条路径就是配置文件的目录,因此源码可以直接使用文件名来获取配置信息。

2 Hadoop配置文件的层级关系

在Hadoop源码Configuration类中,先后加载了core-default.xml 和 core-site.xml
类HdfsConfiguration继承了Configuration类,因此,hdfs-site.xml中的配置如果在core-site.xml 中配置了,那么将覆盖掉这个配置。
同理,yarn-site.xml也是这样的。

3 yarn-site.xml 重点配置讲解

3.1 与 memery 相关的配置

yarn.nodemanager.resource.memery-mb : 重要
指定NodeManager(NM)可用的内存大小,NM是yarn中的一个组件,是一个Jave服务。这内存值是指NM管理的,用于AppMaster和Map Task 和 Reduce Task 可申请的内存数目。这里主要考虑和Linux系统的协调,避免设置过大被Linux的(Out of Memary Killer)OOMK 杀掉。例如2G的内存,设置为1200(1.2G)是可行的。
默认配置被设置为8G,Hadoop就任务NM上就有8G的内存,因此当运行内存过大时,就有可能被linux被OOMK终结。
yarn.scheduler.minimum-allocation-mb:
单个任务(每个Container)可申请最少内存,默认1024MB , 就是单个任务要申请的资源的话,ResourceManager(RM)会至少给你分配的内存数,即使你申请了1MB,也会派给你1024MB,因此这个地方需要根据机器配置和作业需求提前配置。
yarn.scheduler.increment-allocation-mb
当一个Container拿到的最小内存不足以运行时,他可以申请内存递增,这个配置是配的递增的幅度。
yarn.scheduler.maximum-allocation-mb
每个Container最多拿到的内存的数量,这里设置的是一个上限,Container申请资源时可递增直到满足运行需求,但是如果到了上限,就不能递增

评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值