19. 大数据-技术生态-Hadoop

📅 2026/7/12 14:57:18
19. 大数据-技术生态-Hadoop
文章目录前言一、Hadoop介绍1. 简介2. Hadoop发展史3. Hadoop现状二、Hadoop特性1. Hadoop国外应用2. Hadoop国内应用三、Hadoop架构变迁1. 发行版本2. Hadoop架构变迁(1.0-2.0变迁)3. Hadoop架构变迁(3.0新版本)4. 综述四、技术生态体系五、术语前言Hadoop‌大数据的“地基”提供分布式存储HDFS、计算资源调度YARN、 分布式计算框架(MapReduce) 的基础设施。一、Hadoop介绍Hadoop是大数据生态圈的核心与基石是整个大数据开发的入门。‌1. 简介狭义上Hadoop指的是Apache软件基金会的一款开源软件。用 java语言实现开源允许用户使用简单的编程模型实现跨机器集群对海量数据进行分布式计算处理。Hadoop核心组件HDFS (分布式文件存储系统)解决海量数据存储YARN (集群资源管理和任务调度框架) 解决资源任务调度MapReduce (分布式计算框架)解决海量数据计算官网Apache Hadoop广义上Hadoop指的是围绕Hadoop打造的大数据生态圈。2. Hadoop发展史Hadoop之父 Doug CuttingHadoop起源于Apache Lucene子项目 NutchNutch的设计目标是构建一个大型的全网搜索引擎。遇到瓶颈如何解决数十亿网页的存储和索引问题Google三篇论文《The Google file system》 谷歌分布式文件系统GFS《MapReduce: Simpliied Data Processing on Large Clusters》 谷歌分布式计算框架MapReduce《Bigtable: A Distributed Storage System for Structured Data》 谷歌结构化数据存储系统3. Hadoop现状HDFS作为分布式文件存储系统处在生态圈的底层与核心地位YARN作为分布式通用的集群资源管理系统和任务调度平台 支撑各种计算引擎运行保证了Hadoop地位MapReduce作为大数据生态圈第一代分布式计算引擎由于自身设计的模型所产生的弊端 导致企业一线几乎不再直接使用MapReduce进行编程处理但是很多软件的底层依然在使用MapReduce引擎来处理数据。对应于Google三驾马车HDFS对应于GFS即分布式文件系统MapReduce即并行计算框架HBase对应于BigTable即分布式NoSQL列数据库。外加Zookeeper对应于Chubby即分布式锁设施。二、Hadoop特性1. Hadoop国外应用Yahoo支持广告系统用户行为分析支持Web搜索反垃圾邮件系统Facebook存储处理数据挖掘和日志统计构建基于Hadoop数据仓库平台(Apache Hive来自FB)IBM蓝云基础设施构建商业化Hadoop发行、解决方案支持2. Hadoop国内应用百度用户搜索表征的需求数据、阿拉丁爬虫数据存储数据分析和挖掘 竞价排名阿里巴巴为电子商务网络平台提供底层的基础计算和存储服务交易数据、信用数据腾讯用户关系数据基于Hadoop、 Hive构建TDW (腾讯分布式数据仓库)华为对Hadoop的HA方案以及HBase领域有深入研究三、Hadoop架构变迁1. 发行版本Hadoop发行版本Apache HadoopApache开源社区版本http://hadoop.apache.org/商业发行版本Cloudera https://www.cloudera.com/products/open-source/apache-hadoop.htmlHortonworks https://www.cloudera.com/products/hdp.html常用Apache版的Hadoop 版本号为 3.3.02. Hadoop架构变迁(1.0-2.0变迁)Hadoop 1.0HDFS (分布式文件存储)MapReduce (资源管理和分布式数据处理)Hadoop 2.0HDFS (分布式文件存储)MapReduce (分布式数据处理)YARN (集群资源管理、任务调度)3. Hadoop架构变迁(3.0新版本)Hadoop 3.0架构组件和Hadoop 2.0类似,3.0着重于性能优化。通用方面精简内核、类路径隔离、shell脚本重构Hadoop HDFSEC纠删码、多NameNode支持Hadoop MapReduce任务本地化优化、 内存参数自动推断Hadoop YARNTimeline Service V2、队列配置4. 综述① 在Hadoop1.x时代Hadoop中的MapReduce同时处理业务逻辑运算和资源的调度耦合性较大。② 在Hadoop2.x时代增加了Yarn。Yarn只负责资源的调度MapReduce只负责运算。③ Hadoop3.x在组成上没有什么变化。四、技术生态体系Hadoop是一个由Apache基金会所开发的分布式系统基础架构主要就是解决数据存储和数据分析计算的问题通过HDFS和MapReduce实现。HDFS是Hadoop分布式文件系统它是Hadoop生态系统中的核心项目之一是分布式计算中数据存储管理基础。HDFS具有高容错性的数据备份机制它能检测和应对硬件故障并在低成本的通用硬件上运行。另外HDFS具备流式的数据访问特点提供高吞吐量应用程序数据访问功能适合带有大型数据集的应用程序。MapReduce是分布式计算框架一种计算模型用于大规模数据集大于1TB的并行运算。“Map”对数据集上的独立元素进行指定的操作生成键值对形式中间结果“Reduce”则对中间结果中相同“键”的所有“值”进行规约以得到最终结果。MapReduce这种“分而治之”的思想极大地方便了编程人员在不会分布式并行编程的情况下将自己的程序运行在分布式系统上。Map 分治分而治之。数据分片并行拆分处理。拆分数据并行生成局部键值对。Shuffle 洗牌分组排序整理中间数据。Map 任务算出一堆零散中间结果Shuffle 就是分拣、打包、快递分发把相同 key 的数据全部送到同一个 Reduce 手里汇总。Reduce 规约归并最终计算结果。聚合分组汇总输出结果。同类归集聚合算出最终结果。YarnYet Another Resource Negotiator是Hadoop 2.0中的资源管理器它可为上层应用提供统一的资源管理和调度它的引入为集群在利用率、资源统一管理和数据共享等方面带来了巨大好处。Spark是一个基于内存计算的开源的集群计算系统目的是让数据分析更加快速。是当前最流行的开源大数据内存计算框架。可以基于 Hadoop 上存储的大数据进行计算。HBase是一个分布式的、面向列的开源数据库。 HBase 不同于一般的关系数据库它是一个适合于非结构化数据存储的数据库。HBase是Google Bigtable克隆版它是一个针对结构化数据的可伸缩、高可靠、高性能、分布式和面向列的动态模式数据库。HBase采用了BigTable的数据模型增强的稀疏排序映射表Key/Value其中键由行关键字、列关键字和时间戳构成。HBase提供了对大规模数据的随机、实时读写访问同时HBase中保存的数据可以使用MapReduce来处理它将数据存储和并行计算完美地结合在一起。Hive是基于Hadoop的数据仓库工具可以存储查询分析数据方便决策人员和数据分析人员统计分析历史数据。可以将结构化的数据文件映射为一张数据库表并提供简单的 SQL 查询功能可以将 SQL 语句转换为 MapReduce 任务进行运行。其优点是学习成本低可以通过类 SQL 语句快速实现简单的 MapReduce 统计不必开发专门的 MapReduce 应用十分适合数据仓库的统计分析。Sqoop是一款开源的数据导入导出工具主要用于在 Hadoop、 Hive 与传统的数据库MySQL间进行数据的转换和传递可以将一个关系型数据库例如 MySQL Oracle 等中的数据导进到 Hadoop 的 HDFS 中也可以将 HDFS 的数据导进到关系型数据库中使数据迁移变得非常方便。Mahout是Apache旗下的一个开源项目它提供了一些可扩展的机器学习领域经典算法的实现旨在帮助开发人员更加方便快捷地创建智能应用程序。Mahout包含许多实现包括聚类、分类、推荐过滤、频繁子项挖掘。此外通过使用 Apache Hadoop 库Mahout 可以有效地扩展到云中。Flume是Cloudera提供的一个高可用的高可靠的分布式的海量日志采集、聚合和传输的系统。支持在日志系统中定制各类数据发送方用于收集数据同时提供对数据进行简单处理并写到各种数据接受方可定制的能力。Kafka是一种高吞吐量的分布式发布订阅消息系统。Flink是当前最流行的开源大数据内存计算框架。 用于实时计算的场景较多。Oozie是一个管理 Hadoop 作业job的工作流程调度管理系统。ZooKeeper是一个针对大型分布式系统的开放源码的分布式应用程序协调服务是Google的Chubby一个开源的实现是Hadoop和HBase的重要组件。它是一个为分布式应用提供一致性服务的软件提供的功能包括配置维护、域名服务、分布式同步、组服务等用于构建分布式应用减少分布式应用程序所承担的协调任务。五、术语■对象存储服务(OBS)■数据仓库服务(DWS)■数据湖探索(DLI)■Map reduce 服务(MRS Hive)■Map reduce 服务(MRS SparkSQL)本文的引用仅限自我学习如有侵权请联系作者删除。参考知识Hadoop技术栈之Apache Hadoop概述大数据Hadoop生态圈包含哪些子系统