2012-10-23初步接触
1.【hadoop】是一个功能对大量数据进行分布式处理的软件架构,实现了MapReduce编程模型和框架
2.在Mapreduce中一个准备提交执行的应用程序称为作业(job),而从一个作业划分出的,运行个计算机节点的工作单元称为任务(task)
3.Hadoop提供分布式文件系统(HDFS),主要负责各个节点数据存储,并实现了高吞吐率的数据读写
4.【NameNode】是HDFS的守护程序,负责记录文件时如何分割成数据块的,以及这些数据块分别被存储到哪些数据节点上。它的主要功能是对内存及I/O进行集中管理
5.如果其他从服务器因出现软硬件的问题而宕机,Hadoop集群仍旧可以继续运转,或者快速启动。但是,由于NameNode是hadoop集群中的一个单点,一旦NameNode
宕机,整个系统将无法运行 ;
6.【Secondary NameNode】是一个用来监控HDFS状态的辅助后台程序,就像NameNode一样,每个以集群都有一个Secondary NameNode,并且部署在一台单独的服务器上
Secondary NameeNode不同于NameNode,它不接收或记录任何实时的数据变化,但是,它与NameNode进行通信,如果NameNode发生问题,Secondary NameNode可以及时
备用NameNode使用
7.【JobTracker】 后台程序用来连接应用程序与hadoop,用户代码提交到集群以后,有JobTracker决定哪个文件将被处理,并且为不同的task分配几点,同时
,他还监控所有运行task,每个Haddoop集群只有一个JobTracker,一般运行在集群的Master节点上
8.【TaskTracker】与负责存储的DataNode相结合,其处理结构上也遵循主/从架构,JobTracker位于主节点,统领MapReduce工作;而TaskTrackers位于从节点
独立管理各自task,TaskTracker的一个重要职责就是与JobTracker交互。如果JobTracker无法准时获取TaskTracker提交信息,Jobtracker就判定TaskTracker已经崩溃。并将任务分配给其他节点处理
9.Hadoop活动:通过http://ip:50030 连接到JobTracker,可以直接查看到hadoop执行任务情况;
总结:
1.HDFS可以理解为windows机器上文件存储格式比如:FAT32,NTFS
2.HBase是一个基于列存储方式;角色类同于:oracle
3.Hive提供数据摘要和查询功能数据仓库
4.目前服务器使用的版本 1.0.3 hadoop-1.0.3.tar.gz |O:\研发2部\PPS数据平台\90.开发环境及相关软件\相关软件
2012-10-24
1.NameNode和JobTracker可以部署在不同机器上,也可以部署在同一台机器上。部署Namenode和JobTracker的机器是Master(主服务器),其余的都是
Slaves(从服务器)
2.NameNode负责管理文件系统的命名空间,记录文件数据块在每个DataNode上的位置和副本信息,协调客户端对文件的访问,以及记录命名空间内的改动或
命名空间本身属性的改动。
DataNode 负责它们所在的物理节点上存储管理。HDFS开发文件系统的命名空间已便让用户以文件形式存储数据,
3.HDFS 典型的块大小是64MB.每个数据块尽可能的分散存储于不同的DataNode中,
4.【DataNode】负责处理客户的读写请求,依照NameNode的命令,执行数据块的的创建,复制,删除等工作,例如:客户端要访问一个文件,首先,客户端从NameNode
中获的组成改文件的数据块位置列表,即知道数据块别存储在哪些DataNode上;然后,客户端直接从DataNode上读取文件数据,此过程中,NameNode不参与文件的传输
5.【NameNode】使用事务日志(editLog)来记录HDFS源数据,使用映像文件(FsImage)存储文件系统的命名空间,包含文件的映射、文件的属性信息。
事务日志和映像文件都存储在NameNode的本地文件系统中,
6.【检查单(checkPoint)】NameNode启动时,从磁盘中读取映像文件和事务日志,把事务日志的事务都应用到内存中的映像文件上,然后将新的元数据刷新到本地磁盘的新的映像文件中,这样可以截取就的事务日志,这个过程称为检查单(checkPoint)
7.【Secondary NameNode】HaFS还设有Secondary NameNode节点,它辅助NameNode处理文件映像文件和事务日志,NameNode会周期的从NameNode上复制映像文件和事务日志使得事务日志的大小始终控制在可配置的限度下
8.【块报告(Blockreport)】当DataNode启动时候,它会遍历本地文件系统,产生一份HDFS数据块和本地文件对应关系的列表,并把这个报告发给NameNode,这就是块报告(Blockreport)
9.【NameNode 心跳检测】NameNode周期性从集群中每个DataNode接受心跳包和块报告
10【NameNode 安全模式】系统启动NameNode 会进入一个安全模式。此时不会出现数据块的写操作。NameNode会收到各个DataNode拥有的数据块列表对数据块的报告
由此NameNode获得所有的数据块信息。
11,【元数据磁盘失效】映像文件和事务日志是HDFS的核心数据结构。如果这些文件损坏,将会导致HDFS不可用。NameNode可以配置为支持维护映像文件和事务日志
的多个副本,任何对映像文件或事务日志的修改,都将同步到它们的副本上。这样会降低NameNode处理命名空间事务的速度,然而这个是可以接受的,因为HDFS是数据密集、而非元数据密集的。当NameNode重新启动的时候,总是选择最新的一致的映像文件和事务日志。在HDFS集群中NameNode是单点存在的,如果他出现故障,必须手动干预。目前HDFS还不支持自动重启或切换到另外的NameNode。
二.分久必合-MapReduce
【MapReduce编程模型】采用“分而治之”的思想,把对大规模数据局的操作,分发给一个主节点管理下的各分节点共同完成,然后通过整合各分店的中间结果,得到
最终结果。简单的说,MapReduce就是“任务的分解与结果汇总”
【MapReduce 任务调度和执行】 Mapreduce任务由一个JobTracker和多个TaskTracker两类节点控制完成。JobTracker主要负责调度和管理TaskTracker,它通常情况
下运行在Master节点上。JobTracker将Mapppers和Reducers分配给空闲的TaskTracker后,有TaskTracker负责这些任务的并执行,TaskTracker必须运行在DataNode上,所以DataNode既是数据的存储点,也是计算节点。JobTracker也负责监控任务的运行状况,如果某个TaskTracker发生故障,JobTracker就会将其负责的任务分配给其他空闲的Tasktracker重新执行。