Hadoop原理及架构

分布式计算框架Hadoop Hadoop是Apache软件基金会所开发的并行计算框架与分布式文件系统。最核心的模块包括Hadoop Common、HDFS与MapReduce。 HDFS HDFS是Hadoop分布式文件系统(Hadoop Distributed File System)的缩写,为分布式计算存储提供了底层支持。采用Java语言开发,可以部署在多种普通的廉价机器上,以集群处理数量积达到大型主机处理性能。 HDFS架构原理 HDFS采用master/slave架构。一个HDFS集群包含一个单独的NameNode和多 阅读详情

Hadoop是Apache软件基金会所开发的并行计算框架与分布式文件系统。最核心的模块包括Hadoop Common、HDFS与MapReduce。

HDFS

HDFS是Hadoop分布式文件系统(Hadoop Distributed File System)的缩写,为分布式计算存储提供了底层支持。采用Java语言开发,可以部署在多种普通的廉价机器上,以集群处理数量积达到大型主机处理性能。

HDFS 架构原理

HDFS采用master/slave架构。一个HDFS集群包含一个单独的NameNode和多个DataNode。NameNode作为master服务,它负责管理文件系统的命名空间和客户端对文件的访问。NameNode会保存文件系统的具体信息,包括文件信息、文件被分割成具体block块的信息、以及每一个block块归属的DataNode的信息。对于整个集群来说,HDFS通过NameNode对用户提供了一个单一的命名空间。 DataNode作为slave服务,在集群中可以存在多个。通常每一个DataNode都对应于一个物理节点(当然也不排除每个物理节点可以有多个DataNode,不过生产环境里不建议这么做)。DataNode负责管理节点上它们拥有的存储,它将存储划分为多个block块,管理block块信息,同时周期性的将其所有的block块信息发送给NameNode。

下图为HDFS系统架构图,主要有三个角色,Client、NameNode、DataNode。

 

文件写入时

Client向NameNode发起文件写入的请求。

NameNode根据文件大小和文件块配置情况,返回给Client它所管理部分DataNode的信息。

Client将文件划分为多个block块,并根据DataNode的地址信息,按顺序写入到每一个DataNode块中。

当文件读取

Client向NameNode发起文件读取的请求。

NameNode返回文件存储的block块信息、及其block块所在DataNode的信息。

Client读取文件信息。

HDFS 数据备份

HDFS被设计成一个可以在大集群中、跨机器、可靠的存储海量数据的框架。它将所有文件存储成block块组成的序列,除了最后一个block块,所有的block块大小都是一样的。文件的所有block块都会因为容错而被复制。每个文件的block块大小和容错复制份数都是可配置的。容错复制份数可以在文件创建时配置,后期也可以修改。HDFS中的文件默认规则是write one(一次写、多次读)的,并且严格要求在任何时候只有一个writer。NameNode负责管理block块的复制,它周期性地接收集群中所有DataNode的心跳数据包和Blockreport。心跳包表示DataNode正常工作,Blockreport描述了该DataNode上所有的block组成的列表。

 

备份数据的存放

备份数据的存放是HDFS可靠性和性能的关键。HDFS采用一种称为rack-aware的策略来决定备份数据的存放。通过一个称为Rack Awareness的过程,NameNode决定每个DataNode所属rack id。缺省情况下,一个block块会有三个备份,一个在NameNode指定的DataNode上,一个在指定DataNode非同一rack的DataNode上,一个在指定DataNode同一rack的DataNode上。这种策略综合考虑了同一rack失效、以及不同rack之间数据复制性能问题。

副本的选择

为了降低整体的带宽消耗和读取延时,HDFS会尽量读取最近的副本。如果在同一个rack上有一个副本,那么就读该副本。如果一个HDFS集群跨越多个数据中心,那么将首先尝试读本地数据中心的副本。

安全模式

系统启动后先进入安全模式,此时系统中的内容不允许修改和删除,直到安全模式结束。安全模式主要是为了启动检查各个DataNode上数据块的安全性。

MapReduce

来源

MapReduce是由Google在一篇论文中提出并广为流传的。它最早是Google提出的一个软件架构,用于大规模数据集群分布式运算。任务的分解(Map)与结果的汇总(Reduce)是其主要思想。Map就是将一个任务分解成多个任务,Reduce就是将分解后多任务分别处理,并将结果汇总为最终结果。熟悉Function Language的人一定感觉很熟悉,不是什么新的思想。

MapReduce 处理流程

 

 

上图就是MapReduce大致的处理流程。在Map之前,可能还有对输入数据的Split过程以保证任务并行效率,在Map之后可能还有Shuffle过程来提高Reduce的效率以及减小数据传输的压力。

Hadoop

Hadoop被定位为一个易于使用的平台,以HDFS、MapReduce为基础,能够运行上千台PCServer组成的系统集群,并以一种可靠、容错的方式分布式处理请求。

Hadoop 部署

下图显示Hadoop部署结构示意图

 

在Hadoop的系统中,会有一台master,主要负责NameNode的工作以及JobTracker的工作。JobTracker的主要职责就是启动、跟踪和调度各个Slave的任务执行。还会有多台slave,每一台slave通常具有DataNode的功能并负责TaskTracker的工作。TaskTracker根据应用要求来结合本地数据执行Map任务以及Reduce任务。

Hadoop 处理流程

在描述Hadoop处理流程之前,先提一个分布式计算最为重要的设计原则:Moving Computation is Cheaper than Moving Data。意思是指在分布式计算中,移动计算的代价总是低于移动数据的代价。本地计算使用本地数据,然后汇总才能保证分布式计算的高效性。下图所示Hadoop处理流程:

 

大数据--分布式存储 Hadoop HDFS(分布式文件系统):解决海量数据存储MAPREDUCE(分布式运算编程框架):解决海量数据计算YARN(作业调度和集群资源管理的框架):解决资源任务调度。 阅读详情

相关推荐

大数据平台,Hadoop集群架构,概述及原理

大数据平台,Hadoop集群架构,概述及原理,通俗易懂,全程无废话。

无求道贾的博客 6220

图文详解 HDFS 的工作机制及其原理

看不懂,来打我~

weixin_43958974的博客 6869

Ubuntu 22.04下Realtek R8125网卡驱动安装避坑指南(附DKMS自动编译配置)

本文详细介绍了在Ubuntu 22.04系统上为Realtek R8125 2.5GbE网卡安装驱动的完整流程与避坑指南。针对内核通用驱动r8169的冲突问题,重点讲解了如何通过DKMS(Dynamic Kernel Module Support)实现驱动的持久化自动编译与安装,确保系统内核升级后网卡驱动依然有效。内容包括环境准备、驱动源码获取、DKMS标准配置、驱动冲突解决(设置黑名单)以及日常维护与故障排查方法,旨在为用户提供一个一劳永逸的稳定解决方案。

echo99的专栏 1024

干货满满,图文详解 HDFS 的 工作机制 及其原理

介绍了 机架感知(通过HDFS网络拓扑图介绍)、副本冗余存储策略及其优点, HDFS文件读取、写入的详细过程(HDFS数据上传 、 下载 过程的分析),FSDataInputStream 类、FSDataOutputStream 类的常用方法,以及 数据容错 的有关知识。

qq_45069279的博客 3万+

基于UCD3138的数字控制硬开关全桥DC-DC电源设计实战解析

在开关电源设计中,数字控制技术正逐步取代传统模拟方案,以其卓越的灵活性、可编程性和强大的数据处理能力,成为应对复杂动态响应与智能化需求的关键。其核心原理在于通过高精度模数转换器(ADC)实时采样电压、电流信号,经由数字信号处理器(如ARM内核)运行PID等控制算法,动态调整数字脉宽调制(DPWM)输出,从而实现对功率级的精确控制。这种技术价值体现在能够轻松实现高级算法(如输入电压前馈、非线性补偿)、灵活配置保护参数,并通过PMBus等接口实现智能化监控与管理。其典型应用场景包括通信基站、服务器电源以及工业设

1313

基于FPGA 外置qspi Flash的读写

fpga上实现flash读写代码

weixin_43498765的博客 4957

Hadoop 原理及架构详解

主要介绍了 Hadoop 的相关操作与组件架构。

weixin_41930950的博客 2474

UR机械臂正逆运动学解析:从DH参数到8组解的完整求解策略

本文深入解析UR机械臂的正逆运动学求解策略,从DH参数原理到完整的8组解求解方法。详细介绍了正运动学的坐标变换过程,以及逆运动学中Atan2函数和三角恒等变换的应用,并揭示了8组解的产生机制。通过实际案例和调试技巧,帮助工程师掌握UR机械臂运动学求解的核心技术。

weixin_29094775的博客 414

Hadoop架构与原理:Hadoop系统架构原理解析

作为现今主流被运用的大数据系统框架,Hadoop架构是大数据技术学习阶段必要掌握的重点之一。而学习Hadoop技术,我们需要对Hadoop架构与原理有一个基本的认识,了解清楚这些原理,才能在大数据开发工作当中实现更灵活的运用。 Hadoop架构当中,需要理解的关键性原理,就是分布式技术。分布式技术,解决了大数据处理当中很大的一个难题,那就是在低廉的硬件系统上,实现对于海量数据的高效准确的处理。 分布式技术,其实简单来说,就是在几台甚至是几十台的普通计算机上搭建起计算机集群,对于海量的数据任务,将.

shuimuzh123的博客 1596

SAP RAP 校验全流程:从 EML 读取到消息上屏与阻止落库

本文系统梳理了 SAP ABAP RAP 中的校验流程(The Validation Process),结合 Airline/Connection 案例,详细讲解了三类核心校验:语义键唯一性、外键有效性和字段间一致性。文章覆盖了 EML 的 READ ENTITIES 操作、reported-* 与 failed-* 结构的使用方法、消息创建与字段绑定技巧,以及处理草稿数据时的 UNION 查询策略。通过代码示例演示了如何实现校验逻辑、生成错误消息并阻止无效数据持久化,同时提供了常见问题的排查建议。全文注重

2007 年 ~ 2025 年,深耕 SAP 技术 18 年 336

【YOLOv11改进 - 特征融合】DySample :超轻量级且高效的动态上采样器

【YOLOv11改进 - 特征融合】DySample :超轻量级且高效的动态上采样器

专注于图像领域,主要研究内容包括计算机视觉和深度学习,特别是在图像分类、目标检测和图像生成等方面有深入的研究和实践经验。 1072

深入浅出:hadoop架构原理

一、前奏 Hadoop是目前大数据领域最主流的一套技术体系,包含了多种技术。 包括HDFS(分布式文件系统),YARN(分布式资源调度系统),MapReduce(分布式计算系统),等等。 有些朋友可能听说过Hadoop,但是却不太清楚他到底是个什么东西,这篇文章就用大白话给各位阐述一下。 假如你现在公司里的数据都是放在MySQL里的,那么就全部放在一台数据库服务器上,我们就假设这台服务器的磁盘空间...

努力努力再努力!的博客 5613

AI快速变现之路,AI视频创作

初期投入$3000(工具订阅+样片制作),重点攻克跨境电商和本地生活服务市场。关注2025年AIGC视频工具的API降价趋势(如Pika企业版折扣可达50%),建议与云服务商签订长期合作协议。

qq_29896351的博客 1983

说说Hadoop的架构原理

本文转载自: https://mp.weixin.qq.com/s/rfXHbK51285Rpt8ADiPRGg 一、前奏 Hadoop是目前大数据领域最主流的一套技术体系,包含了多种技术。 包括HDFS(分布式文件系统),YARN(分布式资源调度系统),MapReduce(分布式计算系统),等等。 有些朋友可能听说过Hadoop,但是却不太清楚他到底是个什么东西,这篇文章就用大白话给各位阐述一下...

Danny_idea的博客 258

微信小程序 - 最新详细实现调起手机摄像头拍摄身份证人像面和国徽面取景框功能,在拍照相机上增加身份证证件照的轮廓或自定义文字,支持替换扫描拍摄辅助线图片及文本,小程序实现拍照身份证时带取景轮廓框拍摄!

微信小程序,身份证,证件照,人像,证件照提示框模板,vue身份证拍照框,摄像机相机里有引导内容,取景框拍摄,微信小程序实现拍照界面自定义实现,自拍人相框拍摄,取景框,户口簿取景框,画布指定区域生成图片,微信小程序身份证正反面拍照如何加入辅助图片引导照片,身份证取景框拍摄,服务器,上传,正反面,调起手机摄像头:拍摄身份证的正反面,自定义身份证取景框,在相机上绘制“身份证轮廓“与提示文字,拍摄身份证时出现人像框怎么实现,在相机上增加图片和文字,微信小程序怎么给调起的相机加入自定义图片,小程序实现给相机上面

🏆 前端领域优质创作者 1万+

假人有限元模型

假人模型,车辆碰撞假人有限元模型,适合做乘员安全的研究者利用

Hadoop系列之原理与架构

一、Hadoop项目架构 Hadoop框架是用来解决数据离线批处理问题的框架,其中最核心的是HDFS和MapReduce,HDFS是架构在Hadoop之上的分布式文件系统,MapReduce是架构在Hadoop之上用来做计算的框架。 hadoop两个核心:HDFS和MapReduce 用途:解决分布式存储和分布式存储。 特点:高可靠性、高效性、可扩展性、成本低(普通PC机都能构建集群) ...

qq_38048590的博客 1万+

IMSL CNL 7.0.0 (x86-64)Crack

IMSL CNL 7.0.0 (x86-64)Crack intel的算法库破解文件,这是C++版本的破解文件

Hadoop生态 -- YARN 架构原理与工作机制详解

Hadoop YARN架构原理与工作机制解析 YARN作为Hadoop 2.0的核心组件,解决了Hadoop 1.0在资源管理和计算框架支持方面的局限。其核心架构包括ResourceManager(全局资源协调)、NodeManager(节点资源管理)、ApplicationMaster(应用专属管理)和Container(资源抽象单元)四大组件,通过解耦资源管理与作业调度,实现了多计算框架支持。 YARN的工作流程分为应用提交、资源申请、任务执行和应用完成四个阶段,采用增量分配和本地性优先等资源调度策略,

csdn_tom_168的博客 1214

ET2012新版免狗免安装绿色软件

ET2012新版免狗免安祖昂绿色软件。,新界面,新视觉,

数学建模模型总结

这是本人在两年内准备参加数学建模竞赛搜集到的模型资料,已经经过了本人的筛选和整理,希望能够对准备参加数学建模竞赛的学弟学妹们提供一些帮助!

Hadoop原理,HDFS架构,MapReduce原理

Hadoop原理,HDFS架构,MapReduce原理

weixin_46838716的博客 2102

Hadoop之HBase架构原理及集群部署总览

一、概要 HBase 是基于GoogleBigTable模型开发的,是一个构建在HDFS上的分布式列存储系统,是一个典型的key/value开源数据库;主要用于海量结构化数据存储;与hadoop一样,Hbase目标主要依靠横向扩展,通过不断增加廉价的商用服务器,来增加计算和存储能力。从逻辑上讲,HBase将数据按照表、行和列进行存储。适用于需要实时读写、随机访问超大规模数据集的场景中。 HBase( Hadoop Database)是Apache的Hadoop项目的子项目,具备高可靠性、高性能、面向列、可

企业实战系列集 ●●● https://ximenjianxue.blog.youkuaiyun.com 2493

Hadoop架构原理的入门讲解

本文内容: 为什么引入Hadoop HDFS的架构原理 为什么引入Hadoop Hadoop是目前大数据领域最主流的一套技术体系,包含了多种技术。 包括HDFS(分布式文件系统),YARN(分布式资源调度系统),MapReduce(分布式计算系统),等等。 有些朋友可能听说过Hadoop,但是却不太清楚他到底是个什么东西,这篇文章就用大白话给各位阐述一下。 假如你现在公司里的数据都是放在MyS...

super_wj0820的博客 188

小白都能看懂的Hadoop架构原理

文章目录一、前言二、HDFS的NameNode架构原理 一、前言 Hadoop是目前大数据领域最主流的一套技术体系,包含了多种技术。 包括HDFS(分布式文件系统),YARN(分布式资源调度系统),MapReduce(分布式计算系统),等等。 有些朋友可能听说过Hadoop,但是却不太清楚他到底是个什么东西,这篇文章就用大白话给各位阐述一下。 假如你现在公司里的数据都是放在MySQL里的,那么就全...

yonggeit的博客 3947

hadoop(二)-hadoop原理及架构

Hadoop是Apache软件基金会所开发的并行计算框架与分布式文件系统。最核心的模块包括Hadoop Common、HDFS与MapReduce。 1.HDFS HDFS是Hadoop分布式文件系统(Hadoop Distributed File System)的缩写,为分布式计算存储提供了底层支持。采用Java语言开发,可以部署在多种普通的廉价机器上,以集群处理数量积达到大型主机处理性

敲码的汉子 4616

简单理解Hadoop架构原理

  一、前奏   Hadoop是目前大数据领域最主流的一套技术体系,包含了多种技术。   包括HDFS(分布式文件系统),YARN(分布式资源调度系统),MapReduce(分布式计算系统),等等。   有些朋友可能听说过Hadoop,但是却不太清楚他到底是个什么东西,这篇文章就用大白话给各位阐述一下。   假如你现在公司里的数据都是放在MySQL里的,那么就全部放在一台数据库服务器上,我...

qianfeng_dashuju的博客 1075

Hadoop架构原理

Hadoop架构原理 HDFS 它由很多机器组成,每台机器上运行一个 DataNode 进程,负责管理一部分数据。然后有一台机器上运行了 NameNode 进程,NameNode 大致可以认为是负责管理整个 HDFS 集群的这么一个进程,它里面存储了 HDFS 集群的所有元数据。 一般一份大文件被拆分成128M的多个block,并且分三个副本存放。 NameNode架构原理 功能概述 Na...

陈董董的博客 1360

收藏 | 白话Hadoop架构原理

源 / 51CTO技术栈Hadoop 是目前大数据领域最主流的一套技术体系,包含了多种技术,例如 HDFS(分布式文件系统),YARN(分布式资源调度系统),MapRed...

机器学习算法与Python学习 491
上一篇: JDK动态代理的实现及原理
下一篇: Arrays类及其方法分析
java1856905
博客等级 码龄8年 100粉丝 249原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值