Hadoop 2.x查询Mapper/Reducer数量及YARN动态查询作业资源命令咨询
嘿,关于你在Hadoop 2.x环境下的这两个查询需求,我整理了实用的命令和方法,一起来看看:
Hadoop 2.x 作业资源查询相关命令解答
1. 列出指定作业的Mapper和Reducer数量
如果要查看某个已提交(运行中或已完成)作业的Mapper、Reducer总数配置,或是当前完成/运行的数量,可以用这些命令:
- 针对MapReduce作业,直接执行
mapred job -status <JobID>,输出里会清晰显示相关信息,比如:map % complete: 75
reduce % complete: 20
Maps total=4, completed=3, running=1
Reduces total=2, completed=0, running=1
其中Maps total是该作业配置的Mapper总数,Reduces total是Reducer总数,同时还能看到已完成、正在运行的任务数。 - 也可以用YARN层面的命令
yarn application -status <ApplicationID>,这个命令返回的作业整体状态中,同样包含Map和Reduce任务的总数、进度等信息。
2. 动态查询作业正在使用的Mapper、Reducer及Slots数量
当然有对应的命令,这里给你推荐几种实用的方式:
- 实时全局监控:
yarn top
这个命令类似Linux的top工具,会动态刷新集群中所有运行中应用的资源使用情况。你能直观看到每个作业当前正在运行的Mapper、Reducer数量,还有集群整体的Map/Reduce Slots总容量、已使用量,甚至每个节点的资源占用细节。直接在终端输入yarn top就能启动,按Ctrl+C退出监控。 - 单个作业动态追踪:
mapred job -status <JobID>
反复执行这个命令,就能动态查看目标作业当前的运行状态:包括正在运行的Mapper、Reducer数量(对应Running maps、Running reduces字段),以及集群的Map/Reduce Slots使用情况(比如Map slot capacity、Reduce slots used等)。 - 节点级Slots细查:
yarn node -list -all
如果你想了解每个节点的Slots分配和使用情况,这个命令会列出集群所有节点的状态,包含每个节点上可用的Map Slots、Reduce Slots,以及已被占用的数量,帮你精准定位资源分布。
内容的提问来源于stack exchange,提问作者Shriram




