我是怎么玩hadoop的(二)--构造模块

在写这个模块之前,已经用过hadoop集群完成了一些小测试,但是还希望了解下更深层的东西,我想大家一定对namenode,datanode,secondary namenode,jobtracker,he tasktracker有了一定的了解,我想对我我来说也只是单纯的知道,但不上深入,今天想总结下这几个构造模块在hadoop的具体用法和意义。

hadoop的守护进程包括:

namenode 名字节点;

datanode 数据节点;

secondary namenode 次名字节点;

jobtracker 作业跟踪节点;

tasktracker 任务跟踪节点;


1.namenode:

无可厚非的是:namenode是hadoop守护进程中最重要的一个。我们知道hadoop分布式计算与分布式存储采用了主从(master/slave)结构。分布式存储系统被称为hadoop文件系统(HDFS),namenodeweiyu HDFS的主端,它指导从端datanode执行底层的IO任务。namenode是HDFS的书记员(hadoop实战中的翻译),他跟踪文件如何被分割成文件块,而这些块又被那些节点存储,以及分布式文件系统的整体运行状态是否正常。

运行namenode小号大量的内存和IO资源。因此,为了减轻机器的负载,主流namenode服务器通常不会存储用户数据或者执行mapreduce程序的计算任务。被称为最重要的节点,也有一个缺点,当namenode的坐在的节点发生了软件或者硬件失效,hadoop必然会失效。


2.datanode:

每一个集群上的从节点都会主流一个datanode守护进程,用来执行分布式文件系统的繁重工作——将HDFS数据块读取或者写入到本地文件系统的实际文件中。当希望对HDFS文件进行读写时,文件被分割为多个块,由namenode告知客户端每个数据块驻留在哪个datanode。客户端直接与datanode守护进程进行通信,来处理与数据块相对应的本地文件。而之后datanode会与其他datanode进行通信。复制这些数据块以实现冗余。


由上图可知,文件系统中存在两个数据文件:data1和data2。而文件data1有三个数据块,而data2有两个数据块,这些数据块散列在datanode上,由图可以看到每个数据块有三个副本,也就是在搭建集群时:hdfs-site.xml文件的dfs.replication的值,这里的例子为3。这样做的目的是,当如果有一个datanode出现问题时,仍然可以维持系统的平稳,读取到有用的数据。


3.secondary namenode

secondary namenode(SNN)适用于监测HDFS集群状态的辅助守护进程。像namenode一样,每个集群有一个SNN,他通常也独占一台服务器,该服务器不会运行其他的datanode或tasktracker守护进程。SNN与namenode的不同在于他不接受或记录HDFS的任何实时变化。相反,它与namenode通信,根据集群所配置的时间间隔获取HDFS元数据的快照。

namenode是hadoop集群的单一故障点,而SNN的快照可以有助于减少停机的时间,并降低数据丢失的风险。当namenode失效时,需要人工干预,即手动的重新配置集群,将SNN用作主要的namenode。


4.jobtracker

jobtracker守护进程是应用程序和hadoop之间的纽带。一旦提交代码到集群上,jobtracker就会确定执行计划,包括决定处理那些文件、为不同的任务分配节点以及监控所有人物的运行,如果失败,jobtracker将自动重启任务,但所分配的将诶点可能会不同,同时收到预定义的重试次数限制。每个集群通常只有一个jobtracker守护进程,通常在运行服务器的主节点上。

5.tasktracker

与存储的守护进程一样,计算的守护进程也遵循主从架构:jobtracker作为主节点,检测mapreduce作业的整个执行过程,同时,tasktracker管理各个任务在每个从节点上的执行情况。

每个tasktracker负责执行由jobtracker分配的单项任务,虽然每个从节点上仅有一个tasktracker,但每个tasktracker可以生成多个jvm来并行地处理许多map或reduce任务。tasktracker的一个职责是持续不断地与jobtracker通信,如果jobtracker在指定的时间内没有收到来自tasktracker的’心跳‘,他会假定tasktracker已经崩溃,进而重新提交相应的任务到急群众的其他节点中。

最后如上一张hadoop集群的拓扑图:

当然有时也不固定,在大型的hadoop及群里namenode与jobtracker也会分别部署在两台机器上













  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值