大数据基础:Hadoop2.x生态系统(一)

来源:互联网 发布:潜龙谍影1java 编辑:程序博客网 时间:2024/05/24 05:45

一、基础概念 & 适用场景

1、分布式文件系统(HDFS)

HDFS是Hadoop分布式文件系统,HDFS有如下技术特点和应用场景:

  1. 适合处理超大文件,数量级达到GB、TB甚至PB级
  2. 支持集群规模的动态扩展
  3. 适用于流式数据读写的场景,即“一次写入,多次读取”
  4. 具有高容错性,数据块可以保存多个副本,实现负载均衡
  5. 对硬件要求低,能够运行在廉价的商用机器集群

不适用于如下场景:

  1. 不适合需要高效存储大、量小的场景
  2. 不适合低延迟的数据访问场景
  3. 不适合多用户同时写和任意修改该文件场景

2、分布式计算框架(MapReduce)

MapReduce是一个分布式并行编程模型,将计算任务分布在成百上千个节点组成的集群进行并行计算,并返回计算结果。

MapReduce计算模型有如下优点和使用场景:

  1. 具有高度可扩展性,可动态增加/削减计算节点
  2. 具有高容错能力,支持任务自动迁移、重试和预测执行,不受单点故障影响
  3. 能实现灵活的资源分配和调度,达到资源利用的最大化
  4. 可部署在几千台机器的超大规模集群尚,使MapReduce可以处理具有超大规模数据的业务场景
  5. MapReduce模型使用方便,易于编程,简化了分布式程序设计,提高了开发效率且支持多开发语言
不适合使用MapReduce计算模型的场景:
  1. MapReduce计算的时延较高,对实时性要求较高的场景不合适使用
  2. MapReduce适合顺序批量处理数据,处理随机访问的能力不足,因此需要处理随机数据的场景也不适用MapReduce

3、分布式集群管理系统(Zookeeper)

Zookeeper是一个针对大型分布式系统的可靠协调系统。在大数据系统中,Zookeeper为Hadoop生态系统中各组件提供功能支撑。
Zookeeper主要有如下常见应用场景:

  1. 为分布式应用系统提供同一的配置管理信息
  2. 为分布式应用系统提供同一的命名服务
  3. 提供基于简单原语的分布式同步操作
  4. 集群管理

4、数据仓库工具(Hive)

Hive是基于Hadoop平台的数据仓库工具。适用于如下场景:
  1. 海量数据的离线分析
  2. 结构化数据的处理

5、分布式数据库(HBase)

HBase是基于HDFSd的面向列的分布式数据库系统,HBase具有高可靠性、高性能、列存储、可伸缩、实时读写的特点。
HBase适用于如下场景:
  1. 存储和查询半结构化和非结构化的数据
  2. 存储和查询记录稀疏的数据
  3. 存储和查询超大数据量的数据
  4. 业务场景简单,不需要全部关系数据库特性的场景
0 0
原创粉丝点击