
整理了一些笔记供开始学习大数据的兄弟姐妹们学习参考下。
1.hadoop安装与介绍
1.1hadoop生态圈介绍
分布式系统—Google三架马车(GFS,mapreduce,Bigtable)。google 公布了发布了这三个产品的详细设计论文,但没有公布这三个产品的源码。Yahoo 资助的 Hadoop 按照这三篇论文的开源 Java 实现:Hadoop 对应 Mapreduce,Hadoop Distributed File System (HDFS)对应Google fs,Hbase对应Bigtable。不过在性能上Hadoop比 Google 要差很多。 1.1.1 GOOGLE三驾马车(1)分布式文件系统 GFS :GFS 是一个可扩展的分布式文件系统,用于大型的、分布式的、对大量数据进行访问的应用。它运行于廉价的普通硬件上,提供容错功能。对外的接口:和文件系统类似,GFS 对外提供 create, delete,open, close,read, 和 write 操作。
(2)分布式计算 mapreduce 【通过并行计算可以处理 T 级别 p 级别 e 级别 z 级别的的数据】 Mapreduce 由 map 与 reduce 组成,map 把数据分发到多个主机上,reduce 是规约,把 map 的worker 计算出来的结果合并出来。Google 的 mapreduce 实现使用 GFS 的数据。Mapreduce的计算使用方式, Distributed Grep,Count of URL Access Frequency, Graph,Distributed Sort。
(3)分布式存储 BIGTABLE【就像文件系统需要数据库来存储结构化数据一样,GFS 也需要 Bigtable 来存储结构化数据。】
* BigTable 是建立在 GFS ,Scheduler ,Lock Service 和 MapReduce 之上的。
*每个 Table 都是一个多维的稀疏图
*为了管理巨大的 Table,把 Table 根据行分割,这些分割后的数据统称为:Tablets。每个Tablets 大概有 100-200 MB,每个机器存储 100 个左右的 Tablets。底层的架构是:GFS。由于 GFS 是一种分布式的文件系统,采用 Tablets 的机制后,可以获得很好的负载均衡。比如:可以把经常响应的表移动到其他空闲机器上,然后快速重建。
Google 新三架马车:
Caffeine : 新版的搜索引擎
Pregel:图算法引擎,
Dremel:交互式数据分析系统