大数据
核心技术:存储与处理
特点:数据量大,数据类型繁多,处理速度快,价值密度低(4V)
计算模式:
- 批处理计算
- 流计算
- 图计算
- 查询分析计算
云计算
Iaas(infrastructure as a serive)
Paas
Saas
物联网
万物互联
分布式
如何存储:分布式文件系统
如何处理:分布式计算
分布式系统=分布式硬件+分布式控制+分布式数据
分布式系统目标
- 资源共享
- 协同计算
分布式系统要解决的问题
- 并发性
- 没有全局时钟
- 容错
分布式系统基本准则
- 资源重复性
分布式系统的分类
分布式存储系统
- 结构化存储
- 非结构化存储
- 半结构化存储
- In-Memory存储
分布式计算系统
分布式管理系统
分布式系统的典型应用
web搜索
大型多人在线游戏
金融交易
分布式系统的问题与挑战
1. 问题
2. 挑战
- 异构性
- 开放性
- 安全性
- 可扩展性
- 可用性
- 并发
- 透明性
Hadoop
1. 简介
是Apache软件基金会旗下的
核心是分布式文件系统HDFS和MapReduce
特性
一个能够对大量数据进行分布式系统处理的软件框架
- 高可靠性
- 高效性
- 高可扩展性
- 高容错性
- 成本低
- 运行在Linux平台上
- 支持多种编程语言
hadoop 的四大组件:
HDFS:分布式存储系统
MapReduce:分布式计算系统
YARN: hadoop 的资源调度系统
Common: 以上三大组件的底层支撑组件,主要提供基础工具包和 RPC 框架等
分布式存储(HDFS)
元数据:描述数据的数据
写数据(forward)
- 块大小(block size)
- 冗余度(replication factor)
读数据
容错过程
node故障
网络故障
脏故障
系统故障之后数据恢复和容错处理
4. 多份复制并且分布到物理位置的不同服务器
5. 数据校验功能
6. 心跳包
故障类型
- 读写容错
- 数据节点失效
- 数据存放策略
HDFS数据读写过程
package结构与定义
web搜索的简单模型:crawler和indexer
web检索方式
- 分布式(分而治之)
map:从web page到local index的部分当作是map阶段
reduce:从local index 汇聚到global index阶段
MapReduce的核心就是把复杂的分布式
MapReduce是一个软件框架,基于该框架能够容易地编写应用程序,这些应用程序能够运行在由上千个商品机器组成的大集群上,并以一种可靠的,具有容错能力的方式并行地处理上TB级别的海量数据集。
加快查找
- 正排索引
- 倒排索引
计算密集
I/O密集
数据密集