首页 > 大数据 > Hadoop > hadoop2.3 安装配置开发记录(二)
hadoop2.3 配置(一)
hadoop的初衷是为了用普通的(commodity)硬件设备搭建强大的分布式文件系统集群,因此集群上的硬件并不需要非常昂贵的硬件设备,例如,小型机、ssd、高端存储等,就是通常所说的"IOE"。但是普通并不意味着低档,因为hadoop的集群通常由成百上千的机器组成,低档意味着增加集群的维护成本。在配置hadoop前,我们需要熟悉几个名词。
NameNode通常需要配置较大的物理内存,这由hadoop的机制所决定的,NameNode会在内存中存储整个HDFS的文件(file)和块(block)的元信息(metadata)。随着集群规模的增大,NameNode所需的内存也会随之增大。这也就是为什么hadoop的块划分默认是64m的原因。
JobTracker是一个master服务,软件启动之后JobTracker接收Job,负责调度Job的每一个子任务task运行于TaskTracker上,并监控它们,如果发现有失败的task就重新运行它。在繁忙的hadoop集群上,jobtracker将会使用较多的内存与CPU,所以一般情况应该把JobTracker部署在单独的机器上,而不是与namenode部署在同一台机器。
TaskTracker是运行在多个节点上的slaver服务。TaskTracker主动与JobTracker通信,接受作业,并负责执行每一个任务。TaskTracker都需要运行在HDFS的DataNode上。
集群中的DataNode一般是一个节点一个,负责管理它所在节点上的存储。HDFS暴露了文件系统的名字空间,用户能够以文件的形式在上面存储数据。从内部看,一个文件其实被分成一个或多个数据块,这些块存储在一组DataNode上。DataNode负责处理文件系统客户端的读写请求。在NameNode的统一调度下进行数据块的创建、删除和复制。
大多数时候Secondary NameNode(SNN)都非常闲,但在每个checkpoint时,Secondary NameNode回合NameNode(NN)有同样大的内存需求来将fsimage与EditLog合并。会周期性的将EditLog中记录的对HDFS的操作合并到一个checkpoint中,然后清空 EditLog。所以NameNode的重启就会load最新的一个checkpoint,并replay EditLog中记录的hdfs操作,由于EditLog中记录的是从上一次checkpoint以后到现在的操作列表,所以就会比较小。如果没有SNN的这个周期性的合并过程,那么当每次重启NameNode的时候,就会花费很长的时间。而这样周期性的合并就能减少重启的时间,同时也能保证HDFS系统的完整性。
来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/10397337/viewspace-1114290/ ,如需转载,请注明出处,否则将追究法律责任。