`
eric_weitm
  • 浏览: 242759 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

hdfs 概述

 
阅读更多

hdfs 

简单说是分布式的文件系统 

 

一、hdfs的角色划分

client:分block

NameNode:是Master节点。管理数据块映射;处理客户端的读写请求;配置副本策略;管理HDFS的名称空间;

SecondaryNameNode:是一个小弟,分担大哥namenode的工作量;是NameNode的冷备份;合并fsimage和fsedits然后再发给namenode。

DataNode:Slave节点,干活的。负责存储client发来的数据块block;执行数据块的读写操作。

fsimage:元数据镜像文件(文件系统的目录树。)

edits:元数据的操作日志(针对文件系统做的修改操作记录)

fsimage+edits 类比数据库中的数据表和日志表

namenode内存中存储的是fsimage+edits。

 

SecondaryNameNode默认1小时,从namenode上,获取fsimage和edits来进行合并,然后再发送给namenode。减少namenode的工作量。

 

二、启动过程

http://blog.csdn.net/amber_amber/article/details/38268407

1、namenode

1》Server成员的构造(用于RCP)

2》FSNameSystem的构造 

核心数据结构包括:

l  blocksMap:map,保存数据块block相关的映射关系,包括文件与块,块与datanode的映射等。

l  curruptReplicasMap:保存所有损坏的块,所有副本都损坏。

l  datanodeMap:曾近连接过的所有的datanode,是全集。

l  recentInvalidateSets:最近失效的block。

l  excessReplicateMap:机器与机器上多余的block的映射,这些block等待被删除。

l  Heartbeats:当前发送心跳包的datanode,也就是alive的datanode。

FSDirectory对象:这里存放着文件系统的层次结构。

 

过程:初始化blocksMap等数据结构,加载fsimage文件到类FSImage中,读取edits文件,利用fsimage和edits构造文件系统层次结构。

 

 

3》启动后台守护进程

l  PendingReplicaitonBlocks$PendingReplicationMonitor: 监控block的copy过程

l  FSNamesystem$HeartbeatMonitor,心跳包的检测

l  FSNamesystem$ReplicationMonitor: 监控复本数量,如果不足,就copy。

l  LeaseManager$Monitor:控制写请求,文件不能同时多人写。

l  DecommissionManager$Monitor:处理数据节点的退役

 

2、启动datanode

 

1》获取并设置各种配置信息,整理自己的block信息并进行封装

2》从namenode获取namespaceID, version以及StorageID等信息

3》datanode向namenode注册。

向namenode发送服务地址,信息查询端口,客户端访问端口以及datanodeID等,还包括block_report块数据;FSNameSystem先验证该datanode是否被允许挂载(通过dfs.hosts列表验证),然后把datanode数据映射到元数据中,这里主要是获取block_report块与datanode的映射关系,添加到BlocksMap中[hx1] ,然后再把这个datanode添加到heartsbeats中进行监控。

 

4》启动datanode线程。周期性向namenode发送block_Report和heartbeats,同时接受namenode的指令。

3、Secondary namenode的启动

注册到namenode,并且从namenode同步当前的fsimage,edits等文件信息;启动secondary namenode上用于轮训的进程,定期执行检查点的创建操作。

 

 

三、写操作的流程

http://www.cnblogs.com/laov/p/3434917.html

1、client通知namenode,获得datanodes

2、具体写每个block和package(内部复制)

3、写别的block

4、通知nn结束

分享到:
评论

相关推荐

    7_尚硅谷大数据之HDFS概述1

    HDFS 概述及架构 HDFS(Hadoop Distributed File System)是一种分布式文件管理系统,用于存储和管理大规模数据。HDFS 的产生背景是随着数据量的增加,单个操作系统无法存储和管理所有数据,需要分布式文件管理系统...

    第一章 HDFS概述.pptx

    随着数据量越来越大,在一个操作系统存不下所有的数据,那么就分配到更多的操作系统管理的磁盘中,但是不方便管理和维护,迫切需要一种系统来管理多台机器上的文件,这就是...HDFS只是分布式文件管理系统中的一种。

    【1】HDFS概述

    【1】HDFS概述 HDFS,全称Hadoop Distributed File System,是为解决大数据存储问题而诞生的分布式文件系统。随着互联网的发展,数据量呈现爆炸性增长,单个操作系统无法容纳并有效管理如此庞大的数据。因此,人们...

    hdfs源码.zip

    1.1 HDFS概述 1 1.1.1 HDFS体系结构 1 1.1.2 HDFS基本概念 2 1.2 HDFS通信协议 4 1.2.1 Hadoop RPC接口 4 1.2.2 流式接口 20 1.3 HDFS主要流程 22 1.3.1 HDFS客户端读流程 22 1.3.2 HDFS客户端写流程...

    第2讲_分布式文件系统HDFS.pdf

    HDFS概述与架构 HDFS(Hadoop Distributed File System)是Apache Hadoop的核心子项目,基于Google File System论文,旨在解决大规模数据存储问题。它是一个分布式文件系统,能够处理大量数据的存储和处理需求。 ...

    利用javaAPI访问HDFS的文件

    #### 一、HDFS概述 Hadoop Distributed File System(HDFS)是Apache Hadoop项目的核心组件之一,它为海量数据提供了高吞吐量的数据访问,非常适合大规模数据集的应用场景。HDFS被设计成适合运行在商用硬件上,因此...

    数据存储实验2-熟悉常用的HDFS操作.doc(实验报告)

    HDFS概述 HDFS是Hadoop生态系统中的分布式文件系统,旨在提供高可扩展性、可靠性和高性能的数据存储解决方案。HDFS具有以下特点: * 分布式存储:HDFS将数据存储在多个节点上,从而提供了高可扩展性和可靠性。 * ...

    实验手册_HDFS.docx

    一、HDFS 概述 HDFS(Hadoop Distributed File System)是 Hadoop 平台的核心组成之一。它是一个分布式文件系统,能够存储大量的数据,并提供高可靠性和高性能的数据访问。 二、HDFS 的访问方式 HDFS 的访问方式...

    HDFS的ssh操作.docx

    #### 一、HDFS概述 **1.1 HDFS产出背景及定义** HDFS(Hadoop Distributed File System),即Hadoop分布式文件系统,是为了解决大规模数据处理的问题而设计的一种分布式文件系统。HDFS能够支持超大数据集的存储,...

    HDFS_维护手册

    1.HDFS 概述 HDFS 是 Hadoop 应用程序中使用的主要分布式存储系统。它由一个 Namenode 和多个 Datanode 组成,负责管理文件系统的元数据和存储实际的数据。Namenode 负责管理文件系统的元数据,而 Datanode 负责...

    分布式文件系统和HDFS那点事

    #### 一、HDFS概述 HDFS(Hadoop Distributed File System)是Hadoop项目的核心组成部分之一,旨在提供一种高吞吐量的访问方式来存储大量的数据集,特别适合运行在由廉价商用硬件组成的大型集群上。HDFS的设计目标...

    HDFS原理介绍

    #### 一、HDFS概述与特性 **Hadoop Distributed File System (HDFS)** 是Hadoop项目的核心之一,专为大规模数据集设计。它具有以下几个显著特点: 1. **副本机制与容错性:** - HDFS能够自动保存数据的多个副本,...

    hdfs,hbase命令原理介绍

    #### HDFS 概述 HDFS(Hadoop Distributed File System)是一种专为大规模数据处理设计的分布式文件系统。它具有高度容错性、可扩展性和高吞吐率等特点,非常适合存储和处理大规模数据集。 #### HDFS 的优势 1. **...

    Hadoop平台技术 模块2 分布式文件系统HDFS-单元设计.docx

    本模块共分为三个教学单元,分别是HDFS概述、HDFS Shell基本操作和HDFS Java API应用,总计10学时。 **教学单元1:HDFS概述(2课时)** 在这一单元,首先介绍了HDFS的基本概念,包括其设计目的和主要特性。HDFS是一...

    HDFS的概念-HDFS联盟.pdf

    **HDFS概述** HDFS(Hadoop Distributed File System)是Apache Hadoop项目的核心组件,它是一种分布式文件系统,设计用于处理大规模数据集。HDFS基于谷歌的GFS(Google File System)理念,旨在提供高容错性和高...

    HDFS文件系统

    #### 一、HDFS概述与分布式文件系统概念 Hadoop分布式文件系统(HDFS)作为Hadoop项目的核心组成部分之一,它为海量数据提供了高吞吐量的数据访问,非常适合大规模数据集的处理。HDFS的设计目标是在商用硬件上实现...

    Hadoop_HDFS安装和管理

    #### 一、Hadoop HDFS概述 Hadoop是一种分布式计算框架,主要用于处理大规模数据集。它由多个组件组成,其中最核心的是Hadoop Distributed File System (HDFS) 和 MapReduce。HDFS是一个高度可扩展的文件系统,用于...

    HDFS应用场景、原理、基本架构及使用方法

    #### 一、HDFS概述 **HDFS**,即 **Hadoop Distributed File System**,是一种面向大规模数据处理的分布式文件系统,它源自于Google的GFS论文。该论文发表于2003年10月,HDFS作为GFS的一个开源克隆版,继承了GFS的...

Global site tag (gtag.js) - Google Analytics