概述
一、大数据概述
1).大数据的4V特征
- Volume 数据量
- Velocity 速度
- Value 基于高度分析的新价值
- Variety 多样性、复杂性
价值密度的高低 与 数据量 成 反比
2).大数据带来的技术变革
- 技术驱动:数据量大
- 存储:文件存储 ==> 分布式存储:分散(文件分割),备份
- 计算:单机 ==> 分布式计算
- 网络:万兆
- DB:RDBMS关系型数据库 ==> NoSQL(HBase/Redis)
- 商业驱动:创造价值
3).大数据现存的模式
- 手握大数据,没有大数据的思维
- 没有大数据,有大数据思维
- 有大数据,有大数据思维【找工作尽可能找这种】
4).大数据的技术概念:
- 单机:CPU Memory Disk
- 分布式并行计算/处理
- 数据采集:Flume Sqoop
- 数据存储: Hadoop
- 数据处理/分析/挖掘: Hadoop/Spark/Flink...
- 可视化: (专业的团队做这个东西,一般是前端的小伙伴)
5).大数据咋技术架构上带来的挑战
- 对现有数据库管理技术的挑战:用传统的关系型数据库无法解决该领域的问题
- 经典数据库技术并没有考虑数据的多类别
- 实时性的技术挑战
- 网络架构/数据中心/运维的挑战
- 其他挑战
- 数据隐私
- 数据源复杂多样
6).如何多大数据进行存储和分析
系统瓶颈 | Google大数据技术解决方案 |
---|---|
存储容量 | MapReduce |
读写速度 | BigTable |
计算效率 | GFS |
二、Hadoop 介绍
1). 定义
- 提供分布式的存储(一个文件被拆分成很多个块,并且以副本的方式存储在各个节点)和计算。
- 是一个分布式的系统基础架构:(用户在不了解分布式底层细节的情况下进行使用。)
- 模块:
- 分布式文件系统:HDFS:实现将分拣分布式存储在很多的服务器上
- 分布式计算框架:MapReduce:实现在很多机器上分布式并行计算
- 分布式资源调度框架:YARN:实现集群资源管理以及作业的调度
2).HDFS 存储框架
源自于Google的GFS论文,论文发表于2003年(HDFS是GFS的克隆版)
-
特点:
- 扩展性
- 容错性(将文件差拆块存储并建立副本)
- 海量数据存储
将文件切分成指定大小的数据块并以多副本的方式存储在机器上。
数据的切分,多副本,容错等操作对用户是透明的(用户感觉在操作单机环境)
3). MapReduce 计算框架
- 源自于Google的MapReduce论文MapReduce是他的克隆
- 特点:
- 扩展性
- 容错性(作业重试)
- 海量数据离线处理
4). ZYARN 资源调度框架
Yet Another Resource Negotiator
- 负责整个资源的管理和调度
- 特点:
- 扩展性
- 容错性
- 多框架资源(ElasticSearch/Flink/Storm/Spark...)统一调度
5). 优势:
- 高可靠性
- 数据存储:数据块多副本
- 数据计算:重新调度作业计算
- 高扩展性
- 存储/计算资源不够时,可以横向的线性扩展机器
- 一个集群汇总可以包含数以千计的节点
- 存储在廉价机器上,降低成本(去IoE)
- 成熟的生态圈
6). Hadoop生态系统
- 狭义的Hadoop:是一个适合大数据分布式存储(HDFS)/分布式计算(MapReduce)和资源调度(YARN)的平台;
- 广义Hadoop:指Hadoop生态系统,Hadoop是其中最重要最基础的一个部分,生态系统中的每一个子系统只解决某一个特定的问题域(甚至可能很窄),不搞统一型的一个全能系统,而是小而精的多个小系统;
- 生态系统特点:
- 开源、社区活跃(解决问题)
- 囊括大数据处理的方方面面
- 成熟的生态圈
【Hadoop发行版选择】
- 【CDH】: http://www.cloudera.com/ 【国内广泛使用60%~70%,推荐】
优点:cm(cloudera manager) 通过页面一键安装各种框架、升级方便、支持impala
缺点:cm不开源(CDH开源)、与社区版本有些许出入 - Hortonwords: HDP :企业发布自己的数据平台可以直接基于页面框架进行改造【推荐】
优点:原装Hadoop/纯开源、至此tez、【适合自己定制】
缺点:企业级安全框架不开源 - Apache:
优点:纯开源,可以进行二次开发
缺点:但是不同版本不同框架之间整合,jar冲突!... - MapR: 了解【国子开头的公司使用】