Java Hadoop体系结构内部:作业和任务跟踪器的使用

Java Hadoop体系结构内部:作业和任务跟踪器的使用,java,hadoop,Java,Hadoop,作业跟踪器和任务跟踪器在hadoop中有什么用途? namenode中元数据的内容是什么? hadoop中次要名称节点的用途是什么?注意:请查看检查点节点(次要名称节点在最新版本中不推荐使用)。 次要名称节点的用途是执行定期检查点。次名称节点定期下载当前名称节点映像并编辑日志文件,将它们加入新映像并将新映像上载回(主和唯一)名称节点。请参阅用户指南 因此,如果名称节点出现故障,您可以在同一物理节点上重新启动它,则无需关闭数据节点,只需重新启动名称节点即可。如果无法再使用旧节点,则需要将最新图像复

作业跟踪器和任务跟踪器在hadoop中有什么用途? namenode中元数据的内容是什么?
hadoop中次要名称节点的用途是什么?

注意:请查看检查点节点(次要名称节点在最新版本中不推荐使用)。 次要名称节点的用途是执行定期检查点。次名称节点定期下载当前名称节点映像并编辑日志文件,将它们加入新映像并将新映像上载回(主和唯一)名称节点。请参阅用户指南

因此,如果名称节点出现故障,您可以在同一物理节点上重新启动它,则无需关闭数据节点,只需重新启动名称节点即可。如果无法再使用旧节点,则需要将最新图像复制到其他位置。最新映像可以在故障前用作主映像的节点上找到(如果可用);或在辅助名称节点上。后者将是没有后续编辑日志的最新检查点,也就是说,其中可能缺少最近的名称空间修改。在这种情况下,您还需要重新启动整个集群

JobTracker是Hadoop中用于提交和跟踪MapReduce作业的守护进程服务。任何hadoop集群上只运行一个Job Tracker进程。作业跟踪器在其自己的JVM进程上运行。在典型的生产集群中,它在单独的机器上运行。每个从属节点都配置了作业跟踪器节点位置。JobTracker是Hadoop MapReduce服务的单点故障。如果它下降,所有正在运行的作业都将停止。Hadoop中的JobTracker执行以下操作(来自Hadoop Wiki:) 客户端应用程序将作业提交给作业跟踪器。 JobTracker与NameNode对话以确定数据的位置 JobTracker可在数据处或数据附近找到具有可用插槽的TaskTracker节点 JobTracker将工作提交到所选TaskTracker节点。 将监视TaskTracker节点。如果他们没有足够频繁地提交心跳信号,他们将被视为失败,并将工作安排在不同的TaskTracker上。 TaskTracker将在任务失败时通知JobTracker。JobTracker决定接下来要做什么:它可能会在其他地方重新提交作业,可能会将特定记录标记为需要避免的内容,甚至可能会将TaskTracker列入不可靠的黑名单。 工作完成后,JobTracker将更新其状态

客户端应用程序可以轮询JobTracker以获取信息

TaskTracker是群集中的从节点守护进程,它从JobTracker接收任务(映射、减少和无序移动操作)。在任何hadoop从属节点上只运行一个Task Tracker进程。任务跟踪器在其自己的JVM进程上运行。每个TaskTracker都配置了一组插槽,这些插槽指示它可以接受的任务数。TaskTracker启动一个单独的JVM进程来执行实际工作(称为任务实例),这是为了确保进程失败不会导致任务跟踪器停机。TaskTracker监视这些任务实例,捕获输出和退出代码。无论任务实例是否成功完成,任务跟踪器都会通知JobTracker。TaskTracker还向JobTracker发送心跳消息,通常每隔几分钟发送一次,以使JobTracker确信它仍然活着。这些消息还通知JobTracker可用插槽的数量,以便JobTracker能够及时了解集群中可以委派工作的位置


Namenode存储整个系统名称空间。上次修改时间、创建时间、文件大小、所有者、权限等信息存储在Namenode中。名称节点上的fsimage为二进制格式。使用“脱机图像查看器”以人类可读的格式转储fsimage。当文件数量巨大时,单个Namenode将无法保留所有元数据。事实上,这是HDFS的局限性之一。您可以检查HDFS Federation,它旨在通过将不同的NameNode拆分为不同的名称空间来解决此问题。

这里有一个快速参考:

  • NameNode:管理名称空间、文件系统元数据和访问控制。每个集群中只有一个NameNode
  • SecondaryNameNode:从NameNode下载定期检查点以实现容错。每个集群中只有一个SecondaryNameNode
  • JobTracker:将任务分发给从属节点。每个集群中只有一个JobTracker
  • 数据节点:保存文件系统数据;每个数据节点管理自己的本地连接存储(即节点的硬盘),并在文件系统中存储部分或所有块的副本。每个集群中都有一个或多个数据节点。如果集群只有一个DataNode,则无法复制文件系统数据
  • TaskTracker:执行映射和减少任务的从属设备。每个群集中有一个或多个TaskTracker

()

请一次问一个问题!这是一个非常基本的问题,可以通过阅读一些介绍性文章得到。在发布查询之前,请做一些基础工作。@Tudor谢谢你。。你能告诉我namenode中存在的元数据吗?@Prem-namenode存储整个系统名称空间。上次修改时间、创建时间、文件大小、所有者、权限等信息存储在Namenode中。名称节点上的fsimage为二进制格式。使用“脱机图像查看器”以人类可读的格式转储fsimage。当文件数量很大时,单个Namenode将无法保存所有元数据。事实上,这是HDFS的局限性之一。您可以检查HDFS Federation,其目的是通过将不同的NameNode拆分为不同的名称空间来解决此问题。