<>Hadoop

Hadoop是一个由Apache基金会所开发的分布式系统基础架构
。用户可以在不了解分布式底层细姐的情况下,开发分布式程序。充分利用集群的威力进行高速运算和存储。
它的目的是从单一的服务器扩展到成千上万的机器,将集群部署在多台机器,每个机器提供本地计算和存储。Hadoop框架最核心的设计是HDFS和MapReduce。

<>为什么要使用Hadoop

数据存量和增量极大,极大数据需要存储和分析。
原因:

* Hadoop可以存储并处理大量数据
* Hadoop编程简单易学
<>Hadoop的特点

1、Hadoop是一个能够对海量量数据进行分布式处理的框架。
2、Hadoop 是可靠的,因为它假设元素的计算和存储会失败,因此它维护多个工作数据副本,确保能够针对失败的节点重新分布处理。
3、Hadoop 是高效的,因为它以并行的方式工作,通过并行处理加快处理速度。
4、Hadoop 还是可伸缩的,Hadoop是在可用的计算机集簇间分配数据并完成计算任务的,所以集群可以很容易进行节点的扩展,扩大集群。能够处理 PB
级数据。
5、此外,Hadoop 依赖于社区服务,因此它的成本比较低,任何人都可以使用。

<>Hadoop的核心组件

Hadoop Common是一个公共基础设施,用于支撑其他项目,包括RPC、序列化包等。

可扩展、容错、高性能的分布式文件系统,异步复制,一次写入多次读取。

分布式计算框架,主要包含map(映射)和reduce(规约)过程。

<>Hadoop分布式文件系统–HDFS(Hadoop Distributed File System)

<>什么是HDFS分布式文件系统

HDFS并不是一个单机文件系统,它是分布在多个集群节点上的文件系统。节点之间通过网络通信进行协作,提供个个节点文件信息,让每个用户都可以看到文件系统的文件,让多机器上的多用户分享文件和存储空间。

<>HDFS存储过程

文件存储时被分布在多个节点上。这里涉及到一个数据块的概念,数据存储不是按一个文件存储,而是把一个文件分成一个或多个数据块存储,数据块的概念在上一节已经描述过。数据块在存储时并不是都存在一个节点上,而是被分布存储在各个节点中,并且数据块会在其他节点存储副本。

<>HDFS读取过程

数据读取从多个节点读取。读取一个文件时,从多个节点中找到该文件的数据块,分布读取所有数据块直到最后一个数据块读取完毕。

高度容错性的系统:上传的数据自动保存多个副本,适合部署在廉价的机器上。
适合大数据的处理
流式文件写入:一次写入,多次读取。文件一旦写入,不能修改,只能增加。这样可以保证数据的一致性。

NameNode,用于存储元数据以及处理客户端发出的请求;
SN(Secondary NameNode),一个Checkpoint来帮助NameNode更好的工作;
DataNode,它为 HDFS 提供存储位置。

对外部客户机而言,HDFS就像一个传统的分级文件系统。可以创建、删除、移动或重命名文件,等等。

过程
文件上传:NameNode、SecondaryNameNode、DataNode

<>HDFS宕机处理

* 冗余备份
* 副本存放
* 备份读取
* 备份数补充
NameNode

SecondaryNameNode

<>Hadoop并行计算框架——MapReduce

MapReduce是Google提出的一个软件架构,用于大规模数据集(大于1TB)的并行运算。概念“Map(映射)”和“Reduce(归纳)”。

当前的软件实现是指定一个Map(映射)函数,用来把一组键值对映射成一组新的键值对,指定并发的Reduce(归纳)函数,用来把键值对中键相同的值整合
,同时应用函数映射成新的键值对。

<>Hadoop MapReduce原理

<>Hadoop MapReduce本质

<>Hadoop生态圈

<>Hadoop生态系统–HBase

HBase具体内容见我另一篇博客:HBase

<>Hadoop生态系统—数据访问Hive

Hive是建立在 Hadoop 上的数据仓库基础构架。它提供了一系列的工具,可以用来进行数据提取转化加载(ETL),这是一种可以存储、查询和分析存储在
Hadoop 中的大规模数据的机制。

<>Hadoop应用场景

目前全球范围内80%的在线旅游网站都是在使用Cloudera公司提供的Hadoop发行版,其中SearchBI网站曾经报道过的Expedia也在其中。

国内的电商在Hadoop技术上也是储备颇为雄厚的。阿里巴巴的Hadoop集群拥有150个用户组、4500个集群用户,为淘宝、天猫、一淘、聚划算、CBU、支付宝提供底层的基础计算和存储服务。

搜索引擎无疑会产生大规模的数据,在对海量数据挖掘上使用Hadoop确实能提高效率。在国外,Yahoo的Hadoop应用中就包括搜索引擎。在国内,百度和阿里巴巴也将Hadoop应用到搜索引擎、推荐、数据分析等多个领域。

技术
下载桌面版
GitHub
百度网盘(提取码:draw)
Gitee
云服务器优惠
阿里云优惠券
腾讯云优惠券
华为云优惠券
站点信息
问题反馈
邮箱:[email protected]
QQ群:766591547
关注微信