hadoop - 控制集群中每个节点上的映射器数量
问题描述
我有一个非常小的 2 节点Hadoop-HBase
集群。我正在MapReduce
上面执行作业。我用Hadoop-2.5.2
. 我MapReduce
在每个节点中有 32GB(每个节点有 64GB 内存)可用,yarn 站点中的配置如下
<property>
<name>yarn.nodemanager.resource.memory-mb</name>
<value>32768</value>
</property>
<property>
<name>yarn.nodemanager.resource.cpu-vcores</name>
<value>15</value>
</property>
对于每个执行的映射器/减速器,我的资源要求是 2GB。我在mapred-site.xml
给定这些配置中进行了配置,总共有大约 64GB 的内存和 30 个 vcore,我看到大约 31 个映射器或 31 个减速器并行执行。
虽然这一切都很好,但我正在努力弄清楚其中的一部分。并行执行的映射器或减速器的数量在两个节点上并不相同,其中一个节点的任务数量高于另一个节点。为什么会这样?这可以控制吗?如果是这样,怎么做?
我想 YARN 不会将其视为节点的资源,而是集群的资源,并在集群中的任何地方生成任务。这种理解正确吗?如果不是,在 MR 执行期间对上述行为的正确解释是什么?
解决方案
推荐阅读
- android - 在 Service 和 Activity 中使用 RingtoneManager 的区别
- amazon-web-services - 从 AWS EC2 到 RDS(postgres) 实例的端口转发
- java - Parcelable Creator 语法
- sql-server - TF30040: 未正确配置数据库。请联系您的 Team Foundation Server 管理员。需要的建议
- snowflake-cloud-data-platform - 尝试使用 ARRAY_CONTAINS 连接表会产生永无止境的运行
- node.js - 如何从当前获取下一个重定向 url
- android - 将搜索结果自动填充到 Firebase
- python - 是否可以创建一个列表,其中的类型不能更改,但值本身可以?
- oauth-2.0 - CAS 6.1.4 的 OAuth2:PKCE 授权码授权类型是否需要客户端密码?
- google-apps-script - formatDate 公式不可能出现日期问题