那么NN、DN、JT、TT的问题来了。。。。

首先,今天是羊年初一。祝看到这篇博文的朋友们新春快乐!身体健康!心想事成!万事胜意!

言归正传。hadoop中的两大核心分别是HDFS以及MapReduce。HDFS分布式文件系统有NameNode、DataNode以及SecondaryNameNode三种节点进程,同时MR有JobTracker和TaskTracker两种节点进程。(当然这是基于hadoop 1.x版本来讨论的,至于2.x的NameNode联邦和YARN的话,我们下次再讨论)

对于HDFS文件系统,NN 是负责文件系统管理,包括所有文件的命名以及它们所包含的的目录内容,所有文件的元数据,文件的块映射,节点(也就是DN)的块存储信息以及目前的文件复制状态。DN是负责存储数据并定期向NN汇总复制状态以及块信息。这里NN与DN通信主要是通过心跳机制(heartbeat messages)进行通信。而SecondaryNameNode主要是及时更新集群信息,辅助NN的,它并不是NN的hot-backup哦!但我们可以通过它来恢复NN,这是对的。

现在我们来讨论一下里面的一些细节。

【当DN宕掉的时候】使用hadoop dfsadmin -report命令查看DN宕掉前后的报告。可以发现DFS remaining,DFS userd,以及Datanode available的数据的变化。每一个DN都有自己管理的replicas。如果一个DN宕掉了,那么NN会令其他DN恢复宕掉的那个DN的备份,所以可以看到参数Under replicated blocks的数据变化。当然,这是在参数dfs.replication的threshold之内,如果剩下的DN数少于复制因子数的话,估计就不会再复制了。

【当NN宕掉的时候】这对于hadoop集群来说可是一个毁灭性的灾难。因为NN是整个集群关键。我们必须事先保存好tmp目录中的name目录中内容,因为里面的两个文件是关键。一个fsimage,另一个是version。具体做法可以参看本人之前的一篇博文利用hadoop1.x集群进行探索性实验(二)【模拟namenode崩溃,通过secondary namenode恢复namenode】。这里重点说一下fsimage文件,它保存着整个HDFD文件系统的所有文件属性以及块信息等细节。为了不让任何修改信息丢失,在每次启动的时候,NN都会根据edits log来update这个文件。同时在刚启动集群的时候通过web UI会发现文件系统处于safe mode。这是因为这时候DN正在向NN报告块信息。NN会令文件系统一直处于只读状态直到其确认有一定比例的块已经达到了预期的复制值。可能大家会有疑问,如果经常这样,那么那些大的集群启动的过程不就会非常漫长??这个时候,我们的SecondaryNameNode出场了!它会在每隔一段时间根据edits log来update fsimage这个文件。从而加快NN的启动。

【当JT宕掉的时候】它并不会影响到HDFS文件系统的正常运行,但是想要提交MR作业恐怕就不行了。但是NN宕掉的话,别说HDFS文件系统崩溃了,就连MR作业也别想运行了!同时,MR Job会将作业的临时数据写到HDFS中,并在作业结束后自动删除。如果因为JT宕掉了而令到作业失败,那么这些临时文件恐怕需要手动删除了。

【当TT宕掉的时候】JT会重新寻找可用的TT来继续完成作业,所以并不担心会有多么大的问题。同时可以在mapred-site.xml中设置mapred.tasktracker.expiry.interval属性来定义检查时长,如果超出了规定时间都接收不到心跳信息,则认为此TT已经dead。

好了,就讨论到这里啦!当知道了这些细节后,也为我们管理hadoop集群提供了莫大的便利。

时间: 2024-10-24 18:08:47

那么NN、DN、JT、TT的问题来了。。。。的相关文章

改造Hadoop 的HDFS的NN,DN进程,日志输出为json格(转)

原文链接:http://blog.itpub.net/30089851/viewspace-2136429/ 1.登录nn机器,进入最新序号的namenode配置文件夹,查看当前的nn的log4j配置[[email protected] ~]# cd /var/run/cloudera-scm-agent/process/[[email protected] process]# ls -lrt.....................drwxr-x--x 3 hdfs   hdfs   380

【甘道夫】Hadoop2.2.0 NN HA详细配置+Client透明性试验【完整版】

引言: 前面转载过一篇团队兄弟[伊利丹]写的NN HA实验记录,我也基于他的环境实验了NN HA对于Client的透明性. 本篇文章记录的是亲自配置NN HA的详细全过程,以及全面测试HA对客户端访问透明性的全过程,希望对大家有帮助. 实验环境: Hadoop2.2.0的4节点集群,ZK节点3个(ZK节点数最好为奇数个),hosts文件和各节点角色分配如下: hosts: 192.168.66.91 master 192.168.66.92 slave1 192.168.66.93 slave2

Hadoop 学习笔记五 ---Hadoop系统通信协议介绍

本文约定: DN: DataNode TT: TaskTracker NN: NameNode SNN: Secondry NameNode JT: JobTracker 本文介绍Hadoop各节点和Client之间通信协议. Hadoop的通信是建立在RPC的基础上,关于RPC的详解介绍大家可以参照 "hadoop rpc机制 && 将avro引入hadoop rpc机制初探" Hadoop中节点之间的通信是比较复杂的一个网络,若可以把它们之间的通信网络了解清楚,那么

Hadoop 学习笔记四 ---Hadoop系统通信协议介绍

本文约定: DN: DataNode TT: TaskTracker NN: NameNode SNN: Secondry NameNode JT: JobTracker 本文介绍Hadoop各节点和Client之间通信协议. Hadoop的通信是建立在RPC的基础上,关于RPC的详解介绍大家可以参照 "hadoop rpc机制 && 将avro引入hadoop rpc机制初探" Hadoop中节点之间的通信是比较复杂的一个网络,若可以把它们之间的通信网络了解清楚,那么

Hadoop系统通信协议介绍(转)

转载自 ---- http://weilaiyxj.iteye.com/blog/913166 本文约定: DN: DataNode TT: TaskTracker NN: NameNode SNN: Secondry NameNode JT: JobTracker 本文介绍Hadoop各节点和Client之间通信协议. Hadoop的通信是建立在RPC的基础上,关于RPC的详解介绍大家可以参照 "hadoop rpc机制 && 将avro引入hadoop rpc机制初探&quo

poj1276

题目链接:http://poj.org/problem?id=1276 Cash Machine Time Limit: 1000MS   Memory Limit: 10000K Total Submissions: 29827   Accepted: 10733 Description A Bank plans to install a machine for cash withdrawal. The machine is able to deliver appropriate @ bill

Spark编译与部署

Spark入门实战系列--2.Spark编译与部署(上)--基础环境搭建 [注] 1.该系列文章以及使用到安装包/测试数据 可以在<倾情大奉送--Spark入门实战系列>获取: 2.Spark编译与部署将以CentOS 64位操作系统为基础,主要是考虑到实际应用一般使用64位操作系统,内容分为三部分:基础环境搭建.Hadoop编译安装和Spark编译安装,该环境作为后续实验基础: 3.文章演示了Hadoop.Spark的编译过程,同时附属资源提供了编译好的安装包,觉得编译费时间可以直接使用这些

(多重背包)poj 1276

Cash Machine Time Limit: 1000MS   Memory Limit: 10000K Total Submissions: 28364   Accepted: 10125 Description A Bank plans to install a machine for cash withdrawal. The machine is able to deliver appropriate @ bills for a requested cash amount. The m

poj 1276 Cash Machine(dp 水题)

Language: Default Cash Machine Time Limit: 1000MS   Memory Limit: 10000K Total Submissions: 27799   Accepted: 9913 Description A Bank plans to install a machine for cash withdrawal. The machine is able to deliver appropriate @ bills for a requested c

hadoop 2.x 完全分布式搭建

HDFS HA 集群搭建: DN(DataNode):3个:NN(NameNode):2:ZK(ZooKeeper):3(大于1的奇数个):ZKFC:和NN在同一台机器:JN:3:RM(ResourceManager):1:DM(DataManager):3个:与DN在同一台,就近原则 √表示在该机器上有该进程.   NN DN ZK ZKFC JN RM DM Node1 √   √ √   √   Node2 √ √ √ √ √   √ Node3   √ √   √   √ Node4