本文主要讲解以下两个方面:
♦ Hadoop MapReduce与Hive技术研究
♦ 数据分析平台框架设计与环境配置
Hadoop
MapReduce与Hive技术研究
一、Hadoop框架工作机制
Hadoop框架定义:Hadoop分布式文件系统(HDFS)和Mapreduce实现。并行程序设计方法中最重要的一种结构就是主从结构,而Hadoop则属于该架构。
HDFS架构:HDFS采用Master/Slave架构,也是主从模式的结构。一个HDFS集群由一个NameNode节点和一组DataNode节点(通常也作为计算节点,若干个)组成。
NameNode定义:NameNode是一个中心服务器,负责管理文件系统的名字空间(NameSpace)、数据节点和数据块之间的映射关系以及客户端对文件的访问。它会将包含文件信息、文件相对应的文件块信息以及文件块在DataNode的信息等文件系统的缘数据存储在内存中,是整个集群的主节点。
DataNode定义:集群系统中,一个节点上通常只运行一个DataNode,负责管理他所在节点上的数据存储,并负责处理文件系统客户端的读写请求,在NameNode的统一调度下进行数据块的创建、删除和复制。集群中的数掘节点管理存储的数据,会将块的元数据存储在本地,并且会将全部存在的块信息周期性的发给NameNode。
在节点中操纵数据:
当要向集群中的某一节点写入数据:NameNode负责分配数据块,客户端把数据写入到对应节点中;当要从集群中的某一节点读取数据:客户端在找到这一节点之前需要先获取到数据块的映射关系(关系由Namenode提供),之后从节点上读取数据。
为了应对HDFS大量节点构成的特殊分布式数据结构的特征,所以HDFS架构最重要的就是要有错误故障检测以及故陣的快速恢复机制,这是通过数据节点和名字节点之间的一种称为心跳的机制来实现的,他能够使HDFS系统任意增删节点。
同时,分布式系统的采用和MapReduce模型的实现使得Hadoop框架具有高容错性以及对数据读写的高吞吐率,能自动处理失败节点。
HDFS两大特性:
高容错系统:HDFS增加了数据的冗余性。即每一个文件的所有数掘块都将会有副本。HDFS釆用一种机架感知的策略,这种策略需在经验积累的基础上调优。经过机架感知,NameNode可以知道DataNode所在位置的机架。这样的策略可使副本均匀分布在集群中的节点上,对于节点故障时的负载均衡有利。
高存取数据性能:通过客户端临时缓存在本地的数据减少对于网络带宽的依赖程度;读取副本时遵循就近原则;采用流水线复制技术提高