-
Notifications
You must be signed in to change notification settings - Fork 259
科普Hadoop
郭帅 edited this page Dec 16, 2017
·
1 revision
Google Big Table --> HBase
Google MapReduce --> MapReduce
GFS谷歌文件系统 --> HDFS
**Hadoop **
开源 Yahoo,Facebook,Amazon以及国内的百度,阿里巴巴等众多互联网公司都以Hadoop为基础
搭建自己的分布式计算系统
**Spark**
加州大学伯克利分校的实验室开发,它在Hadoop的基础上进行了一些架构上的改良
Hadoop 与Spark的区别?
Hadoop是基于硬盘存储数据 Spark使用内存存储数据,因此Spark可以提供超过Hadoop100倍的运算速度
Spark缺点:
断电后 内存数据会丢失,所以Spark不能用于处理需要长期保存的数据
**Storm**
Strom是推特Twitter主推的分布式计算系统 它在Hadoop的基础上提供了实时运算的特性,可以实时的处
理大数据流
Strom与前两者的区别:
Storm不进行数据的收集和存储工作,它直接通过网络实时的接受数据并且实时的处理数据,然后直接通过
网络实时的传回结果。
Hadoop,Spark和Storm是目前最重要的三大分布式计算系统,
Hadoop常用于离线的复杂的大数据处理,Spark常用于离线的快速的大数据处理,而Storm常用于在线的
实时的大数据处理。
Hadoop已经出到了3.0.0 (2017.12.13 前天发布)
已经形成一个生态体系,类似Linux系统,想学习大数据,就离不开hadoop
Hadoop提供了一个可靠的共享存储和分析系统。HDFS实现存储,而MapReduce实现分析处理。这两部分
是它的核心。
分布式和集群
分布式:一个业务拆成多个子业务,部署在不同的服务器上
集群:同一个业务 部署在多个服务器上
集中式计算和分布式计算
集中式计算:就是通过不断增加处理器的数量来增强单个计算机的计算能力 比如:超级计算机
分布式计算:就是把一组计算机通过网络相互连接 组成分散系统 然后将需要处理的大量数据
分散成多个部分,交由分散系统内计算机组同时计算,最后将这些计算结果合并得
到最终的结果
4V
达到PB级别 GB TB PB EB ZB YB
大数据的技术基础:
源自于Google2003-2004年发布的三篇论文 MapReduce、Google File System和BigTable,
提出了一套全新的分布式理论
## 阅读文档
必须积累单词
怎样阅读源码
第一阶段
学习Hadoop基本使用和基本原理,从应用角度对Hadoop进行了解和学习
1.在应用层面上需要达到
使用hadoop shell对hdfs进行操作,使用hdfs API编写一些程序上传,下载文件;
使用MapReduce API编写一个数据处理程序。
2.试着了解它的内部原理(博客,书籍)
对于HDFS
了解HDFS的基本架构以及各模块的功能
对于MapReduce
了解它具体的工作流程,知道partition shuffle sort 等的工作原理
可以在纸上画出MapReduce的流程,越详细越好
3,这个阶段的注意事项:
多看一些知名博客
多读读Hadoop权威指南(先选择性的看相关的)
有项目,联系项目驱动学习
多讲给别人听
从无到有,开始阅读Hadoop源码(工作一年后了)
书籍:Hadoop技术内幕
### 最终目的:
对hadoop源代码整体架构和局部的很多细节,有了一定的了解
比如你知道MapReduce Scheduler是怎样实现的,MapReduce shuffle过程中,
map端做了哪些事情,reduce端做了哪些事情,是如何实现的等等。
这个阶段完成后,当你遇到问题或者困惑点时,可以迅速地在Hadoop源代码中
定位相关的类和具体的函数 通过阅读源代码解决问题,这时候,hadoop源代码
变成了你解决问题的参考书。
根据需求,修改源代码
当成一种修养.通过阅读hadoop源代码,加深自己对分布式系统的理解
### 给别人讲出来
### 看书
Hadoop初学者
Hadoop权威指南(必读)
Hadoop实战
Hadoop Operation
Hadoop中级
《Hadoop技术内幕:深入解析MapReduce架构设计与实现原理》
《深入解析Hadoop Common和HDFS架构设计与实现原理》
《深入解析Hadoop Common和HDFS架构设计与实现原理》
Yet Another Resource Negotiator,另一种资源协调者 为上层应用提供统一的资源管理和调度
一组分布式文件系统和通用I/O组件与接口(序列化 Java RPC 和持久化数据结构)
分布式数据处理模型和执行环境,运行于大型商用主机的并行计算框架
分布式文件系统,运行于大型商用集群
一个分布式 可用性高的协调服务 提供分布式锁之类的基本服务用于构建分布式技术
一个分布式 按列存储的数据库 使用HDFS作为底层存储,同时支持MapReduce的批量式计算和点查询
一个分布式 按列存储的数据仓库 管理HDFS中存储的数据,并提供基于sql 的查询语言用以查询数据