开发者社区> 问答> 正文

Jobtracker为什么与 NameNode 在一个节点启动?

Jobtracker为什么与 NameNode 在一个节点启动?

展开
收起
真的很搞笑 2021-12-05 23:38:29 1062 0
1 条回答
写回答
取消 提交回答
  • hadoop 的集群是基于 master/slave 模式,namenode 和 jobtracker 属于 master, datanode 和 tasktracker 属 于 slave , master 只 有 一 个 , 而 slave 有多个 SecondaryNameNode 内存需求和 NameNode 在一个数量级上,所以通常 secondary NameNode(运行在单独的物理机器上)和 NameNode 运行在不同的机器上。 JobTracker 和 TaskTracker JobTracker 对应于 NameNode TaskTracker 对应于 DataNode DataNode 和 NameNode 是针对数据存放来而言的 JobTracker 和 TaskTracker 是对于 MapReduce 执行而言的 mapreduce 中几个主要概念,mapreduce 整体上可以分为这么几条执行线索:obclient,JobTracker 与 TaskTracker。 1、JobClient会在用户端通过JobClient类将应用已经配置参数打包成jar文件存储到hdfs,并把路径提交到 Jobtracker,然后由 JobTracker 创建每一个 Task(即 MapTask 和ReduceTask)并将它们分发到各个 TaskTracker 服务中去执行。 2、JobTracker 是一个 master 服务,软件启动之后 JobTracker 接收 Job,负责调度 Job的每一个子任务 task 运行于 TaskTracker 上,并监控它们,如果发现有失败的 task 就重新运行它。一般情况应该把 JobTracker 部署在单独的机器上。 3、TaskTracker 是运行在多个节点上的 slaver 服务。TaskTracker 主动与 JobTracker 通信,接收作业,并负责直接执行每一个任务。TaskTracker 都需要运行在 HDFS 的 DataNode上。

    2021-12-05 23:42:49
    赞同 展开评论 打赏
问答地址:
问答排行榜
最热
最新

相关电子书

更多
低代码开发师(初级)实战教程 立即下载
冬季实战营第三期:MySQL数据库进阶实战 立即下载
阿里巴巴DevOps 最佳实践手册 立即下载