【问题标题】:How to separately specify a set of nodes for HDFS and others for MapReduce jobs?如何为 HDFS 和其他 MapReduce 作业分别指定一组节点?
【发布时间】:2017-01-24 05:39:19
【问题描述】:

在部署 hadoop 时,我希望一些节点集运行 HDFS 服务器,但不运行任何 MapReduce 任务。

例如,有两个节点 A 和 B 运行 HDFS。

我想排除节点 A 运行任何 map/reduce 任务。

我怎样才能实现它?谢谢

【问题讨论】:

    标签: hadoop mapreduce


    【解决方案1】:

    如果您不想在特定节点或一组节点中运行任何 MapReduce 作业,

    如果nodemanager 守护程序已经在运行,那么停止它们将是最简单的选择。 在不应尝试 MR 任务的节点上运行此命令。

    yarn-daemon.sh stop nodemanager
    

    或者使用yarn-site.xml中的属性yarn.resourcemanager.nodes.exclude-path排除主机

     <property>
        <name>yarn.resourcemanager.nodes.exclude-path</name>
        <value>/path/to/excludes.txt</value>
        <description>Path of the file containing the hosts to exclude. Should be readable by YARN user</description>
     </property>
    

    添加此属性时,刷新资源管理器

    yarn rmadmin -refreshNodes
    

    文件中指定的节点将免于尝试 MapReduce 任务。

    【讨论】:

      【解决方案2】:

      我回答我的问题

      1. 如果您使用 Yarn 进行资源管理,

      去检查 franklinsijo 的答案。

      1. 如果您使用独立模式,

      列出您将运行 MR 任务的节点列表,并在 mapred-default 文件中将其路径指定为“mapred.hosts”。 (https://hadoop.apache.org/docs/r1.2.1/mapred-default.html)

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2016-07-07
        • 1970-01-01
        相关资源
        最近更新 更多