暂无图片
暂无图片
暂无图片
暂无图片
暂无图片

Hadoop概述

对方向你抛出一堆BUG 2021-07-06
382

文章目录

一、Hadoop是什么?

二、Hadoop的三大发行版本

三、Hadoop的优势

四、Hadoop的组成

4.1 Hadoop1.x和Hadoop2.x的对比

4.2 HDFS(Hadoop Distributed File System)架构组成

4.3 Yarn架构组成

4.4 MapReduce架构

五、Hadoop生态体系

六、推荐系统架构图

七、Hadoop目录结构

一、Hadoop是什么?

  1. Hadoop
    是一个由Apache
    基金会所开发的分布式系统基础架构

  2. 主要解决,海量数据的存储和海量数据的分析计算问题。

  3. 广义上来说,Hadoop
    通常是指一个更广泛的概念——Haddop
    生态圈。

二、Hadoop的三大发行版本

发行版本名特点
Apache
Apache
版本是最原始(最基础)的版本,对于入门学习最好。
Cloudera
Cloudera
在大型互联网企业中用的较多。
Hortonworks
Hortonworks
文档较好。


三、Hadoop的优势

  • 高可靠性:Hadoop
    底层维护多个数据副本,所以即使Hadoop
    某个计算元素或存储出现故障,也不会导致数据的丢失。

  • 高扩展性:在集群间分配任务数据,可方便的扩展数以千计的节点。

  • 高效性:在MapReduce
    的思想下,Hadoop
    是并行工作的,以加快任务处理速度。

  • 高容错性:能够自动将失败的任务重新分配。


四、Hadoop的组成

4.1 Hadoop1.x和Hadoop2.x的对比

Hadoop HDFS
:一个高可靠、高吞吐量的分布式文件系统。

 Hadoop MapReduce
:一个分布式的资源调度和离线并行计算框架。

 Hadoop Common
:支持其他模块的工具模块(Configuration
RPC
、序列化机制、日志操作)。

在Hadoop1.x时代,Hadoop中MapReduce同时处理业务逻辑运算和资源的调度,耦合性较大,在Hadoop2.x时代,增加了Yarn。Yarn只负责资源的调度,MapReduce只负责运算。

4.2 HDFS(Hadoop Distributed File System)架构组成


NameNode(nn)
:存储文件的元数据,如文件名,文件目录结构,文件属性(生成时间、副本数、文件权限),以及每个文件的块列表和块所在的DataNode
等。

DataNode(dn)
:在本地文件系统存储文件块数据,以及数据的校验和。

Secondary NameNode(2nn)
:用来监控HDFS
状态的辅助后台程序,每隔一段时间获取HDFS
元数据的快照。

4.3 Yarn架构组成


ResourceManager(rm)
:处理客户端请求、启动/监控ApplicationMaster
、监控NodeManager
、资源分配与调度;

NodeManager(nm)
:单个节点上的资源管理、处理来自ResourceManager
的命令、处理来自ApplicationMaster
的命令;

ApplicationMaster
:数据切分、为应用程序申请资源,并分配给内部任务、任务监控与容错。

Container
:对任务运行环境的抽象,封装了CPU
、内存等多维资源以及环境变量、启动命令等任务运行相关的信息。

4.4 MapReduce架构

MapReduce
将计算过程分为两个阶段:Map
Reduce

Map
阶段并行处理输入数据

Reduce
阶段对Map
结果进行汇总

五、Hadoop生态体系

图中涉及的技术名词解释如下:

Sqoop
Sqoop
是一款开源的工具,主要用于在Hadoop
Hive
与传统的数据库(MySql
)间进行数据的传递,可以将一个关系型数据库(例如 :MySQL
Oracle
 等)中的数据导进到Hadoop
HDFS
中,也可以将HDFS
的数据导进到关系型数据库中。

Flume
Flume
Cloudera
提供的一个高可用的,高可靠的,分布式的海量日志采集、聚合和传输的系统,Flume
支持在日志系统中定制各类数据发送方,用于收集数据;同时,Flume
提供对数据进行简单处理,并写到各种数据接受方(可定制)的能力。


Kafka
Kafka
是一种高吞吐量的分布式发布订阅消息系统,有如下特性:

(1)通过O(1)
的磁盘数据结构提供消息的持久化,这种结构对于即使数以TB
的消息存储也能够保持长时间的稳定性能。

(2)高吞吐量:即使是非常普通的硬件Kafka
也可以支持每秒数百万的消息。

(3)支持通过Kafka
服务器和消费机集群来分区消息。

(4)支持Hadoop
并行数据加载。

Storm
Storm
用于“连续计算”,对数据流做连续查询,在计算时就将结果以流的形式输出给用户。

Spark
:Spark是当前最流行的开源大数据内存计算框架。可以基于Hadoop上存储的大数据进行计算。

Oozie
Oozie
是一个管理Hadoop
作业(job
)的工作流程调度管理系统。

Hbase
HBase
是一个分布式的、面向列的开源数据库。HBase
不同于一般的关系数据库,它是一个适合于非结构化数据存储的数据库。

Hive
Hive
是基于Hadoop
的一个数据仓库工具,可以将结构化的数据文件映射为一张数据库表,并提供简单的SQL查询功能,可以将SQL
语句转换为MapReduce
任务进行运行。其优点是学习成本低,可以通过类SQL
语句快速实现简单的MapReduce
统计,不必开发专门的MapReduce
应用,十分适合数据仓库的统计分析。

R
语言:R
是用于统计分析、绘图的语言和操作环境。R
是属于GNU
系统的一个自由、免费、源代码开放的软件,它是一个用于统计计算和统计制图的优秀工具。

Mahout
Apache Mahout
是个可扩展的机器学习和数据挖掘库。

ZooKeeper
Zookeeper
Google
Chubby
一个开源的实现。它是一个针对大型分布式系统的可靠协调系统,提供的功能包括:配置维护、名字服务、 分布式同步、组服务等。ZooKeeper
的目标就是封装好复杂易出错的关键服务,将简单易用的接口和性能高效、功能稳定的系统提供给用户。

六、推荐系统架构图

七、Hadoop目录结构


    root@hadoop100 hadoop-2.7.2]# ll
    总用量 32
    drwxr-xr-x. 2 root root 194 522 2017 bin
    drwxr-xr-x. 3 root root 20 522 2017 etc
    drwxr-xr-x. 2 root root 106 522 2017 include
    drwxr-xr-x. 3 root root 20 522 2017 lib
    drwxr-xr-x. 2 root root 239 522 2017 libexec
    -rw-r--r--. 1 root root 15429 522 2017 LICENSE.txt
    -rw-r--r--. 1 root root 101 522 2017 NOTICE.txt
    -rw-r--r--. 1 root root 1366 522 2017 README.txt
    drwxr-xr-x. 2 root root 4096 522 2017 sbin
    drwxr-xr-x. 4 root root    31 5月  22 2017 share
    • bin目录:存放对Hadoop
      相关服务(HDFS
      YARN
      )进行操作的脚本

    • etc目录:Hadoop
      的配置文件目录,存放Hadoop
      的配置文件

    • lib目录:存放Hadoop
      的本地库(对数据进行压缩解压缩功能)

    • sbin目录:存放启动或停止Hadoop
      相关服务的脚本

    • share目录:存放Hadoop
      的依赖jar
      包、文档、和官方案例


    文章转载自对方向你抛出一堆BUG,如果涉嫌侵权,请发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

    评论