Hadoop基础原理
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Hadoop基础原理相关的知识,希望对你有一定的参考价值。
Hadoop架构
Write:Client向HDFS文件系统保存数据的过程
1、HDFS Client通过HDFS文件系统的API,将数据划分成指定大小的数据块
2、向NameNode发起存储请求,NameNode会告知Client端,数据可以存放在哪些DataNode上
3-5:Client端通FSData OutputStream将数据存储在2中NameNode返回的DataNode上,在不同的DataNode上保存至少三份,每一份保存完成后,DataNode会向ClientNode发送ACK确认
6、Client端关闭FSData OutputStream 数据流,并告知NameNode,数据存储完成。
Read:Client向HDFS文件系统读取数据的过程
1、Client 通过Distributed FileSystem的API向NameNode发起打开文件,并读取文件的请求
2、NameNode在收到请求后,会查找本地维护的两张元数据表(一个是所持有的块信息表,一个是每一个数据块存放的DataNode路径信息)返回给客户端
3-5、客户端会根据NameNode返回的表查找离自己最近的数据节点来获取数据,比如第一个数据块从datanode4上读取,第2个从datanode5上读取
6、数据读取完成后,Client关闭FSData InputStream
mapreduce的过程:
mapreduce主要是用来处理文件的,这个文件上的数据可能是杂乱无章的,hadoop的reduce只能处理键值对格式的数据,因此必须将数据抽取成键值对数据。
过程如下:
split:启动一个split任务,将文件中的每一个数据按照用户所指定的标准切割或者抽取成键值对。如<key1,value1>,<key2,value2>
map:将这些键值对发送给各个mapper worker进程,mapper worker收到键值对后,会对数据做出第一次处理,结束后形成另外一种键值对。如<ikey1,ivalue1>、<ikey2,ivalue2>。 这些数据是reducer可折叠的数据。
shuffle&sort:mapper将处理后的数据进行洗牌和排序,发给reduce进行折叠操作,同一个key和其对应的数据发送给同一个reducer。
store:reduce之后的数据进行存储
HBase:
NoSQL,
以上是关于Hadoop基础原理的主要内容,如果未能解决你的问题,请参考以下文章
Hadoop基础(十七):MapReduce框架原理切片机制