Hadoop:分布式系统基础架构

Hadoop

在这里插入图片描述

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

为什么要使用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应用到搜索引擎、推荐、数据分析等多个领域。

  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值