Hadoop 基础架构 详解

来源:互联网 发布:今年最流行网络歌曲 编辑:程序博客网 时间:2024/05/17 00:19

一.Hadoop简介
Hadoop是Apache基金会下一个分布式大数据开发平台,以Map-Reduce 的高效,支持快速检索著称,与其齐名是Spark分布式大数据开发平台。
其生态包括:
Common:一系列组件和接口,用于分布式文件系统和通用I/O(序列化,JavaRPC和持久化数据结构)
Avro:一种序列化系统,用于支持高效、跨语言的RPC和持久化数据存储
MapReduce:分布式数据处理模型和执行环境,运行大型商用机集群
HDFS:分布式文件存储系统,运行于大型商用机集群
Pig:数据流语言和运行环境,用以探究非常庞大的数据集。Pig运行在MapReduce和HDFS集群上
Hive:一种分布式的,按序列存储的数据仓库。Hive管理HDFS中存储的数据结构,并提供基于SQL的查询语言(由运行时引擎翻译成MapReduce作业)用以查询数据
HBase:一种分布式的,按列存储的数据库。Hbase使用HDFS作为底层存储,同时支持MapReduce的批量式计算和点查询(随机读取)
ZooKeeper:一种分布式的、可用性高的协调服务。Zookeeper提供分布式锁之类的基本服务用于构建分布式应用
Sqoop:该工具用于在结构化数据存储(如关系型数据库)和HDFS之间高效批量传输数据
Oozie:该服务用于运行和调度Hadoop作业(如MapReduce,Pig,Hive和Sqoop作业)
二.HDFS
这里写图片描述
1.HDFS文件系统采用主从结构设计,分为NameNode(SecondNameNode),DataNode。NameNode主要存储文件的信息,操作日志,DataNode主要存储数据(数据块默认为64M)。DataNode定期向NameNode发送信息,主要包括数据块ID,Datablock信息,节点信息等,NameNode将各个DataNode信息汇总分析,以DataNode发送来的信息判断整个集群的状态。用户的操作会存储在edit文件然后操作fsimagine,secondNameNode主要作用是帮助NameNode合并fsimage文件,使namenode在不停止的状态下处理完成文件的合并,写入,操作等。
2.访问HDFS
通过Http访问HDFS有两种方法:直接访问和通过代理访问
第一种:由namenode内嵌的Web服务器(运行在50070端口)提供目录服务,目录列表主要以XML 或者Json格式存储,并且文件数据由datanode的web服务器(运行在50075上)以数据流的形式存储
第二种:依靠一个或者多个独立的代理服务器通过Http访问HDFS。(由于代理服务是无状态的,因此可以运行在标准的负载均衡器之后。)所有到集群的网络通信都需要经过代理。使用代理服务器后可以使用更严格的防火墙策略和带宽限制策略。通常情况下通过代理服务器,实现在不同数据中心中部署的Hadoop集群之间的数据传输。
3. 客户端在请求数据的时候会首先请求namenode节点,由namenode节点返回所请求的文件的文件块信息,然后客户端直接访问datanode。
4. 客户端在上传文件的时候会将信息写入到namenode节点,然后将数据拷贝的datanode,然后HDFS会自动对数据进行备份,默认为3份,即在本地机架一份,然后寻找另外一个机架进行拷贝,然后再在机架上寻找另外一台电脑拷贝。hdfs会对集群中的数据进行维护,只要数据的备份数目少于设置的数目就会自动备份。
三. MapReduce
这里写图片描述
1. MapReduce 同样采用主从结构,分为jobtacker和tasktacker,job负责分配任务和调节集群中tasktacker。
2. tasktacker采用心跳机制不断向jobtacker汇报集群中的状态。
3. jobtracker收到submitjob()后会把此任务放入到队列当中,根据集群中发来的心跳信息判断集群中是否有空闲tasktracker,如果有就会生成一个新的jobid,然后客户端直接将任务提交到tasktracker上,当各个tasktracker节点的任务运行完成,就会将结果merge然后返回给客户端,并报告给jobtracker此tasktracker的节点状态,等待分配新的任务。
四. 结
这里写图片描述
1.从此图分析,我们首先提交一个输入文件,既要处理的文件提交到集群中,map会做事先处理,形成map映射数据,然后进入shuffler,将数据进行排序、合并、排序。此过程是在内存中进行,如果合并的数据大小超过阈值,就会将数据写入到磁盘中。reduce会读取磁盘中merge完成的数据,经过reduce处理,生成数据的分析结果,mapreduce过程结束。

0 0
原创粉丝点击