摘要:本篇文章探讨了大数据技术之Hadoop的5个守护进程,希望阅读本篇文章以后大家有所收获,帮助大家对相关内容的理解更加深入。
本篇文章探讨了大数据技术之Hadoop的5个守护进程,希望阅读本篇文章以后大家有所收获,帮助大家对相关内容的理解更加深入。
Hadoop 在正常启动后有五个重要的 JVM 进程,分别是NameNode,SecondaryNameNode,DataNode,JobTracker,TaskTracker。这五个进程肩负着 HDFS 在存储和计算上的各项任务。
NameNode
NameNode 是集群中的管理节点,只有一个。管理 HDFS 文件系统的命名空间,维护着文件系统树及整棵树内所有文件和目录。也记录着每个文件中各个块所在的数据节点信息。
SecondaryNameNode
它不是 NameNode 的冗余守护进程,而是提供周期检查点和清理任务。
出于对可扩展性和容错性等考虑,我们一般将 SecondaryNameNode 运行在一台非 NameNode 的机器上。
DataNode
DataNode 是文件系统中的工作节点,可以有多个。它们根据需要存储并检索数据块(受客户端或者 NameNode 调度),并且定期向 NameNode 发送它们所存储的块的列表。
应用程序访问文件系统时,先由 NameNode 提供数据块的位置,然后程序去访问对应的 DataNode。
JobTracker
每个集群有一个 jobtracker,它负责调度 datanode 上的工作。每个 datanode 有一个 tasktracker,它们执行实际工作。jobtracker 和 tasktracker 采用主-从形式,jobtracker 跨 datanode 分发工作,而 tasktracker 执行任务。jobtracker 还检查请求的工作,如果一个 datanode 由于某种原因失败,jobtracker 会重新调度以前的任务。
1)应用程序将 Job 交给 JobTracker;
2)JobTracker 通知 NameNode,让其确定数据块的位置;
3)JobTracker 确定 TaskTacker 节点,将 work 提交给确定好的 TaskTracker;
4)TaskTracker 一直被 JobTracker 监控着,如果不按时返回心跳信号或者主动返回失败,则认为是执行失败,将会转向其他 TaskTracker;
5)当 work 顺利执行完毕,JobTracker 更新状态;
6)应用程序可以轮询 JobTracker 的状态。
TaskTracker
task 指的是Map/Reduce/Shuffle操作。
每个 TaskTracker 都有一个 slot 集来标记这个 TaskTracker 所能接受的 task 的个数。当 JobTracker 要分配一个 task 时,会在 DataNode 的就近节点中找一个空的slot,把 task 分配给对应的 TaskTracker。当 TaskTracker 要处理一个 task 时,会产生一个新的进程来执行它。在执行期间不断向 JobTracker 发回心跳信号,执行完毕返回结果。
本文由职坐标整理发布,学习更多的相关知识,请关注职坐标IT知识库!
您输入的评论内容中包含违禁敏感词
我知道了
请输入正确的手机号码
请输入正确的验证码
您今天的短信下发次数太多了,明天再试试吧!
我们会在第一时间安排职业规划师联系您!
您也可以联系我们的职业规划师咨询:
版权所有 职坐标-一站式IT培训就业服务领导者 沪ICP备13042190号-4
上海海同信息科技有限公司 Copyright ©2015 www.zhizuobiao.com,All Rights Reserved.
沪公网安备 31011502005948号