【hadoop】hadoop的体系架构

这篇具有很好参考价值的文章主要介绍了【hadoop】hadoop的体系架构。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

HDFS的体系架构

NameNode

NameNode:主节点
职责:
(1)管理HDFS
(2)接收客户端的请求:数据上传,数据下载
(3)维护HDFS:维护edits文件(客户端的操作日志)、维护fsimage文件(元信息文件)

所处路径:
$HADOOP_HOME/tmp/dfs
( /root/training/hadoop-2.7.3/tmp/dfs )
【hadoop】hadoop的体系架构,hadoop,hadoop,架构,大数据

edits文件(客户端的操作日志)

所处路径:
$HADOOP_HOME/tmp/dfs/name/current
( /root/training/hadoop-2.7.3/tmp/dfs/name/current )
【hadoop】hadoop的体系架构,hadoop,hadoop,架构,大数据
edits_inprogress_0000000000000000105是当前正在操作的日志,所有的edits文件都是二进制文件,使用一般的编辑器查看不了,所以可以使用下面这个命令来进行查看:

hdfs oev -i edits_inprogress_0000000000000000105 -o ~/a.xml
# -i 后接输入文件(想查看的文件) -o后接输出文件

这里我们先对dfs进行一个创建目录的操作,然后这个操作也会被hdfs的日志记录下来

hdfs dfs -mkdir /tools

进行创建操作后,使用日志查看器进行查看(相当于转化成xml格式文件进行查看)

hdfs oev -i edits_inprogress_0000000000000000105 -o ~/a.xml
vi a.xml

【hadoop】hadoop的体系架构,hadoop,hadoop,架构,大数据

<RECORD>标签中就是一条条操作的记录,操作的行为是创建文件夹(<OPCODE>OP_MKDIR</OPCODE>),创建的目录是tools(<PATH>/tools</PATH>)

如果hdfs的元信息文件损坏,我们则可以通过日志文件进行恢复。

fsimage文件(元信息文件)

记录的是数据块的位置信息,冗余信息
位置:$HADOOP_HOME/tmp/dfs/name/current

下面将jdk的压缩包进行上传,fsimage文件中则会记录数据块的位置信息和冗余度。

hdfs dfs -put jdk-8u181-linux-x64.tar.gz /tools

提供元信息查看器

hdfs oiv -i fsimage_0000000000000000104 -o ~/b.xml -p XML

DataNode

DataNode:从节点
1、职责:按照数据块来保存数据:1.x:64M 2.x:128M
2、数据块的位置
$HADOOP_HOME/tmp/dfs/data/current/BP-90413187-192.168.157.111-1582475681214/current/finalized/subdir0/subdir0
【hadoop】hadoop的体系架构,hadoop,hadoop,架构,大数据
Demo:上传数据 hdfs dfs -put jdk-8u181-linux-x64.tar.gz /tools,大概204M

【hadoop】hadoop的体系架构,hadoop,hadoop,架构,大数据

数据块相加起来的大小就是之前上传jdk文件的大小。

设置数据块冗余度的一般原则:冗余度跟数据节点个数一致,最大不超过3

Secondary NameNode

Secondary NameNode:第二名称节点,跟NameNode运行在一起
1、不是NameNode热备
2、职责:定期进行日志信息的合并:把edits----> fsimage文件
3、重点:掌握日志合并的过程(为什么Secondary NameNode要和NameNode运行在一起)

【hadoop】hadoop的体系架构,hadoop,hadoop,架构,大数据
(1)将NameNode的edits日志和fsimage元信息文件下载至secondaryNameNode(copy)

【hadoop】hadoop的体系架构,hadoop,hadoop,架构,大数据

(2)secondaryNameNode将edits日志和fsimage元信息合并成fsimage.check文件
(3)secondaryNameNode将fsimage.check文件上传到NameNode,NameNode对fsimage.check文件再进行维护。

这也解释了为什么Secondary NameNode要和NameNode运行在一起,因为在同一机台上,可以大幅度提高下载的速度和上传速度。

在下载和上传期间,会生产新的edits文件,这个时候会先暂存在edits_inprogress中,等到其他edits上传完成,又变成新的edits文件,继续进行下载操作。

合并发生的时机?
当HDFS发出 检查点( checkpoint ) 的时候,触发进行合并。
默认∶(1)每隔60分钟,参数: fs.check.peroid
(2)当edits文件达到64M,参数: fs.check.size

补充一点:检查点
(1)HDFS:触发日志的合并
(2)Oracle:会以最高优先级唤醒数据库的写进程,写脏数据
(3)Spark和Flink:容错机制

Yarn的体系架构

1、ResourceManager:主节点
职责:
(1)接收客户端的请求:执行MapReduce任务的请求
(2)资源的分配:CPU、内存、网络
(3)任务的分配:NodeManager

2、NodeManager:从节点
职责:
(1)从ResourceManager获取任务和资源
(2)执行任务

3、Yarn调度MapReduce任务的过程

【hadoop】hadoop的体系架构,hadoop,hadoop,架构,大数据
(1)客户端发起任务 hadoop jar ***
(2)JobClient.java向ResourceManager请求创建任务ID
(3)JobClient.java将任务(jar文件)上传到HDFS
(4)JobClient.java向HDFS获取元信息(数据元信息、任务元信息)
(5)JobClient.java向ResourceManager提交任务:任务ID、数据元信息、任务元信息
(6)ResourceManager对任务进行初始化(谁来执行、资源怎么分配)
(7)ResourceManager将任务分配给NodeManager
(8)启动Application Container,任务都运行在 Container中。
(9)NodeManager根据第七步分配的数据和任务的元信息,向HDFS获取数据和任务。

为什么NodeManager和DataNode在同一机台?
因为NodeManager根据ResourceManager分配的数据和任务的元信息,向HDFS的DataNode获取数据和任务,如果在同一机台,获取的速度会很快,大大提高了性能。

4、Yarn的资源分配方式

(1)FIFO Scheduler 先来先得,问题:没有考虑任务的优先级
(2)Capacity Scheduler:容器管理的调度规则,允许多个组织共享集群的资源
(3)Fair Scheduler:公平调度原则,假设:任务具有相同的优先级,平均分配系统的资源。如果加入权重,那么会根据权重的占比来进行分配。
【hadoop】hadoop的体系架构,hadoop,hadoop,架构,大数据

HBase

HBase:基于HDFS之上的NoSQL数据库
1、HMaster:主节点
2、RegionServer:从节点
3、ZooKeeper:当成“数据库”

【hadoop】hadoop的体系架构,hadoop,hadoop,架构,大数据

主从架构的单点故障的问题

主从架构的单点故障的问题,需要实现HA(High Availablity高可用性)

【hadoop】hadoop的体系架构,hadoop,hadoop,架构,大数据
HA(高可用性)核心思想:多几个主节点,但只有一个主节点处于Active状态,其他的主节点处于StandBy,一旦处于Active的主节点损坏,那么可以借助ZooKeeper激活另外的主节点。文章来源地址https://www.toymoban.com/news/detail-592359.html

到了这里,关于【hadoop】hadoop的体系架构的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 大数据之路—数据架构体系及模型设计

    一、阿里巴巴数据整合及管理体系 实施工作流: 1、划分数据域 :根据业务过程抽象出数据域。 2、构建总线矩阵 :明确每个数据域下有哪些业务过程,业务过程与哪些维度相关,并定义每个数据域下的业务过程和维度。 3、规范定义 :定义度量/原子指标、修饰类型、修饰

    2024年02月06日
    浏览(36)
  • 银行数据仓库体系实践(2)--系统架构

            UML对系统架构的定义是:系统的组织结构,包括系统分解的组成部分,它们的关联性,交互,机制和指导原则,例如对系统群就是定义各子系统的功能和职责,如贷款系统群可能分为进件申请、核额、交易账务、贷后管理、管理台等子系统,对于系统就是定义各模

    2024年01月18日
    浏览(47)
  • 大数据Flink(五十五):Flink架构体系

    文章目录 Flink架构体系 一、 Flink中的重要角色 二、Flink数据流编程模型

    2024年02月14日
    浏览(49)
  • 数字孪生技术结合大数据创建智慧城市体系架构

    全球物联网、5G、人工智能技术、自动驾驶、虚拟现实技术、深度学习等技术研发和产业发展加速提升,刮起数字化网络化智能化新一轮的浪潮。同时,智慧城市实施过程持续加速,实施內容不断深入,其发展核心理念、推动方式和技术性管理体系不断创新和演变,建设虚拟

    2024年02月02日
    浏览(51)
  • 大数据之路书摘:走近大数据——从阿里巴巴学习大数据系统体系架构

    在大数据时代,人们比以往任何时候更能收集到更丰富的数据。但是如果不能对这些数据进行有序、有结构地分类组织和存储,如果不能有效利用并发掘它,继而产生价值,那么它同时也成为一场“灾难”。无序、无结构的数据犹如堆积如山的垃圾,给企业带来的是令人咋舌

    2024年02月09日
    浏览(49)
  • 一文看懂大数据生态圈完整知识体系【大数据技术及架构图解实战派】

    一文看懂大数据生态圈完整知识体系 徐葳 随着大数据行业的发展,大数据生态圈中相关的技术也在一直迭代进步 ,作者有幸亲身经历了国内大数据行业从零到一的发展历程,通过本文希望能够帮助大家快速构建大数据生态圈完整知识体系。 目前大数据生态圈中的核心技术

    2024年02月11日
    浏览(47)
  • 【大数据&AI人工智能】企业级大数据产品体系技术架构白皮书

    目录 以 One Data 为内核,“快”、“准”、“全”、“统”、“通”的智能大数据体系  DataWorks 产品架构

    2023年04月08日
    浏览(88)
  • 大数据处理架构Hadoop

    Hadoop是Apache软件基金会旗下的一个 开源分布式计算平台 ,为用户提供了系统底层细节透明的分布式基础架构 Hadoop是 基于Java语言开发 的,具有很好的跨平台特性,并且可以部署在廉价的计算机集群中 Hadoop的核心是 分布式文件系统HDFS(Hadoop Distributed File System)和MapReduce Ha

    2024年02月09日
    浏览(34)
  • 大数据系统架构-Hadoop生态系统

    Hadoop是较早用于处理大数据集合的分布式存储计算基础架构,通过Hadoop,用户可以在不了解分布式底层细节的情况下,开发分布式程序,充分利用集群的为例执行告诉运算和存储。简单来说,Hadoop是一个平台,在它之上,可以更容易地开发和运行大规模数据的软件。 Hadoop体系

    2023年04月27日
    浏览(38)
  • 【云计算与大数据技术】大数据系统总体架构概述(Hadoop+MapReduce )

    企业级大数据应用框架需要满足业务的需求,一是要求能够满足基于数据容量大,数据类型多,数据流通快的大数据基本处理需求,能够支持大数据的采集,存储,处理和分析,二是要能够满足企业级应用在可用性,可靠性,可扩展性,容错性,安全性和隐私性等方面的基本

    2024年02月09日
    浏览(48)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包