【问题标题】:Separating Hadoop Map and Reduce tasks分离 Hadoop Map 和 Reduce 任务
【发布时间】:2011-08-06 21:58:39
【问题描述】:

在一个 3 节点的 hadoop 集群中。我希望主节点是 1 个节点。映射任务发生在一个节点,减少任务发生在一个节点。 Map 和 reduce 任务应该分开。可能吗?据我注意到两者一起运行。如果您能提供一些启示,那就太好了。谢谢!

-塞图

【问题讨论】:

    标签: map hadoop reduce


    【解决方案1】:

    这不是最佳的,因为地图输出必须始终复制到另一台服务器。
    但您可以简单地修改服务器上的 mapred-site.xml。

    <property>
        <name>mapred.tasktracker.map.tasks.maximum</name>
        <value>4</value>
        <description>The maximum number of map tasks that will be run simultaneously by a task tracker.</description>
    </property>
    
    <property>
        <name>mapred.tasktracker.reduce.tasks.maximum</name>
        <value>4</value>
        <description>The maximum number of reduce tasks that will be run simultaneously by a task tracker.</description>
    </property>
    

    在不应该运行 reducer 的服务器上,您将 reduce.task.maximum 设置为 0。对于其他服务器,反之亦然。

    【讨论】:

    • 嗨,我应该总是提到地图任务的最大数量吗?如果我只指定 mapred.tasktracker.reduce.tasks.maximum0将同时运行的reduce任务的最大数量是否足够任务跟踪器。,在只有 map 任务应该运行的节点中,反之亦然,在只有 reduce 应该运行的节点中?
    • 嗨,我不确定默认值是多少(可能是核心数),所以只需提供这两个值。试试看。
    • 你的意思是map/reduce任务的默认数量可能基于系统中的处理器数量吗?
    • 不知道,你自己试试看吧?
    • 非常感谢。它工作得很好。关于默认值。我必须深入挖掘。一旦我发现就会回来:)
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2012-07-07
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-12-03
    相关资源
    最近更新 更多