纱线和 Hadoop
YARN and Hadoop
我有几个关于向 HDFS 提交作业和 Hadoop 中的 YARN 架构的问题:
因此,在 Hadoop 生态系统中,每个集群都有一个 NameNode,它可以包含任意数量的存储数据的数据节点。当您向 Hadoop 提交作业时,NameNode 上的作业跟踪器将选择每个作业并将其分配给数据节点上文件所在的任务跟踪器。
所以我的问题是 YARN 的组件如何在 HDFS 中协同工作:?
所以 YARN 由 NodeManager 和 Resource Manager 组成。在这两个组件中:每个 DataNode 上的 NodeManager 运行 和每个集群的每个 NameNode 上的 ResourceManager 运行 是吗?因此,当任务跟踪器(在每个 DataNode 中)从作业跟踪器(在 NameNode 中)分配任务时,特定数据节点中的 NodeManager 将创建一个容器,该容器将从 NameNode 中的 ResourceManager 请求资源。因此,只有当数据节点中的任务跟踪器从 NameNode 中的作业跟踪器获取作业时,此资源管理器和节点管理器才会发挥作用,其中 NodeManager 将向 ResourceManager 请求要执行的作业的资源。这是正确的吗?
你说对了一部分。引入 YARN 是为了避免同时进行调度和监控的 Jobtracker 的负担。因此,对于 YARN,您没有任何作业跟踪器或任务跟踪器。 Job tracker 完成的工作现在由 Resource Manager 完成,它有两个主要组件 Scheduler(为应用程序分配资源)和 ApplicationsManager(接受作业提交并在出现任何故障时重新启动 ApplicationMaster)。现在每个应用程序都有一个 ApplicationMaster,它从 运行ning 应用程序的调度程序协商容器(作业将是 运行)。
每个从 node/data 节点上的 Nodemanager 运行s。资源管理器 may/maynot 安装在名称节点所在的位置。对于大型集群,我们通常需要分离master,这样负载就不会跑到一台机器上。
我有几个关于向 HDFS 提交作业和 Hadoop 中的 YARN 架构的问题:
因此,在 Hadoop 生态系统中,每个集群都有一个 NameNode,它可以包含任意数量的存储数据的数据节点。当您向 Hadoop 提交作业时,NameNode 上的作业跟踪器将选择每个作业并将其分配给数据节点上文件所在的任务跟踪器。
所以我的问题是 YARN 的组件如何在 HDFS 中协同工作:?
所以 YARN 由 NodeManager 和 Resource Manager 组成。在这两个组件中:每个 DataNode 上的 NodeManager 运行 和每个集群的每个 NameNode 上的 ResourceManager 运行 是吗?因此,当任务跟踪器(在每个 DataNode 中)从作业跟踪器(在 NameNode 中)分配任务时,特定数据节点中的 NodeManager 将创建一个容器,该容器将从 NameNode 中的 ResourceManager 请求资源。因此,只有当数据节点中的任务跟踪器从 NameNode 中的作业跟踪器获取作业时,此资源管理器和节点管理器才会发挥作用,其中 NodeManager 将向 ResourceManager 请求要执行的作业的资源。这是正确的吗?
你说对了一部分。引入 YARN 是为了避免同时进行调度和监控的 Jobtracker 的负担。因此,对于 YARN,您没有任何作业跟踪器或任务跟踪器。 Job tracker 完成的工作现在由 Resource Manager 完成,它有两个主要组件 Scheduler(为应用程序分配资源)和 ApplicationsManager(接受作业提交并在出现任何故障时重新启动 ApplicationMaster)。现在每个应用程序都有一个 ApplicationMaster,它从 运行ning 应用程序的调度程序协商容器(作业将是 运行)。
每个从 node/data 节点上的Nodemanager 运行s。资源管理器 may/maynot 安装在名称节点所在的位置。对于大型集群,我们通常需要分离master,这样负载就不会跑到一台机器上。