当前位置: 首页 > news >正文

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 Cutting

  • Hadoop起源于Apache Lucene子项目: Nutch,Nutch的设计目标是构建一个大型的全网搜索引擎。遇到瓶颈:如何解决数十亿网页的存储和索引问题

  • 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国外应用

  1. Yahoo
  • 支持广告系统
  • 用户行为分析
  • 支持Web搜索
  • 反垃圾邮件系统
  1. Facebook
  • 存储处理数据挖掘和日志统计
  • 构建基于Hadoop数据仓库平台(Apache Hive来自FB)
  1. IBM
  • 蓝云基础设施构建
  • 商业化Hadoop发行、解决方案支持

2. Hadoop国内应用

  1. 百度
  • 用户搜索表征的需求数据、阿拉丁爬虫数据存储
  • 数据分析和挖掘 竞价排名
  1. 阿里巴巴
  • 为电子商务网络平台提供底层的基础计算和存储服务
  • 交易数据、信用数据
  1. 腾讯
  • 用户关系数据
  • 基于Hadoop、 Hive构建TDW (腾讯分布式数据仓库)
  1. 华为
  • 对Hadoop的HA方案,以及HBase领域有深入研究

三、Hadoop架构变迁

1. 发行版本


Hadoop发行版本:Apache Hadoop

Apache开源社区版本:http://hadoop.apache.org/

商业发行版本:

  • Cloudera: https://www.cloudera.com/products/open-source/apache-hadoop.html
  • Hortonworks: https://www.cloudera.com/products/hdp.html

常用Apache版的Hadoop, 版本号为: 3.3.0

2. Hadoop架构变迁(1.0-2.0变迁)

Hadoop 1.0

  • HDFS (分布式文件存储)
  • MapReduce (资源管理和分布式数据处理)

Hadoop 2.0

  • HDFS (分布式文件存储)
  • MapReduce (分布式数据处理)
  • YARN (集群资源管理、任务调度)

3. Hadoop架构变迁(3.0新版本)

Hadoop 3.0架构组件和Hadoop 2.0类似,3.0着重于性能优化。

  • 通用方面

精简内核、类路径隔离、shell脚本重构

  • Hadoop HDFS

EC纠删码、多NameNode支持

  • Hadoop MapReduce

任务本地化优化、 内存参数自动推断

  • Hadoop YARN

Timeline 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 规约:归并最终计算结果。聚合分组,汇总输出结果。同类归集,聚合算出最终结果。

Yarn(Yet 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生态圈包含哪些子系统


http://www.cnnetsun.cn/news/3317935.html

相关文章:

  • 排序稳定性实战:Python/Java 内置排序库的3种稳定化策略对比
  • Silk v3解码器终极指南:一键转换微信QQ语音到MP3的完整解决方案
  • 实时音频可视化实现:Web Audio Samples中的频谱分析与波形绘制终极指南
  • SAP ME51N 屏幕增强实战:4步实现历史价格字段查询与OA推送
  • 告别繁琐配置:用AI翻译让网站秒变多语言国际站
  • 3分钟打造你的macOS智能歌词神器:LyricsX完全指南
  • 3分钟掌握:如何在Windows电脑上直接安装Android应用?APK Installer终极指南
  • 重要更新:v1.0.4-preview.3安全与稳定性全方位提升,保障系统可靠性
  • AI技术正在改变
  • 2026吉他选购实测!7款高口碑机型全覆盖,新手闭眼入不踩坑
  • 如何在5分钟内为Godot 4项目安装和配置FMOD Studio GDExtension
  • Git底层原理×自然语言理解:ChatGPT如何将git rebase、merge、cherry-pick翻译成人类可执行动作,工程师必藏的8个Prompt模板
  • Kimi-K2.5-W4A8的10个关键配置参数详解
  • Creative View Pager在电商应用中的实战应用:打造精美商品展示
  • IWebsocketClient 接口完全指南:gh_mirrors/webso/websocket-client 开发必备
  • Skywork-OR1代码实现原理:深入解析PPO算法在数学推理任务中的应用
  • Windows 11系统精简自动化解决方案:tiny11builder深度技术解析
  • Boson NetSim 实战:3步构建跨网段互通实验,静态路由配置与验证
  • 录播姬:3步轻松实现mikufans直播永久保存的终极指南
  • 重新定义游戏认知:League Akari如何将数据转化为竞技优势
  • Canmatrix终极指南:掌握汽车CAN数据库格式转换的完整解决方案
  • 终极指南:Forza Mods AIO - 免费开源极限竞速地平线修改器
  • ChatDocs命令行工具详解:高效处理文档的10个实用技巧
  • 工业负载驱动方案:TPD2015FN与dsPIC30F3014应用解析
  • 如何在3分钟内为Windows服务器配置自动化IP封锁防护系统
  • deREferencing插件配置完全手册:从基础设置到高级自定义选项
  • LyricsX:终极macOS歌词同步解决方案,5分钟快速上手指南
  • Chat2DB技术选型指南:企业级数据库管理工具的价值分析与部署策略
  • Amaro未来展望:TypeScript工具链的发展趋势与路线图分析
  • Linux 内核 5.x 实时调度类 rt_sched_class 源码解析:FIFO/RR 队列与时间片实现