首页 > 其他分享 >HDFS,MapReduce,Yarn 的架构思想和设计原理

HDFS,MapReduce,Yarn 的架构思想和设计原理

时间:2022-12-01 14:07:11浏览次数:69  
标签:HDFS MapReduce Yarn 集群 计算 服务器 数据


        大家好,我是 梦想家Alex 。之前我也写了不少关于大数据技术组件的文章,例如:

​         前方高能 | HDFS 的架构,你吃透了吗?​

​        MapReduce 的核心知识点,你都 get 到了吗 ?(干货文章,建议收藏!)​

​        从 0 到 1 学习 Presto,这一篇就够了!​​    

        ...      

        但感觉基本上都是在描述一些理论层面的内容,缺少一些架构的思想精髓 。而且大数据技术其实是分布式技术在数据处理领域的创新型应用,其本质就是利用更多的计算机组成一个集群,提供更多的计算资源,从而满足更大的计算压力要求。说的通俗易懂一些,就是大数据技术的诞生解决的就是数据存储计算的问题。正好最近在刷李智慧老师的书和极客专栏,想输出一些有用的干货。  

        本篇文章,我先通过一个引子,然后按顺序依次为大家带来 Hadoop 三大组件:HDFS,MapReduce,Yarn 的架构分析和原理介绍,希望大家看完都能有所收获 。

HDFS,MapReduce,Yarn 的架构思想和设计原理_数据

1引子

        大数据就是将各种数据统一收集起来进行计算,发掘其中的价值。这些数据,既包括数据库的数据,也包括日志数据,还包括专门采集的用户行为数据;既包括企业内部自己产生的数据,也包括从第三方采购的数据,还包括使用网络爬虫获取的各种互联网公开数据 ...

        面对如此庞大的数据,如何存储、如何有效利用大规模的服务器集群处理计算才是大数据技术的核心。

2HDFS 分布式文件存储架构

        我们知道,Google 大数据“三驾马车”的第一驾是 GFS(Google 文件系统),而 Hadoop 的第一个产品是 HDFS,可以说分布式文件存储是分布式计算的基础,也可见分布式文件存储的重要性。如果我们将大数据计算比作烹饪,那么数据就是食材,而 Hadoop 分布式文件系统 HDFS 就是烧菜的那口大锅。

        厨师来来往往,食材进进出出,各种菜肴层出不穷,而不变的则是那口大锅。大数据也是如此,这些年来,各种计算框架、各种算法、各种应用场景不断推陈出新,让人眼花缭乱,但是大数据存储的王者依然是 HDFS。

        为什么 HDFS 的地位如此稳固呢?在整个大数据体系里面,最宝贵、最难以代替的资产就是数据,大数据所有的一切都要围绕数据展开。HDFS 作为最早的大数据存储系统,存储着宝贵的数据资产,各种新的算法、框架要想得到人们的广泛使用,必须支持 HDFS 才能获取已经存储在里面的数据。所以大数据技术越发展,新技术越多,HDFS 得到的支持越多,我们越离不开 HDFS。HDFS 也许不是最好的大数据存储技术,但依然最重要的大数据存储技术

        之前在 ​​前方高能 | HDFS 的架构,你吃透了吗?​​这篇文章中,我们就已经谈到了 HDFS 的架构 ,如下图所示:

HDFS,MapReduce,Yarn 的架构思想和设计原理_大数据_02

        HDFS 可以将数千台服务器组成一个统一的文件存储系统,其中 NameNode 服务器充当文件控制块的角色,进行文件元数据管理,即记录文件名、访问权限、数据存储地址等信息,而真正的文件数据则存储在 DataNode 服务器上。

        DataNode 以块为单位存储数据,所有的块信息,比如 块 ID、块所在的服务器 IP 地址等,都记录在 NameNode 服务器上,而具体的块数据存储在 DataNode 服务器上。理论上,NameNode 可以将所有 DataNode 服务器上的所有数据块都分配给一个文件,也就是说,一个文件可以使用所有服务器的硬盘存储空间 。

        此外,HDFS 为了保证不会因为磁盘或者服务器损坏而导致文件损坏,还会对数据块进行复制,每个数据块都会存储在多台服务器上,甚至多个机架上。

HDFS,MapReduce,Yarn 的架构思想和设计原理_数据_03

        关于 HDFS是怎么做文件管理和容错,可以看下这篇文章:

标签:HDFS,MapReduce,Yarn,集群,计算,服务器,数据
From: https://blog.51cto.com/u_15105906/5901838

相关文章

  • hive sql语句转换成mapreduce
    hivesql语句转换成mapreduce 转:https://www.cnblogs.com/w-j-q/p/14863034.html#autoid-2-5-01.hive是什么?2.MapReduce框架实现SQL基本操作的原理是什么?3.Hive怎......
  • [FAQ] 在 Mac 系统上 yarn add canvas 安装失败的原因
     当使用yarnadd安装某个node库时,如果出现失败,多半是由于nodejs版本问题引起的。现在我们可以使用nvm方便的管理不同的nodejs进行随时切换。$nvmls-remote......
  • hadoop学习之HDFS API-2-通过编写java接口操作hdfs
    1.创建文件夹工程的test包中java->com.imooc.bigdata->hadoop.hdfs.HDFSApp注意包:importorg.apache.hadoop.conf.Configuration;importorg.apache.hadoop.fs.FileSyste......
  • hadoop学习之使用HDFS API的方式来操作HDFS文件系统-1-项目环境
    IDEA中:1.创建工程不要选错差不多就是这个亚子2.添加hadoop依赖包<dependency><groupId>org.apache.hadoop</groupId><artifactId>hadoop-client</artifactId>......
  • MapReduce经典论文翻译(中英对照)
    MapReduce:SimplifiedDataProcessingonLargeClusters(MapReduce:简化大型集群下的数据处理)转:谷歌MapReduce经典论文翻译(中英对照)-小熊餐馆-博客园(cnblogs.c......
  • 大数据学习之HDFS
    HDFS是一个分布式文件存储系统,适合一次写入,多次写出,且不支持文件修改  结构:    NameNode(NN):就是master他是一个管理者      1、管理HDFS的......
  • MapReduce作业Map阶段和Reduce阶段重要过程详述(Partitioner、Combiner、Shuffle三个阶
    MapReduce作业Map阶段和Reduce阶段重要过程详述(Partitioner、Combiner、Shuffle)MapReduce作业Map阶段和Reduce阶段重要过程详述(Partitioner、Combiner、Shuffle三个阶段的解......
  • yarn安装与使用
    yarn的简介:Yarn是facebook发布的一款取代npm的包管理工具。yarn的特点:速度超快。Yarn缓存了每个下载过的包,所以再次使用时无需重复下载。同时利用并行下载以最大化资源......
  • java操作hdfs
    1.添加maven依赖,即在pom.xml文件李添加依赖<?xmlversion="1.0"encoding="UTF-8"?><projectxmlns="http://maven.apache.org/POM/4.0.0"xmlns:xsi="http://......
  • 分布式文件系统HDFS 相关概念知识
    一、HDFS的局限性:1.不支持实时处理的任务需求。但Hbase满足实时处理需求。2.无法高效存储大量的小文件,因为是以索引结构保存到内存当中去。3.不支持多用户写入以及任意修......