mapreduce—容器分配| hadoop集群中的容器大小

1szpjjfi  于 2021-05-29  发布在  Hadoop
关注(0)|答案(1)|浏览(604)

我们知道,默认的最小容器大小是 1024MB 考虑以下情况:
我已经安装了一个hadoop集群< 1 -母版和 3 -虚拟盒中的datanodes>。
名称节点:主节点( 3GB 公羊)
数据节点:数据1( 512MB ram), data2(512MB RAM) , data3(1GB RAM) .
输入文件大小: 500MB 带复制因子 3 (具有所有块的所有节点)
问题:
1现在假设我想运行一个mapreduce程序,容器会在data1和data2上分配吗?
根据我的结果,job在所有三个datanode上创建了容器。
2有没有办法指定一个作业在特定节点上运行?

ttp71kqs

ttp71kqs1#

有没有办法指定一个作业在特定节点上运行?
你不需要控制这个。hadoop将容器发送到块所在的datanode,因此您应该询问如何控制块的放置位置,我也不知道您为什么要这样做。
yarn有一个叫做“节点标签”的东西,它可以将特定的节点分配给特定的调度程序队列,然后告诉mapreduce/tez/spark作业在哪个队列中运行,从而使用哪个节点。
https://hadoop.apache.org/docs/r2.7.4/hadoop-yarn/hadoop-yarn-site/nodelabel.html
假设我想运行一个mapreduce程序,容器会在data1和data2上分配吗?
如果存在块,并且在datanode上运行的节点管理器至少有一个容器的足够内存,那么是的。
没有nodemanager和resourcemanager,就不会运行mapreduce作业

相关问题