gpt4 book ai didi

java - 有必要在 Hadoop DataNode 上执行任务吗?

转载 作者:可可西里 更新时间:2023-11-01 14:47:12 26 4
gpt4 key购买 nike

这是 Hadoop 的工作方式吗?

  1. 客户端向 NameNode 提交一个 MapReducer 作业/程序。

  2. JobTracker(驻留在NameNode)将任务分配给运行在各个工作机器(日期节点)上的从属任务跟踪器

    <
  3. 每个 Tasktracker 负责执行和管理 Job Tracker 分配的各个任务

根据上述场景,MapReducer 程序将在slave 节点上运行。这是否意味着 Job 将消耗 Slave 计算引擎或处理能力?

如果我想使用另一台机器(独立于Hadoop安装系统)执行MapReduce作业并使用Hadoop Clusters数据怎么办?

我为什么要使用 Hadoop 集群? Hadoop 以非常有效的方式将大数据分发到他们的 DataNode(s)

新场景如下:

一个。服务器

客户端

a.1 ) 使用Hadoop 集群 分发无序数据

b.1) 客户端将执行(不提交给 NameNode)一个 MapReducer 作业,它从 Hadoop 集群 数据节点获取数据。如果可能,那么 JobTracker (NameNode) 和 Tasktracker (DataNode) 会怎样?

我在这里通过在客户端机器上执行作业来忽略 Hadoop 的主要部分,但这是我的项目要求。有什么建议吗?

最佳答案

你在第一部分是对的。首先,带有 jobTracker 和 TaskTracker 的架构是针对 Hadoop 1 的。您应该看看 Hadoop 2,它是最新的架构。

您对 HDFS 和 MapReduce 感到困惑。

  • HDFS : 是Hadoop的分布式文件系统。 NameNode 是集群的主节点。它包含元数据和文件的本地化。 DataNodes是集群的奴隶。它们将数据存储在整个集群中。

  • MapReduce:所以"new"架构被称为 Yarn 并像这样运行:您有一个主角色,RessourceManager 和一些从属角色,nodemanagers。当你向集群提交一个MapReduce jar时,RessourceManager会将进程分配给nodemanager。为了简化,每个节点管理器将在存储在 HDFS 中的文件的一部分上执行程序。

所以只要正确区分 HDFS 角色和 MapReduce 角色即可。

关于java - 有必要在 Hadoop DataNode 上执行任务吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24985635/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com