尘世壹俗人 2024-08-15 13:05 采纳率: 81.3%
浏览 6
已结题

搭建hadoop的时候做到datanode和nodemanager分离

需求是计算和存储节点分离,虽然我没想明白他要干嘛,放着数据本地IO的优势不要,然而要去分离,但是没法谁让咱吃这碗饭呢,而且hadoop据我了解不直接支持分开陪着两个玩意的,我想了想对于存储节点我可以把它可用计算资源都设置为0,那么计算节点怎么让它不存数据?或者有没有可行的完整实现步骤给我来一份,谢。

-------------------------------解决后的补充
这个问题已经解决,移步 https://blog.csdn.net/dudadudadd/article/details/141271409

  • 写回答

2条回答 默认 最新

  • 一直免费一直爽 2024-08-15 13:05
    关注

    以下回复参考:皆我百晓生券券喵儿等免费微信小程序作答:

    要实现Hadoop中DataNode和NodeManager的分离,可以通过以下步骤进行配置:

    1. 首先,在Hadoop集群中,将计算节点和存储节点分开。计算节点主要负责运行MapReduce任务,而存储节点主要负责存储HDFS数据。

    2. 对于计算节点,需要将其配置为不运行DataNode服务。这可以通过修改Hadoop配置文件hadoop-env.sh来实现。在该文件中,添加以下内容:

    export HADOOP_OPTS=-Ddfs.datanode.disable=true
    

    这将禁用计算节点上的DataNode服务,使其不参与HDFS数据的存储。

    1. 对于存储节点,需要将其配置为不运行NodeManager服务。同样,在hadoop-env.sh文件中,添加以下内容:
    export HADOOP_OPTS=-Dmapreduce.nodemanager.disable=true
    

    这将禁用存储节点上的NodeManager服务,使其不参与MapReduce任务的执行。

    1. 在YARN(Yet Another Resource Negotiator)的配置文件yarn-site.xml中,设置yarn.resourcemanager.nodes.exclude-path属性,以排除计算节点上的NodeManager。例如:
    <property>
      <name>yarn.resourcemanager.nodes.exclude-path</name>
      <value>/path/to/excluded/nodes/file</value>
    </property>
    

    /path/to/excluded/nodes/file文件中,列出所有计算节点的主机名或IP地址,每个地址占一行。

    1. 重启Hadoop集群以使更改生效。

    通过以上步骤,可以实现Hadoop集群中DataNode和NodeManager的分离,使得计算节点专注于执行MapReduce任务,而存储节点专注于存储HDFS数据。

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(1条)

报告相同问题?

问题事件

  • 已结题 (查看结题原因) 8月17日
  • 已采纳回答 8月17日
  • 修改了问题 8月17日
  • 创建了问题 8月15日