HDFS系统
1. 读数据流程
客户端开始读取,打开FS,首先从NameNode获取元数据(返回的元数据包括数据块的定义及位置,是否几个副本的位置也同时返回了?),然后根据元数据从各数据节点读取数据,其中数据节点的选择采取就近原则。
问题:读取过程中一个datanode挂掉了,会怎么样?
如果在与datanode通讯时遇到问题,则会寻找最邻近的一个datanode,同时会记住这个故障datanode,保证以后不会重复提取这个节点后续的块。
该机制中,namenode最关键,但其存储的数据量小、功能单一,相对稳定。
2. 网络拓扑规则
将两节点的带宽作为距离的衡量标准。
几个层面:同一机器之间:n1;不同机器之间 d1,不同机架之前:r1;不同数据中心之间d1
目前hadoop对不同数据中心的支持仍然不是很好。
网络拓扑,根据距离,按照树节点的层级关系进行选择节点。
3. 写数据流程
从namenode获取到分配的datanode,然后根据获取的列表,由数据队列和确认队列来逐个写数据。
第1个datanode发给第2个datanode,第2个datanode发给第3个datanode。。。
确认队列用于确认所有都正常写入后,从队列中清除数据。
如果写入过程中出现问题,则关闭管线,确认队列中所有的数据包都添加到队列的最前端,保证故障节点的下游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 Data Integration** - **MySQL 数据库** - **Hadoop 和 HDFS(Hadoop Distributed File System)** #### 详细知识点说明 ##### 1. ...
压缩文件中包含了Hadoop生态系统、体系架构及特点,三大基本组件HDFS,MapReduce,YARN的学习笔记,文件为Markdown格式,进行了详细功能介绍说明,可以帮助大家学习hadoop的三大组件或者作为一份详细资料备份,帮助...
它的核心组件包括Hadoop分布式文件系统(HDFS)和MapReduce计算模型。本文将深入探讨HDFS的基本原理和操作,以及如何通过Java API进行文件操作。 Hadoop分布式文件系统(HDFS)是Google文件系统(GFS)的一种实现,...
Hadoop学习笔记(一):HDFS分布式文件系统(从环境搭建到Java API)-附件资源
**Hadoop学习笔记详解** Hadoop是一个开源的分布式计算框架,由Apache基金会开发,主要用于处理和存储海量数据。它的核心组件包括HDFS(Hadoop Distributed File System)和MapReduce,两者构成了大数据处理的基础...
大数据学习笔记 本资源摘要信息涵盖了大数据领域中的多个方面,包括Hadoop、HBase、Sqoop、Spark和Hive等技术栈。下面将对这些技术栈进行详细的解释和分析。 一、HDFS架构详尽分析 HDFS(Hadoop Distributed File...
这份"操作系统天大学习笔记【全】"涵盖了操作系统的基本概念、设计原则、功能以及实现技术,旨在帮助读者构建全面的操作系统知识体系。 首先,操作系统(Operating System,简称OS)是管理计算机硬件与软件资源的...
《Hadoop学习笔记详解》 Hadoop,作为大数据处理领域中的核心框架,是Apache软件基金会下的一个开源项目,主要用于分布式存储和并行计算。本文将根据提供的Hadoop学习笔记,深入解析Hadoop的关键概念和实战技巧,...
【HADOOP学习笔记】 Hadoop是Apache基金会开发的一个开源分布式计算框架,是云计算领域的重要组成部分,尤其在大数据处理方面有着广泛的应用。本学习笔记将深入探讨Hadoop的核心组件、架构以及如何搭建云计算平台。...
根据提供的文件信息,我们可以推断出这是一份关于Hadoop分布式文件系统(HDFS)的学习笔记。接下来将基于这些信息,详细阐述HDFS的核心概念、架构以及读写操作流程。 ### Hadoop概述 Hadoop是一个开源软件框架,...
"Hadoop学习笔记整理" 本篇笔记对Hadoop进行了系统的介绍和总结,从大数据的基本流程到Hadoop的发展史、特性、集群整体概述、配置文件、HDFS分布式文件系统等方面都进行了详细的讲解。 一、大数据分析的基本流程 ...
压缩包内的“学习笔记”可能包括以下内容:Hadoop安装与配置教程,HDFS的基本操作和管理,MapReduce编程模型的实例解析,Hadoop集群的优化策略,以及YARN、HBase、Hive和Pig的使用方法等。这些笔记可以帮助读者深入...
这个“Hadoop学习笔记”涵盖了Hadoop生态系统中的核心组件,包括HDFS(Hadoop分布式文件系统)、HBase(一个分布式、列式存储的数据库)、Hive(数据仓库工具)以及Spark(一个快速、通用且可扩展的数据处理引擎)。...
HDFS客户端操作(开发重点) 1. HDFS客户端环境准备 1.1、请参考文章: Windows10下搭建eclipse开发hadoop的开发环境 其中的第一至四步骤。 1.2、请参考文章: maven的安装、路径配置、修改库文件路径和eclipse中的...
1. HDFS(Hadoop Distributed File System):这是一个高度容错的系统,设计用来运行在廉价的硬件上。HDFS具有高吞吐量的特点,适合于有大量数据的应用程序。HDFS将数据存储为一系列的块,这些块默认大小为128MB,...
本文将围绕“Hadoop,SPARK开发学习笔记”这一主题,深入探讨Hadoop的组件HDFS(分布式文件系统)、HBase(分布式数据库)和Hive(数据仓库工具),以及Spark的核心特性与开发实践。 首先,Hadoop是Apache基金会的...