开发者社区> 问答> 正文

emapreduce的hadoop map的个数

我们的集群work有8台机器,每台4核 8G ,一共有 32核64G,为什么Hadoop job 的并行map 数最大是22 ,如图中所示,
Hadoop job 配置:
-D ""mapred.reduce.tasks=0"" \
-input $input \
-output $output \
-mapper ""python client.py"" \
-file ./client.py
请问这个并发map数由什么决定?怎样优化"

展开
收起
封神 2016-08-31 10:28:27 2140 0
1 条回答
写回答
取消 提交回答
  • 专注在大数据分布式计算、数据库及存储领域,拥有13+年大数据引擎、数据仓库、宽表引擎、平台研发经验,6年云智能大数据产品技术一号位经验,10年技术团队管理经验;云智能技术架构/云布道师; 研发阿里历代的大数据技术产品包括ODPS、DLA、ADB,最近五年主导宽表引擎研发、DLA、ADB湖仓研发;

    如果map的总个数超过32个,则实际可能就只能分配22个container。64g 并不代表 就有64g在用,会有一些系统及datanode、namenode的内存消耗的。 8g,估计只有6g汇报。总内存在44g左右。 每个container2g的话,则正好22个。你可以 打开yarn的resourcemanager看下。

    可以修改每个container的大小提高个数,增高并发,但是OOM的风险也增加。

    2019-07-17 20:06:47
    赞同 展开评论 打赏
问答分类:
问答标签:
问答地址:
问答排行榜
最热
最新

相关电子书

更多
《构建Hadoop生态批流一体的实时数仓》 立即下载
零基础实现hadoop 迁移 MaxCompute 之 数据 立即下载
CIO 指南:如何在SAP软件架构中使用Hadoop 立即下载

相关实验场景

更多