图解大数据 | 分布式平台Hadoop与Map-Reduce详解

简介: Hadoop是最基础和场景的开源分布式计算平台,ShowMeAI在本节内容中给大家讲解Hadoop相关知识。

ShowMeAI研究中心

作者:韩信子@ShowMeAI
教程地址http://www.showmeai.tech/tutorials/84
本文地址http://www.showmeai.tech/article-detail/168
声明:版权所有,转载请联系平台与作者并注明出处

收藏ShowMeAI查看更多精彩内容


1.Hadoop快速入门

1)Hadoop简介

Hadoop是Apache软件基金会旗下的一个开源分布式计算平台,为用户提供了系统底层细节透明的分布式基础架构。

  • Hadoop是基于Java语言开发的,具有很好的跨平台特性,并且可以部署在廉价的计算机集群中;
  • Hadoop的核心是分布式文件系统HDFS(Hadoop Distributed File System)和MapReduce;
  • Hadoop被公认为行业大数据标准开源软件,在分布式环境下提供了海量数据的处理能力;
  • 几乎所有主流厂商都围绕Hadoop提供开发工具、开源软件、商业化工具和技术服务,如谷歌、微软、字节跳动、美团点评、淘宝等,都支持Hadoop。

关于Hadoop的搭建与应用案例欢迎大家关注ShowMeAI下列文章:

2)Hadoop发展简史

Hadoop现在已经广泛地应用在大数据任务中,而它最初其实只是由Apache Lucene项目的创始人Doug Cutting开发的文本搜索库。下面是它的发展历程。

分布式平台; Hadoop与Map-reduce详解; Hadoop快速入门; Hadoop发展简史; 2-1

  • Hadoop源自始于2002年的Apache Nutch项目——一个开源的网络搜索引擎,也是Lucene的一部分。
  • 2004年,Nutch项目也模仿GFS开发了自己的分布式文件系统NDFS(Nutch Distributed File System),也就是HDFS的前身。
  • 2004年,谷歌公司又发表了另一篇具有深远影响的论文,阐述了MapReduce分布式编程思想。
  • 2005年,Nutch开源实现了谷歌的MapReduce。
  • 2006年2月,Nutch中的NDFS和MapReduce开始独立出来,成为Lucene项目的一个子项目,称为Hadoop,同时,Doug Cutting加盟雅虎。
  • 2008年1月,Hadoop正式成为Apache顶级项目,Hadoop也逐渐开始被雅虎之外的其他公司使用。
  • 2008年4月,Hadoop打破世界纪录,成为最快排序1TB数据的系统,它采用一个由910个节点构成的集群进行运算,排序时间只用了209秒。
  • 2009年5月,Hadoop更是把1TB数据排序时间缩短到62秒。
  • Hadoop从此名声大震,迅速发展成为大数据时代最具影响力的开源分布式开发平台,并成为事实上的大数据处理标准。

2.Hadoop特性与应用现状

1)Hadoop特性

Hadoop是一个能够对大量数据进行分布式处理的软件框架,并且是以一种可靠、高效、可伸缩的方式进行处理的。它具有以下几个方面的特性:

分布式平台; Hadoop与Map-reduce详解; Hadoop特性&应用; Hadoop特性; 2-2

2)Hadoop应用现状

Hadoop凭借其突出的优势,已经在各个领域得到了广泛的应用,而互联网领域是其应用的主阵地。

分布式平台; Hadoop与Map-reduce详解; Hadoop特性&应用; Hadoop应用现状; 2-3

  • 雅虎2007年在Sunnyvale总部建立了M45——一个包含了4000个处理器和1.5PB容量的Hadoop集群系统。
  • Facebook作为全球知名的社交网站,Hadoop是非常理想的选择,Facebook主要将Hadoop平台用于日志处理、推荐系统和数据仓库等方面。
  • 国内主流的互联网及信息公司,包括百度、淘宝、网易、字节、美团点评、华为、中国移动等都采用了Hadoop。

分布式平台; Hadoop与Map-reduce详解; Hadoop特性&应用; Hadoop应用现状; 2-4

3)Hadoop版本演进

Apache Hadoop版本分为两代:第一代Hadoop称为Hadoop 1.0,第二代Hadoop称为Hadoop 2.0。

分布式平台; Hadoop与Map-reduce详解; Hadoop特性&应用; Hadoop版本演进; 2-5

第一代Hadoop包含三个大版本,分别是0.20.x、0.21.x、0.22.x

  • 0.20.x最后演化成1.0.x,变成了稳定版。
  • 0.21.x和0.22.x则增加了NameNode HA等新的重大特性。


第二代Hadoop包含两个大版本,分别是0.23.x、2.x

  • 它们完全不同于Hadoop 1.0,是一套全新的架构,均包含HDFS Federation和YARN两个系统。
  • 相比于0.23.x,2.x增加了NameNode HA和Wire-compatibility两个重大特性。

3.Hadoop生态项目架构

分布式平台; Hadoop与Map-reduce详解; Hadoop生态项目架构; 组件与功能; 2-6

如上图罗列了Hadoop生态的项目架构,包含以下组件,层级结构与核心功能见图。

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

4.HDFS介绍

1)分布式文件系统

分布式文件系统,把文件分布存储到多个计算机节点上,成千上万的计算机节点构成计算机集群。与之前使用多个处理器和专用高级硬件的并行化处理装置不同的是,目前的分布式文件系统所采用的计算机集群,都是由普通硬件构成的,这就大大降低了硬件上的开销。

分布式平台; Hadoop与Map-reduce详解; HDFS介绍; 分布式文件系统; 2-7

2)HDFS的优点与局限

分布式平台; Hadoop与Map-reduce详解; HDFS介绍; HDFS的优点与局限; 2-8

总体而言,HDFS要实现以下目标:

  • 兼容廉价的硬件设备
  • 流数据读写
  • 大数据集
  • 简单的文件模型
  • 强大的跨平台兼容性


HDFS特殊的设计,在实现上述优良特性的同时,也使得自身具有一些应用局限性,主要包括以下几个方面:

  • 不适合低延迟数据访问
  • 无法高效存储大量小文件
  • 不支持多用户写入及任意修改文件

3)HDFS块及其优势

块(Block):HDFS默认一个块64MB,一个文件被分成多个块,以块作为存储单位。块的大小远远大于普通文件系统,可以最小化寻址开销。

分布式平台; Hadoop与Map-reduce详解; HDFS介绍; HDFS块及其优势; 2-9

HDFS采用抽象的块概念可以带来以下几个明显的好处:

分布式平台; Hadoop与Map-reduce详解; HDFS介绍; HDFS块的优势; 2-10

  • 支持大规模文件存储:文件以块为单位进行存储,一个大规模文件可以被分拆成若干个文件块,不同的文件块可以被分发到不同的节点上,因此,一个文件的大小不会受到单个节点的存储容量的限制,可以远远大于网络中任意节点的存储容量。
  • 简化系统设计:首先,大大简化了存储管理,因为文件块大小是固定的,这样就可以很容易计算出一个节点可以存储多少文件块;其次,方便了元数据的管理,元数据不需要和文件块一起存储,可以由其他系统负责管理元数据。
  • 适合数据备份:每个文件块都可以冗余存储到多个节点上,大大提高了系统的容错性和可用性。

4)HDFS主要组件的功能

分布式平台; Hadoop与Map-reduce详解; HDFS介绍; HDFS主要组件功能; 2-11

HDFS包含Name Node和Data Node,具体的功能和特点对比如上图所示。

Name Node Data Node
存储元数据 存储文件内容
元数据保存在内存中 文件内容保存在磁盘
保存文件、block、datanode之间的映射关系 维护了 block id 到 datanode 本地文件的映射关系

5.Map-Reduce分布式数据处理

HDFS很好地解决了分布式文件存储的问题,而hadoop利用一套Map-Reduce的计算框架,也解决了大数据处理的难题。下面整理了大数据计算所面对的问题,以及一些解决思路(也是map-reduce的核心思想)。

我们后面的内容会以实操的方式,带大家一起看hadoop的组件与Map-Reduce应用的案例,这里大家先做一个简单了解,具体的应用实操接着看ShowMeAI后续内容哦~

集群计算面对的问题&方案

分布式平台; Hadoop与Map-reduce详解; Map-Reduce分布式数据处理; Map-Reduce集群计算面对的问题及方案; 2-12

问题1:节点故障。如何保持数据的持续性,即在某些节点故障的情形下不影响依旧能够使用数据?在运行时间较长的集群运算中,如何应对节点故障呢?

解决方法:在多节点上冗余地存储数据。分布式文件存储系统提供全局的文件命名空间,冗余度和可获取性。例如:Google的GFS、Hadoop的HDFS。

分布式平台; Hadoop与Map-reduce详解; Map-Reduce分布式数据处理; Map-Reduce集群运算时问题的解决方案; 2-13


问题2:网络带宽瓶颈

解决方法:数据以“块状”形式在多台机器上存储。每个数据块都会重复地在多台机器上存储,保证数据的持续性和随时可取性。

分布式平台; Hadoop与Map-reduce详解; Map-Reduce分布式数据处理; Map-Reduce集群运算时问题的解决方案; 2-14


问题3:分布式编程非常复杂。需要一个简单的模型能够隐去所有的复杂性。

解决方法:简单的程序模型隐藏所有的复杂度。

分布式平台; Hadoop与Map-reduce详解; Map-Reduce分布式数据处理; Map-Reduce集群运算时问题的解决方案; 2-15

参考资料

【大数据技术与处理】推荐阅读

ShowMeAI 系列教程推荐

ShowMeAI用知识加速每一次技术成长

相关实践学习
基于MaxCompute的热门话题分析
Apsara Clouder大数据专项技能认证配套课程:基于MaxCompute的热门话题分析
目录
相关文章
|
11月前
|
数据可视化 关系型数据库 MySQL
基于python大数据的的海洋气象数据可视化平台
针对海洋气象数据量大、维度多的挑战,设计基于ECharts的可视化平台,结合Python、Django与MySQL,实现数据高效展示与交互分析,提升科研与决策效率。
|
数据采集 人工智能 大数据
10倍处理效率提升!阿里云大数据AI平台发布智能驾驶数据预处理解决方案
阿里云大数据AI平台推出智能驾驶数据预处理解决方案,助力车企构建高效稳定的数据处理流程。相比自建方案,数据包处理效率提升10倍以上,推理任务提速超1倍,产能翻番,显著提高自动驾驶模型产出效率。该方案已服务80%以上中国车企,支持多模态数据处理与百万级任务调度,全面赋能智驾技术落地。
1657 0
|
11月前
|
传感器 人工智能 监控
拔俗多模态跨尺度大数据AI分析平台:让复杂数据“开口说话”的智能引擎
在数字化时代,多模态跨尺度大数据AI分析平台应运而生,打破数据孤岛,融合图像、文本、视频等多源信息,贯通微观与宏观尺度,实现智能诊断、预测与决策,广泛应用于医疗、制造、金融等领域,推动AI从“看懂”到“会思考”的跃迁。
810 0
|
存储 分布式计算 Hadoop
从“笨重大象”到“敏捷火花”:Hadoop与Spark的大数据技术进化之路
从“笨重大象”到“敏捷火花”:Hadoop与Spark的大数据技术进化之路
846 79
|
分布式计算 算法 大数据
大数据时代的智能研发平台需求与阿里云DIDE的定位
阿里云DIDE是一站式智能大数据开发与治理平台,致力于解决传统大数据开发中的效率低、协同难等问题。通过全面整合资源、高度抽象化设计及流程自动化,DIDE显著提升数据处理效率,降低使用门槛,适用于多行业、多场景的数据开发需求,助力企业实现数字化转型与智能化升级。
688 1
|
存储 SQL 大数据
【重磅发布】AllData数据中台核心功能:湖仓一体化平台
杭州奥零数据科技有限公司成立于2023年,专注于数据中台业务,维护开源项目AllData并提供商业版解决方案。AllData提供数据集成、存储、开发、治理及BI展示等一站式服务,支持AI大模型应用,助力企业高效利用数据价值。
【重磅发布】AllData数据中台核心功能:湖仓一体化平台
|
SQL 存储 HIVE
鹰角基于 Flink + Paimon + Trino 构建湖仓一体化平台实践项目
本文整理自鹰角网络大数据开发工程师朱正军在Flink Forward Asia 2024上的分享,主要涵盖四个方面:鹰角数据平台架构、数据湖选型、湖仓一体建设及未来展望。文章详细介绍了鹰角如何构建基于Paimon的数据湖,解决了Hudi入湖的痛点,并通过Trino引擎和Ranger权限管理实现高效的数据查询与管控。此外,还探讨了湖仓一体平台的落地效果及未来技术发展方向,包括Trino与Paimon的集成增强、StarRocks的应用以及Paimon全面替换Hive的计划。
2141 1
鹰角基于 Flink + Paimon + Trino 构建湖仓一体化平台实践项目
|
数据采集 人工智能 分布式计算
MaxFrame:链接大数据与AI的高效分布式计算框架深度评测与实践!
阿里云推出的MaxFrame是链接大数据与AI的分布式Python计算框架,提供类似Pandas的操作接口和分布式处理能力。本文从部署、功能验证到实际场景全面评测MaxFrame,涵盖分布式Pandas操作、大语言模型数据预处理及企业级应用。结果显示,MaxFrame在处理大规模数据时性能显著提升,代码兼容性强,适合从数据清洗到训练数据生成的全链路场景...
1072 5
MaxFrame:链接大数据与AI的高效分布式计算框架深度评测与实践!
|
SQL 存储 HIVE
鹰角基于 Flink + Paimon + Trino 构建湖仓一体化平台实践项目
鹰角基于 Flink + Paimon + Trino 构建湖仓一体化平台实践项目
1130 2
|
人工智能 分布式计算 大数据
MaxFrame 产品评测:大数据与AI融合的Python分布式计算框架
MaxFrame是阿里云MaxCompute推出的自研Python分布式计算框架,支持大规模数据处理与AI应用。它提供类似Pandas的API,简化开发流程,并兼容多种机器学习库,加速模型训练前的数据准备。MaxFrame融合大数据和AI,提升效率、促进协作、增强创新能力。尽管初次配置稍显复杂,但其强大的功能集、性能优化及开放性使其成为现代企业与研究机构的理想选择。未来有望进一步简化使用门槛并加强社区建设。
792 8

热门文章

最新文章