HDFS和MapReduce核心思想

Hadoop是Apache下的一个开源分布式计算平台,以HDFS(Hadoop Distributed Filesystem)和MapReduce为其核心。为什么会出现这么个东西呢,“需求是最强大的驱动力”,在这个"big data"的时代,比如Facebook每天处理的新数据良就达到20TB,要处理海量数据就不能局限于传统数据库时代的做法了,我们可以把处理数据的任务分散到各节点(普通硬件设备),再把任务结果汇总返回到客户端——其核心思想也就是“分而治之”。做个比喻:要做全国的人口统计,只要把通知一层层传递下去,各区的相关部门就会把自己区域的人口统计好,再统一上报到国家统计局,统计局再把总数向全国公布。

Hadoop的设计思想来源于google发布的两篇论文:google-GFS(中文)google-mapreduce(中文),理解了这两篇文章,也就大致明白hadoop是个什么玩意儿了。

一个HDFS集群由一个NameNode和若干个DataNode组成,Namenode是主服务器,管理文件系统的命名空间和客户端对文件系统的访问操作;集群中的datanode管理存储的数据。其读数据如图:



1.首先调用FileSystem对象的open方法,其实是一个DistributedFileSystem的实例
2.DistributedFileSystem通过rpc(远程过程调用协议)获得文件的第一批个block的locations,同一block按照重复数会返回多个locations,这些locations按照hadoop拓扑结构排序,距离客户端近的排在前面.
3.前两步会返回一个FSDataInputStream对象,该对象会被封装成DFSInputStream对象,DFSInputStream可以方便的管理datanode和namenode数据流。客户端调用read方法,DFSInputStream最会找出离客户端最近的datanode并连接(hadoop的机架感知得到拓扑结构,并在该拓扑结构下进行自己的副本存放)。
4.数据从datanode源源不断的流向客户端。
5.如果第一块的

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值