首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 其他教程 > 开源软件 >

Hadop引见

2013-11-29 
Hadop介绍Hadoop解决的二个问题:1.海量数据的存储,HDFS2.海量数据的分析,MapReduceHDFS设计目标:--适应场

Hadop介绍

Hadoop解决的二个问题:1.海量数据的存储,HDFS2.海量数据的分析,MapReduceHDFS设计目标:--适应场景1.Very Large File(单个文件很大,或者文件总大小非常大)2.Streaming data access(write-once, read-many-times)3.Commodity hardware(普通硬件上)--不适应场景:1.Low-latency data access(低延迟的数据)2.Lots of small files3.Multiple writers, arbitrary file modificationsHDFS架构:a.txt(900GB)在hadoop中,一个文件被划分成大小固定的多个文件块(默认64M),分布的存储在集群中节点中; 同一个文件块在不同的节点中有多个副本(防止节点失效)一个集中的地方保存文件的分块信息(保存在namenode(单点)上)Block:一个文件分块,默认64MNamenode:保存整个文件系统的目录信息,文件信息以及文件相应的分块信息。-namenode支持数据节点多时, 它是整个系统瓶颈;避免此问题,hadoop将namenode数据保存在内存当中,还有将namenode数据持久化到磁盘当中; Datanode:用于存储BlocksHDFS的HA策略:Namenode一旦宕机,整个文件系统将无法工作,  如果Namenode中的数据丢失,整个文件系统也就丢失了,。  2.X开始,HDFS支持NameNode的active-standy模式,运行的过程中,  standy的数据时时刻刻与active的数据同步.MapReduce原理:问题:求出数组中最大的数(3, 34, 54 ,24, 432,432,322, 64,1)传统解决办法:for循环迭代数组,找出最大的。?:如果数组中有一百亿个一千亿个值,A.这样耗时很长,B.一台机器上能存储吗MapReduce解决办法::把此此大数组分布存储到多台机器上,A.首先做一个Map操作(计算出当前节点中最大的值)得以一个最大值;B.每一节点都得出其节点上的最大值,C.Reduce操作,把Map的结果再找出最大值MapReduce就是把一个大问题分解成小问题,把每一个问题的结果计算出来再进行计算。MapReduce是一种编程模型,用于大规模数据集的并行计算。

热点排行