Hadoop概述

Posted 对方向你抛出一堆BUG

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Hadoop概述相关的知识,希望对你有一定的参考价值。

文章目录

一、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概述

二、Hadoop的三大发行版本

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


三、Hadoop的优势

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

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

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

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


四、Hadoop的组成

4.1 Hadoop1.x和Hadoop2.x的对比

Hadoop概述

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

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

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

在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架构组成

Hadoop概述


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

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

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

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

4.4 MapReduce架构

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

Map阶段并行处理输入数据

Reduce阶段对Map结果进行汇总

Hadoop概述

五、Hadoop生态体系

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

SqoopSqoop是一款开源的工具,主要用于在HadoopHive与传统的数据库(mysql)间进行数据的传递,可以将一个关系型数据库(例如 :MySQLOracle 等)中的数据导进到HadoopHDFS中,也可以将HDFS的数据导进到关系型数据库中。

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


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

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

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

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

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

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

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

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

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

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

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

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

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

六、推荐系统架构图

七、Hadoop目录结构


root@hadoop100 hadoop-2.7.2]# ll总用量 32drwxr-xr-x. 2 root root 194 522 2017 bindrwxr-xr-x. 3 root root 20 522 2017 etcdrwxr-xr-x. 2 root root 106 522 2017 includedrwxr-xr-x. 3 root root 20 522 2017 libdrwxr-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.txtdrwxr-xr-x. 2 root root 4096 522 2017 sbindrwxr-xr-x. 4 root root    31 5月  22 2017 share
  • bin目录:存放对Hadoop相关服务(HDFSYARN)进行操作的脚本

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

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

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

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


以上是关于Hadoop概述的主要内容,如果未能解决你的问题,请参考以下文章

Reactreact概述组件事件

大数据之Hadoop(MapReduce): MapReduce概述

Hadoop Mapper参数含义

Hadoop 概述

Hadoop概述

2.1 Apache HadoopHDFS - Apache Hadoop概述