`
jessezhang1981
  • 浏览: 41352 次
  • 性别: Icon_minigender_1
  • 来自: 深圳
社区版块
存档分类
最新评论

HDFS系统学习笔记

 
阅读更多

 

HDFS系统

1.  读数据流程

 


 

 客户端开始读取,打开FS,首先从NameNode获取元数据(返回的元数据包括数据块的定义及位置,是否几个副本的位置也同时返回了?),然后根据元数据从各数据节点读取数据,其中数据节点的选择采取就近原则

问题:读取过程中一个datanode挂掉了,会怎么样?

如果在与datanode通讯时遇到问题,则会寻找最邻近的一个datanode,同时会记住这个故障datanode,保证以后不会重复提取这个节点后续的块。

该机制中,namenode最关键,但其存储的数据量小、功能单一,相对稳定。

 

2. 网络拓扑规则



 

将两节点的带宽作为距离的衡量标准。

几个层面:同一机器之间:n1;不同机器之间 d1,不同机架之前:r1;不同数据中心之间d1

目前hadoop对不同数据中心的支持仍然不是很好。

网络拓扑,根据距离,按照树节点的层级关系进行选择节点。

 

3.  写数据流程



 

namenode获取到分配的datanode,然后根据获取的列表,由数据队列和确认队列来逐个写数据。

1datanode发给第2datanode,第2datanode发给第3datanode。。。

确认队列用于确认所有都正常写入后,从队列中清除数据。

如果写入过程中出现问题,则关闭管线,确认队列中所有的数据包都添加到队列的最前端,保证故障节点的下游datanode不会漏掉任何一个数据包。

确定一个新的datanode,并从管线中删除故障节点。

 

4.   复本存储规则



 

默认策略是:在客户端的节点放置第一个datanode,如果客户端在集群之外,则随机选择一个节点,不过系统会避免挑选存储太慢或者太忙的节点。

2个副本会放在与第1个机架不同且随机选择一个节点(离架),第3个副本和第2个副本放在相同的机架上,且随机选择一个节点。

其他的副本放在集群中随机选择的节点上,不过系统尽量避免在相同的机架上放太多副本。

这种方法,提供稳定性(数据存储在两个机架上)并实现很好的负载均衡,包括写入带宽(写入操作只需要遍历一个交换机)、读取性能(可以从两个机架中选择读取)和集群中块的均匀分布(客户端只在本地机架写入一个块)

 

5.  HDFS的其他工具

Distcp:批量复制

Archive:存档

 

-------------------------------------------------------------------------------------------------------------------

 

作者:CNZQS|JesseZhang  个人博客:CNZQS(http://www.cnzqs.com)

版权声明:除非注明,文章均为原创,可以任意转载,转载时请务必以超链接形式标明文章原始出处和作者信息及本声明 

--------------------------------------------------------------------------------------------------------------------

  • 大小: 65.9 KB
  • 大小: 44.4 KB
  • 大小: 68.8 KB
  • 大小: 21.6 KB
分享到:
评论

相关推荐

    Talend学习笔记2——mysql文件导入到HDFS

    ### Talend学习笔记2——mysql文件导入到HDFS #### 关键知识点概览 - **Talend Data Integration** - **MySQL 数据库** - **Hadoop 和 HDFS(Hadoop Distributed File System)** #### 详细知识点说明 ##### 1. ...

    hadoop学习笔记(hdfs,mapreduce,yarn)

    压缩文件中包含了Hadoop生态系统、体系架构及特点,三大基本组件HDFS,MapReduce,YARN的学习笔记,文件为Markdown格式,进行了详细功能介绍说明,可以帮助大家学习hadoop的三大组件或者作为一份详细资料备份,帮助...

    Hadoop学习文档笔记,基本原理 HDFS

    它的核心组件包括Hadoop分布式文件系统(HDFS)和MapReduce计算模型。本文将深入探讨HDFS的基本原理和操作,以及如何通过Java API进行文件操作。 Hadoop分布式文件系统(HDFS)是Google文件系统(GFS)的一种实现,...

    Hadoop学习笔记(一):HDFS分布式文件系统(从环境搭建到Java API)-附件资源

    Hadoop学习笔记(一):HDFS分布式文件系统(从环境搭建到Java API)-附件资源

    最新Hadoop学习笔记

    **Hadoop学习笔记详解** Hadoop是一个开源的分布式计算框架,由Apache基金会开发,主要用于处理和存储海量数据。它的核心组件包括HDFS(Hadoop Distributed File System)和MapReduce,两者构成了大数据处理的基础...

    大数据学习笔记

    大数据学习笔记 本资源摘要信息涵盖了大数据领域中的多个方面,包括Hadoop、HBase、Sqoop、Spark和Hive等技术栈。下面将对这些技术栈进行详细的解释和分析。 一、HDFS架构详尽分析 HDFS(Hadoop Distributed File...

    操作系统天大学习笔记【全】

    这份"操作系统天大学习笔记【全】"涵盖了操作系统的基本概念、设计原则、功能以及实现技术,旨在帮助读者构建全面的操作系统知识体系。 首先,操作系统(Operating System,简称OS)是管理计算机硬件与软件资源的...

    hadoop学习笔记.rar

    《Hadoop学习笔记详解》 Hadoop,作为大数据处理领域中的核心框架,是Apache软件基金会下的一个开源项目,主要用于分布式存储和并行计算。本文将根据提供的Hadoop学习笔记,深入解析Hadoop的关键概念和实战技巧,...

    HADOOP学习笔记

    【HADOOP学习笔记】 Hadoop是Apache基金会开发的一个开源分布式计算框架,是云计算领域的重要组成部分,尤其在大数据处理方面有着广泛的应用。本学习笔记将深入探讨Hadoop的核心组件、架构以及如何搭建云计算平台。...

    自己的学习笔记ppt

    根据提供的文件信息,我们可以推断出这是一份关于Hadoop分布式文件系统(HDFS)的学习笔记。接下来将基于这些信息,详细阐述HDFS的核心概念、架构以及读写操作流程。 ### Hadoop概述 Hadoop是一个开源软件框架,...

    Hadoop学习笔记整理

    "Hadoop学习笔记整理" 本篇笔记对Hadoop进行了系统的介绍和总结,从大数据的基本流程到Hadoop的发展史、特性、集群整体概述、配置文件、HDFS分布式文件系统等方面都进行了详细的讲解。 一、大数据分析的基本流程 ...

    学习笔记zzzzz.zip

    压缩包内的“学习笔记”可能包括以下内容:Hadoop安装与配置教程,HDFS的基本操作和管理,MapReduce编程模型的实例解析,Hadoop集群的优化策略,以及YARN、HBase、Hive和Pig的使用方法等。这些笔记可以帮助读者深入...

    Hadoop学习笔记

    这个“Hadoop学习笔记”涵盖了Hadoop生态系统中的核心组件,包括HDFS(Hadoop分布式文件系统)、HBase(一个分布式、列式存储的数据库)、Hive(数据仓库工具)以及Spark(一个快速、通用且可扩展的数据处理引擎)。...

    Hadoop学习笔记(二)Hadoop 分布式文件系统 HDFS:1.HDFS基础

    HDFS客户端操作(开发重点) 1. HDFS客户端环境准备 1.1、请参考文章: Windows10下搭建eclipse开发hadoop的开发环境 其中的第一至四步骤。 1.2、请参考文章: maven的安装、路径配置、修改库文件路径和eclipse中的...

    3.Hadoop学习笔记.pdf

    1. HDFS(Hadoop Distributed File System):这是一个高度容错的系统,设计用来运行在廉价的硬件上。HDFS具有高吞吐量的特点,适合于有大量数据的应用程序。HDFS将数据存储为一系列的块,这些块默认大小为128MB,...

    Hadoop,SPRK开发学习笔记

    本文将围绕“Hadoop,SPARK开发学习笔记”这一主题,深入探讨Hadoop的组件HDFS(分布式文件系统)、HBase(分布式数据库)和Hive(数据仓库工具),以及Spark的核心特性与开发实践。 首先,Hadoop是Apache基金会的...

Global site tag (gtag.js) - Google Analytics