什么是Hadoop

Hadoop 介绍

Hadoop 是由 Apache 开发的开源框架,用于处理分布式环境中的海量数据。Hadoop 使用 Java 编写,通过简单的编程模型允许在集群中进行大规模数据集的存储和计算。它具备高可靠性、容错性和扩展性。

  • 分布式存储:Hadoop 支持跨集群的分布式存储。
  • 分布式计算:Hadoop 使用简单的 MapReduce 编程模型进行计算。
  • 扩展性:Hadoop 可以从单一节点扩展到数千台机器,并且扩展过程中无需停机。

Hadoop 的关键组件

Hadoop 的架构由三个核心部分组成:

HDFS(Hadoop Distributed File System):分布式文件系统,是数据存储层。
MapReduce:分布式计算框架,用于并行处理数据。
YARN(Yet Another Resource Negotiator):资源管理和任务调度系统。

Hadoop 的架构

Hadoop 的架构基于主从模型,分为:

  • Master 节点:负责管理、维护和监控集群,存储元数据。
  • Slave 节点:负责存储数据并执行计算任务,可以扩展到数千个节点。
  • 任务分发:客户端通过 Master 节点分发任务,Master 将任务调度到 Slave 节点上执行。

Hadoop 组件

在这里插入图片描述

  1. HDFS(分布式文件系统)
    HDFS 是 Hadoop 的数据存储层,负责将海量数据以分布式的方式存储在多个节点上。

    架构:
    NameNode(主节点):存储元数据并管理 DataNode。
    DataNode(从节点):存储实际的数据块并执行操作。
    特点:
    数据文件会分割成多个块(默认块大小为 128MB)。
    数据块按照复制因子(默认 3 个副本)分布在不同节点,以保证容错性和可靠性。
    示例:
    假设有一个 640MB 的文件,将会被分成 5 个 128MB 的数据块,并存储在多个节点上。

  2. MapReduce
    MapReduce 是 Hadoop 的分布式计算框架,用于处理海量数据。它将计算任务分割成多个小任务并分发到不同的节点进行并行处理。
    工作流程:
    (1)将输入数据分割成块并分发到各个节点。
    (2)Map 阶段:将任务划分为键值对形式的中间结果。
    (3)Shuffle 阶段:对 Map 的输出进行排序和分区。
    (4)Reduce 阶段:对分区后的数据进行汇总和计算。
    特点:
    将计算任务移动到离数据最近的节点执行,减少数据传输开销。
    支持大规模数据的并行处理。

  3. YARN(资源管理)
    YARN 是 Hadoop 的资源管理系统,用于管理集群的计算资源(CPU、内存、磁盘等)并调度任务。
    架构:
    ResourceManager(主节点):负责全局资源的管理和分配。
    NodeManager(从节点):负责节点资源的本地管理,运行容器(Container)。
    ApplicationMaster:为每个任务分配资源并跟踪任务执行状态。
    特点:
    提供高效的资源管理。
    支持多种框架运行在同一集群上。

Hadoop 守护进程

Hadoop 的关键守护进程分为以下几类:

(1)HDFS:
NameNode:运行在 Master 节点上,存储元数据。
DataNode:运行在 Slave 节点上,存储数据块。
(2)YARN:
ResourceManager:运行在 Master 节点上,管理全局资源。
NodeManager:运行在 Slave 节点上,管理本地资源。
(3)其他进程:
Secondary NameNode:辅助 NameNode 进行元数据的备份。
JobHistoryServer:负责存储任务的历史记录。
在这里插入图片描述

Hadoop 的工作原理

数据存储:
输入数据被切分成若干个块(默认 128MB),并存储到不同的节点(DataNode)上。
任务分配:
用户通过 Master 节点提交任务。
Master 将任务分发到离数据最近的节点上执行。
数据处理:
每个节点独立处理数据,并将中间结果写回 HDFS。
结果输出:
所有节点处理完成后,输出最终结果。

Hadoop 生态系统中的组件

除了核心组件(HDFS、YARN 和 MapReduce),Hadoop 生态系统还包含许多其他工具,扩展了 Hadoop 的功能:

组件功能描述
HBase基于 HDFS 的列式存储数据库,适合存储海量稀疏数据集。
Hive数据仓库工具,支持使用类似 SQL 的语言查询大数据。
Pig高级脚本语言,用于编写复杂的数据处理流程,无需开发 Java 代码。
Flume用于高效实时收集和传输日志数据。
Sqoop用于在 Hadoop 和关系型数据库之间传输数据。
Oozie用于调度和管理 Hadoop 作业的执行时间和频率。
Zookeeper提供分布式配置管理、命名空间和同步服务。
Mahout可扩展的机器学习算法库。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/476350.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

六大核心应用场景,解锁AI检测系统的智能安全之道

AI检测系统基于深度学习、计算机视觉和多模态数据融合技术,广泛应用于工业、能源、制造等高风险作业领域,旨在实现作业安全、流程规范和效率提升的智能化管理。以下是系统主要应用场景的概述: 1. 高风险作业安全监控 应用场景:高压…

Verilog HDL可综合与不可综合语句

目录 什么是逻辑综合 可综合语句 不可综合语句 逻辑综合建模建议 综合流程 什么是逻辑综合 所谓逻辑综合就是在标准单元库和特定的设计约束的基础上,把设计的高层次描述转换成优化的门级网表的过程。 标准单元库(工艺库)可以包含简单的…

SpringBoot中设置超时30分钟自动删除元素的List和Map

简介 在 Spring Boot 中,你可以使用多种方法来实现自动删除超时元素的 List 或 Map。以下是两种常见的方式: 如果你需要简单的功能并且不介意引入外部依赖,可以选择 Guava Cache。如果你想要更灵活的控制,使用 Spring 的调度功能…

@RequestBody、@Data、@Validated、@Pattern(regexp=“?“)(复习)

目录 一、注解RequestBody。 二、注解Data。 三、注解Validated、Pattern(regexp"?")。 1、完成实体参数(对象属性)校验。 2、NotNull、NotEmpty、Email。 一、注解RequestBody。 (如:JSON格式的数据——>Java对象&…

使用uniapp开发微信小程序使用uni_modules导致主包文件过大,无法发布的解决方法

在使用uniapp开发微信小程序时候,过多的引入uni_modules的组件库,会导致主包文件过大,导致无法上传微信小程序,主包要求大小不超过1.5MB.分包大小每个不能超过2M。 解决方法:分包。 1.对每个除了主页面navbar的页面进…

NVR录像机汇聚管理EasyNVR大华NVR管理平台:深耕视频监控市场的多元化兼容

在当今快速发展的视频监控行业中,技术的日新月异与设备种类的繁多给系统集成与运维带来了前所未有的挑战。为了应对这一现状,EasyNVR作为一款集视频流接收、转发、存储、管理于一体的综合型视频服务平台,凭借其深厚的技术积累和对市场的精准洞…

游戏行业趋势:“AI、出海、IP”大热下,如何提升竞争力?

游戏:新品供给影响业绩释放节奏,后续游戏新品逐步上线,或驱动板块业绩修复 2024年前三季度A股游戏板块实现营业收入681.8亿元,同比增长5.1%,实现归母净利润73.3亿元,同比下滑30.4%,或主要受 20…

【vba源码】导入excel批注信息

Hi,大家好呀! 又到了一周一分享的时间,上周繁忙的我都没有给大家直播,视频也没更新,那这周大家放心,都会给大家更新,今天我们来讲点啥呢?每周找优质的内容给大家更新是我最最痛苦的…

Spark SQL大数据分析快速上手-完全分布模式安装

【图书介绍】《Spark SQL大数据分析快速上手》-CSDN博客 《Spark SQL大数据分析快速上手》【摘要 书评 试读】- 京东图书 大数据与数据分析_夏天又到了的博客-CSDN博客 Hadoop完全分布式环境搭建步骤-CSDN博客,前置环境安装参看此博文 完全分布模式也叫集群模式。将Spark目…

nginx代理解决跨域问题CORS错误

配置如下 # 允许跨域请求add_header Access-Control-Allow-Origin *;# 允许带身份验证信息的跨域请求add_header Access-Control-Allow-Credentials true;# 允许的请求方法add_header Access-Control-Allow-Methods GET, POST, OPTIONS;# 允许的请求头add_header Access-Contro…

H.264/H.265播放器EasyPlayer.js视频流媒体播放器关于websocket1006的异常断连

EasyPlayer.js无插件H5播放器属于一款高效、精炼、稳定且免费的流媒体播放器,可支持多种流媒体协议播放,无须安装任何插件,起播快、延迟低、兼容性强,使用非常便捷。 EasyPlayer.js播放器不仅支持H.264与H.265视频编码格式&#x…

uniapp开发微信小程序笔记3-全局配置、导航栏配置、tabBar配置

前言: 本文记录的是微信小程序的全局配置、导航栏配置、tabBar配置 一、全局配置: 可以直接查官方文档:pages.json 页面路由 | uni-app官网,有非常详细的文档说明 都是在 pages.json里面做配置的,我们可以看到已经有…

STM32芯片EXIT外部中断的配置与原理以及模板代码(标准库)

配置EXIT外部中断其实就是把GPIO刀NVIC的各个外设配置好 第一步:配置RCC,把我们涉及到的外设的时钟都打开 (此处EXTI是默认打开的,而NVIC是内核外设无需配置) 第二步:配置GPIO,选择端口为输入模式 第三…

【QT】绘图

个人主页~ 绘图 一、绘图1、基础内容2、绘制形状(1)线段(2)矩形(3)圆形(4)文本(5)画笔(6)画刷 3、绘制图片(1)…

Quality minus junk论文阅读

Quality minus junk论文阅读 文章目录 Quality minus junk论文阅读 AbstractTheoretical FrameworkEmpirical AnalysisDataQuality scorePortfoliosEx ante quality forecasts fundamentals Results and DiscussionThe price of qualityUnderstanding the price of quality: th…

葡萄酒(wine)数据集——LDA、贝叶斯判别分析

1 葡萄酒(wine)数据集介绍 葡萄酒识别数据集(Wine Recognition dataset)通常用于多类别分类问题建模。数据集包括从三个不同的品种(类别)的葡萄酒中测得的13种不同的化学特征,共178个样本。这些化学特征包括酸度、灰分、酒精浓度等。 该数据集是由UCI机器学习库提供,并…

贪心算法 -- 递增子序列

目录 最长递增子序列 题解: 代码: 递增的三元子序列 题解: 代码: 简易版: 最长连续递增序列 题解: 代码: 最长递增子序列 300. 最长递增子序列 - 力扣(LeetCode&#xf…

【ArcGIS微课1000例】0132:从多个GIS视角认识与攀登珠穆朗玛峰

文章目录 1. Map Viewer中打开2. 场景查看器中打开3. ArcGIS中打开4. QGIS中打开5. Globalmapper中打开6. ArcGIS Earth中打开官网地址:https://www.arcgis.com/home/item.html?id=504a23373ab84536b7760c0add1e0c1c 1. Map Viewer中打开 以下展示不同底图样式的珠穆朗玛峰壮…

如何在Word文件中设置水印以及如何禁止修改水印

在日常办公和学习中,我们经常需要在Word文档中设置水印,以保护文件的版权或标明文件的机密性。水印可以是文字形式,也可以是图片形式,能够灵活地适应不同的需求。但仅仅设置水印是不够的,有时我们还需要确保水印不被随…

windows的WSL Ubuntu子系统重置root或其他用户的密码

思路:以管理员身份运行PowerShell,在命令行窗口重置密码 ,不需要删除或重新安装Linux子系统。 1、以管理员身份运行PowerShell 2、用root用户启动Ubuntu,执行 wsl.exe --user root 3、重置密码,执行passwd username&…