Hadoop海量数据实现原理
- 单点结构面临的问题
- 集群架构面临的问题
- Hadoop集群架构
- 冗余化数据存储
- 分布式文件系统
单点结构
海量数据例子
集群架构
2. 集群架构面临的问题
节点故障
网络带宽瓶颈
3. Hadoop 分布式集群
Map-Reduce集群运算问题的解决方案
- 在多节点上冗余地存储数据,以保证数据的持续性
- 将计算移向数据端,以最大程度减少数据移动
- 简单的程序模型,隐藏所有的复杂度
4.冗余化数据存储结构
分布式文件存储系统:
- 提供全局的文件命名空间,冗余度和可获取性
- 例如Google的GFS,hadoop的HDFS
典型的应用场景与模式:
- 超大级别的数据量(100GB到100TB级别)
- 数据很少被全部替换
- 最常见的操作为读取和追加数据
5. 分布式文件系统
- 数据以‘块状’形式在多台机器上存储
- 每个数据块都会重复地在多台机器上存储
- 保证数据的持续性和随时可取性
- 服务器块同时也用作计算服务器
- 把运算挪向数据处
服务器块:
- 文件被分作16-64MB大小的连续块
- 每个文件块会被重复的存储2到3次
- 尽量保证重复的数据块在不同的机架上
主节点:
- Hadoop的HDFS里叫做Name节点
- 存储元数据记录文件存储结构和地址
- 最常见的操作为读取和追加数据
文件访问的客户端库:
- 询问主节点以获取块服务器地址
- 直接连接相应服务器块获取数据
Map Reduce变换数据
Hadoop组成
- Hadoop Common
工具包,为其它hadoop模块提供基础设施 - Hadoop HDFS
分布式文件系统,对海量数据存储 - Map-Reduce
分布式处理策略,计算模型,对海量数据处理 - Ya