栏目头部广告

Hadoop入门介绍

一、Hadoop

我们生活在一个数据大爆炸的时代,数据飞快的增长,急需解决海量数据的存储和计算问题。Hadoop是一个适合海量数据的分布式存储分布式计算平台。HadoopApache Lucene创始人道格卡丁(Doug Cutting)创建的,Lucene是一个应用广泛的文本搜索系统库。Hadoop起源于开源网络搜索引擎Apache Nutch,后者本身也是Lucene项目的一部分。Hadoop这个词是生造出来的。这个名字是Doug Cutting的孩子给他的毛绒象玩具取的。Hadoop生态系统中的很多项目都是以动物的主题命名的。HadoopApache软件基金会旗下的一个开源分布式计算平台,为用户提供了系统底层细节透明的分布式基础架构Hadoop是基于Java语言开发的,具有很好的跨平台特性,并且可以部署在廉价的计算机集群中。Hadoop的核心是分布式文件系统HDFSHadoop Distributed File SystemMapReduceHadoop被公认为行业大数据标准开源软件,在分布式环境下提供了海量数据的处理能力

1.1 Hadoop生态圈介绍

Hadoop入门介绍(图1)

1.2 Hadoop1 vs Hadoop

Hadoop入门介绍(图2)

二、Hadoop三大组件介绍

Hadoop是一个统称,目前Hadoop主要包含三大组件:

(1) HDFS:是一个分布式存储框架,适合海量数据存储

(2) MapReduce:是一个分布式计算框架,适合海量数据计算

(3) YARN:是一个资源调度平台,负责给计算框架分配计算资源

2.1 HDFS架构分析

负责数据的分布式存储。

(1)  主从结构:主节点,最多可以有2个:namenode;从节点,有多个:datanode。

(2)  NameNode负责:接收用户操作请求,是用户操作的入口;维护文件系统的目录结构,称作命名空间。

(3)  DataNode负责:存储数据

2.2 YARM架构分析

资源的调度和管理平台

(1) 主从结构

ž   主节点,最多可以有2个:ResourceManager

ž   从节点,有很多个: NodeManager

(2) ResourceManager负责

ž   集群资源的分配与调度

ž   MapReduce、Storm、Spark、Flink等应用,必须实现ApplicationMaster接口,才能被RM管理

(3) NodeManager负责:单节点资源的管理

2.3 MapReduce解析

mapreduce是一个编程模型,它是分布式运行的,由两个阶段组成:Map和Reduce

ž   Map阶段是一个独立的程序,有很多个节点同时运行,每个节点处理一部分数据。

ž   Reduce阶段也是一个独立的程序,在这先把reduce理解为一个单独的聚合程序即可。

三、Hadoop特点

3.1 特点

(1) 扩容能力(Scalable):能可靠(reliably)地存储和处理PB级别的数据。如果数据量更大,存储不下了,再增加节点就可以了。

(2) 成本低(Economical):可以通过普通机器组成的服务器集群来分发以及处理数据.这些服务器集群可达数千个节点。

(3) 高效率(Efficient):通过分发计算程序,hadoop可以在数据所在节点上(本地)并行地(parallel)处理他们,这使得处理非常的迅速

(4) 可靠性(Reliable):hadoop能够自动地维护数据的多份副本,并且在任务失败后能够自动地重新部署(redeploy)计算任务.

3.2 大数据4V特性

规模性(Volume大数据的特征首先就体现为“数量大”,存储单位从过去的GB到TB,直至PB、EB。随着信息技术的高速发展,数据开始爆发性增长。

多样性(Varity广泛的数据来源,决定了大数据形式的多样性。大数据大体可分为三类:一是结构化数据(存储在关系型数据库中的数据)、二是非结构化的数据(视频、图片、音频)、三是半结构化数据(HTML文档、邮件、网页)。

高速性(Velocity与以往的档案、广播、报纸等传统数据载体不同,大数据的交换和传播是通过互联网、云计算等方式实现的,远比传统媒介的信息交换和传播速度快捷。

价值性(Value这也是大数据的核心特征。现实世界所产生的数据中,有价值的数据所占比例很小。相比于传统的小数据,大数据最大的价值在于通过从大量不相关的各种类型的数据中,挖掘出对未来趋势与模式预测分析有价值的数据,并通过机器学习方法、人工智能方法或数据挖掘方法深度分析,发现新规律和新知识,并运用于农业、金融、医疗等各个领域,从而最终达到改善社会治理、提高生产效率、推进科学研究的效果。

3.3 Hadoop数据管理

Hadoop的数据管理,主要包括hadoop的分布式文件系统HDFS、分布式数据库HBase和数据仓库工具Hive的数据管理

四、Hadoop常见业务流与应用架构

4.1 Hadoop项目架构

Hadoop入门介绍(图3)

Hadoop的项目结构不断丰富发展,已经形成一个丰富的Hadoop生态系统

Hadoop入门介绍(图4)

一个基本的Hadoop集群中的节点主要有:

(1)NameNode:负责协调集群中的数据存储

(2)DataNode:存储被拆分的数据块

(3)JobTracker:协调数据计算任务

(4)TaskTracker:负责执行由JobTracker指派的任务

(5)SecondaryNameNode:帮助NameNode收集文件系统运行的状态信息

常见组件和功能介绍:

组件

功能

HDFS分布式文件系统
MapReduce分布式并行编程模型
YARN资源管理和调度器
Tez运行在YARN之上的下一代Hadoop查询处理框架
HiveHadoop上的数据仓库
HBaseHadoop上的非关系型的分布式数据库
Pig一个基于Hadoop的大规模数据分析平台,提供类似SQL的查询语言Pig Latin
Sqoop用于在Hadoop与传统数据库之间进行数据传递
Oozie
Hadoop上的工作流管理系统
Zookeeper提供分布式协调一致性服务
Storm流计算框架
Flume一个高可用的,高可靠的,分布式的海量日志采集、聚合和传输的系统
Ambari
Hadoop快速部署工具,支持Apache Hadoop集群的供应、管理和监控
Kafka一种高吞吐量的分布式发布订阅消息系统,可以处理消费者规模的网站中的所有动作流数据
Spark类似于Hadoop MapReduce的通用并行框架

4.2 Hadoop业务处理流

Hadoop入门介绍(图5)


单机单线程瓶颈:

(1)    没有充分的利用CPU资源

(2)    速度慢

(3)    受到IO瓶颈---单机瓶颈

Hadoop入门介绍(图6)

作者:UStarGao
链接:https://www.starcto.com/Cloud-BigData-AI/117.html
来源:STARCTO
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。

UCloud云平台推荐


UCloud新用户专属注册连接

UCloud CDN超值特惠专场

UCloud全球云主机(UHost/VPS)大促页面

UCloud快杰云主机大促页面

文章页广告

随便看看

栏目底部广告
`