大数据

核心技术:存储与处理

特点:数据量大,数据类型繁多,处理速度快,价值密度低(4V)

计算模式:

  • 批处理计算
  • 流计算
  • 图计算
  • 查询分析计算

云计算

Iaas(infrastructure as a serive)
Paas
Saas

物联网

万物互联

分布式

如何存储:分布式文件系统
如何处理:分布式计算

分布式系统=分布式硬件+分布式控制+分布式数据

分布式系统目标

  • 资源共享
  • 协同计算

分布式系统要解决的问题

  • 并发性
  • 没有全局时钟
  • 容错

分布式系统基本准则

  • 资源重复性

分布式系统的分类

分布式存储系统

  1. 结构化存储
  2. 非结构化存储
  3. 半结构化存储
  4. In-Memory存储

分布式计算系统

分布式管理系统

分布式系统的典型应用

web搜索
大型多人在线游戏
金融交易

分布式系统的问题与挑战

1. 问题

2. 挑战

  • 异构性
  • 开放性
  • 安全性
  • 可扩展性
  • 可用性
  • 并发
  • 透明性

Hadoop

1. 简介

是Apache软件基金会旗下的

核心是分布式文件系统HDFS和MapReduce

特性
一个能够对大量数据进行分布式系统处理的软件框架

  • 高可靠性
  • 高效性
  • 高可扩展性
  • 高容错性
  • 成本低
  • 运行在Linux平台上
  • 支持多种编程语言

    hadoop 的四大组件:
    HDFS:分布式存储系统
    MapReduce:分布式计算系统
    YARN: hadoop 的资源调度系统
    Common: 以上三大组件的底层支撑组件,主要提供基础工具包和 RPC 框架等

分布式存储(HDFS)

大数据存储与转发_HDFS


元数据:描述数据的数据

写数据(forward)

  • 块大小(block size)
  • 冗余度(replication factor)

读数据

容错过程

  1. node故障

    datanode
    namenode
  2. 网络故障

  3. 脏故障

系统故障之后数据恢复和容错处理
4. 多份复制并且分布到物理位置的不同服务器
5. 数据校验功能
6. 心跳包

故障类型

  • 读写容错
  • 数据节点失效
  • 数据存放策略

HDFS数据读写过程


大数据存储与转发_数据_02


大数据存储与转发_HDFS_03


package结构与定义

分布式计算(Map Reduce)

web搜索的简单模型:crawler和indexer

web检索方式

  • 分布式(分而治之)

map:从web page到local index的部分当作是map阶段

reduce:从local index 汇聚到global index阶段

大数据存储与转发_数据_04


MapReduce的核心就是把复杂的分布式

MapReduce是一个软件框架,基于该框架能够容易地编写应用程序,这些应用程序能够运行在由上千个商品机器组成的大集群上,并以一种可靠的,具有容错能力的方式并行地处理上TB级别的海量数据集。

加快查找

  1. 正排索引
  2. 倒排索引

计算密集
I/O密集
数据密集

大数据存储与转发_分布式系统_05


大数据存储与转发_HDFS_06


大数据存储与转发_数据_07


大数据存储与转发_数据_08