文档章节

什么是 HDFS

G
 Garphy
发布于 10/23 13:07
字数 638
阅读 18
收藏 0

是什么?

HDFS 是基于 Java 的分布式文件系统,允许您在 Hadoop 集群中的多个节点上存储大量数据。

起源:

单机容量往往无法存储大量数据,需要跨机器存储。统一管理分布在集群上的文件系统称为分布式文件系统。而一旦在系统中,引入网络,就不可避免地引入了所有网络编程的复杂性,例如挑战之一是如果保证在节点不可用的时候——数据不丢失。

核心概念:

 

Block:

HDFS中的存储单元是每个数据块block,HDFS默认的最基本的存储单位是64M的数据块。和普通的文件系统相同的是,HDFS中的文件也是被分成64M一块的数据块存储的。不同的是,在HDFS中,如果一个文件大小 < 一个数据块的大小,它是不需要占用整个数据块的存储空间的。

 

 

NameNode:

            a. 元数据节点。该节点用来管理文件系统中的命名空间,是 master。其将所有的文件和文件夹的元数据保存在一个文件系统树中,

            b. 这些信息在硬盘上保存为了:命名空间镜像(namespace image)以及修改日志(edit log)。

            c. 此外,NameNode还保存了一个文件包括哪些数据块,分布在哪些数据节点上。然而,这些信息不存放在硬盘上,而是在系统启动的时候从数据节点(datanode)收集而成的。

 

DataNode:数据节点。是HDFS真正存储数据的地方。客户端(client)和元数据节点(NameNode)可以向数据节点请求写入或者读出数据块。此外,DataNode需要周期性的向元数据节点汇报其存储的数据块信息。

 

Secondary NameNode:

从元数据节点并不是 NameNode 出现问题时候的备用节点,

a. 它的主要功能是周期性的将 NameNode 中的 namespace image 和 edit log 合并,以防 log 文件过大。

b. 此外,合并过后的 namespace image 文件也会在 Secondary NameNode 上保存一份,以防 NameNode 失败的时候,可以恢复。

 

 

© 著作权归作者所有

G
粉丝 0
博文 198
码字总数 83960
作品 0
私信 提问
MongoDB与HDFS的关系是怎样的

MongoDB与HDFS的关系是怎样的?不要说MongoDB是架于HDFS之上,这个是知道的,关键是它们是怎样协作的这个细节能否讲清楚,因为HDFS不是解决了存储问题吗?那么MongoDB还要用来存什么?与HDFS已...

黄华仔
2012/09/07
3.6K
3
关于hdfs-site.xml配置的问题求解,希望能够看一下,谢谢。

为什么我在HDFS服务器端也就是HDFS集群上配置的hdfs-site.xml的dfs.blocksize的大小不起作用,而在HDFS客户端配置的起作用?那么这样子的话集群上的配置有什么意义?...

木落子如
2017/02/28
430
3
大数据学习~Hadoop初识一

今天趁着端午节的最后一天假期,把想看的视频看了下。也走了一遍Hadoop的安装步骤。总的来说流程也明白了很多。这次文章简单的介绍知识点。具体安装步骤大家可以先看网上的。后面有时间的时候...

super糖
2018/06/18
0
0
零基础学习hadoop到上手工作线路指导(中级篇)

此篇是在零基础学习hadoop到上手工作线路指导(初级篇)的基础,一个继续总结。 五一假期:在写点内容,也算是总结。上面我们会了基本的编程,我们需要对hadoop有一个更深的理解: hadoop分为...

一枚Sir
2014/08/07
145
0
HDFS 主要用处是什么 --两个凡是

没有太明白 HDFS主要解决什么问题 如果文件分开在不同机器上存储, 和HDFS相比, 优缺点分别是什么?

宏哥
2016/03/23
439
5

没有更多内容

加载失败,请刷新页面

加载更多

BigDecimal 去后面无用的0的方法

BigDecimal a=new BigDecimal("0.1000"); System.out.println(a.stripTrailingZeros().toPlainString());...

xiaodong16
14分钟前
4
0
JAVA--高级基础开发

[集合版双色球] 十二、双色球规则:双色球每注投注号码由6个红色球号码和1个蓝色球号码组成。红色球号码从1—33中选择;蓝色球号码从1—16中选择;请随机生成一注双色球号码。(要求同色号码...

李文杰-yaya
昨天
14
0
聊聊rocketmq broker的CONSUMER_SEND_MSG_BACK

序 本文主要研究一下rocketmq broker的CONSUMER_SEND_MSG_BACK CONSUMER_SEND_MSG_BACK rocketmq/common/src/main/java/org/apache/rocketmq/common/protocol/RequestCode.java public class......

go4it
昨天
3
0
API常见接口(下)

system类 StringBuilder和StringBuffer 包装类 1.System类 (java.lang包中) 提供了大量的静态方法,可以获取与系统相关的信息或系统级操作。 常用方法: public static long currentTimeMi...

Firefly-
昨天
4
0
MySQL系列:一句SQL,MySQL是怎么工作的?

对于MySQL而言,其实分为客户端与服务端。 服务端,就是MySQL应用,当我们使用net start mysql命令启动的服务,其实就是启动了MySQL的服务端。 客户端,负责发送请求到服务端并从服务端获取数...

杨小格子
昨天
5
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部