Hadoop由来以及包含组件

Hadoop 简介

Hadoop 的由来

数据容量

大数据时代已经到来,每天都产生大量的数据,大数据数据层次特征最为经典的是大数据的 4V 特征。

  1. Volume (数据量巨大)
  2. Variety (数据类型繁多)
  3. Velocity (信息处理速度快)
  4. Value (价值密度低)

以前数据的存储往往是传统的数据库存储,现在是行不通的,而 Hadoop 是一个分布式系统基础框架,用来解决数据的存储计算,他是由 Doug Cutting(Apache Lucene 创始人)基于 Google 的三辆马车(论文)实现的。

Google公司三篇论文的思想:

  • GFS 的思想:描述了一个分布式文件系统的设计思路。(HDFS 是这篇论文思想的实现)
  • MapReduce 的思想:分而治之。(Hadoop 的 MapReduce 与 MapReduce 论文中的实现思路一样)
  • BigTable 的思想:一个分布式的结构化数据存储系统的设计思路。(HBase 是这篇论文思想的实现。)

Hadoop 生态系统和组件介绍

Hadoop 生态组件主要包括:Mapreduce、Hdfs、Yarn、HBase、Hive、Pig、Zookeeper、Mahout。

Hadoop 生态系统组件

Hadoop 特点

优点

  1. 高可靠性: Hadoop 底层对同一个数据维护这多个复本,即使 Hadoop 某个计算元素或者存储出现问题,也不会导致数据的丢失。
  2. 高扩展性: 能在廉价机器组成的集群间分配任务数据,可方便的扩展数以干计的节点。
  3. 高效性: 在 Mapreduce的思想下,Hadoop 是并行工作的,以加快任务处理速度。
  4. 高容错性: 能够自动将失败的任务重新分配。

缺点

  1. 不适用于低延迟数据访问。
  2. 不能高效存储大量小文件。
  3. 不支持多用户写入并任意修改文件。

Hadoop 三种模式

Hadoop安装模式有三种:单机模式(Standalone Mode)、伪分布式模式(Pseudo-Distributed Mode)、完全分布式模式(Fully-Distributed Mode)

单机模式: 单机模式是指 Hadoop 运行在一台主机上,按默认配置以非分布式模式运行一个 java 进程。

特点:
(1) 没有分布式文件系统,直接在本地操作系统的文件系统进行读 / 写 。
(2) 不需要加载任何 Hadoop 守护进程。
(3) 一般用户本地 Mapreduce 调试。
(4) Hadoop 的默认模式。

伪分布式模式: 伪分布式模式是指 Hadoop 运行在一台主机上,使用多个 java 进程,模仿完全分布式模式的节点。

特点:
(1) 有完全分布式模式的全部功能 。
(2) 常用于调试程序。
(3) 只有一个节点。

完全分布式模式: 完全分布式模式也称做 集群模式。

特点:
(1) 将 Hadoop 运行在多台主机中,各主机按照相关配置运行相应的 Hadoop 守护进程。
(2) 真正的分布式环境。
(3) 可用于实际生产环境。

Hadoop 架构设计

Hadoop 的 2.x 跟 1.x 版本相比,2.x 主要是将1.x Mapreduce 中资源调度的任务解耦出来交给 Yarn 来管理了。

  • 在1.x中:由一个 JobTracker 和若干个 TaskTracker 两类服务组成,其中 JobTracker 负责资源管理和所有作业的控制,TaskTracker 负责接收来自 JobTracker 的命令并执行它,所以 Mapreduce 即是任务调度框架又是计算框架。1.0中会出现JobTracker 大包大揽任务过重,而且存在单点故障问题,并且容易出现 OOM(内存耗尽)问题,资源分配不合理等问题。

  • 在2.x中:Master 端由 ResourceManager 进行资源管理调度,有 ApplicationMaster 进行任务管理和任务监控。Slave 端由 NodeManager 替代 TaskTracker 进行具体任务的执行,所以 Mapreduce2.x 只是一个计算框架,具体资源调度全部交给 Yarn 框架。

1.x 和 2.x 的区别


其他系列文章:

详解HDFS

详解MapReduce

详解Zookeeper

YARN调度MapReduce任务

おすすめ

転載: blog.csdn.net/lhrfighting/article/details/117991142