公司java新人问我HDFS是什么?解释完当即表示要请我吃饭

栏目: 服务器 · 发布时间: 6年前

内容简介:公司java新人问我HDFS是什么?解释完当即表示要请我吃饭

干了半年Hadoop开发,前几天公司来了个 java 新人。小伙子对Hadoop大数据感兴趣,问我什么是HDFS分布式文件系统?我想有疑问的不只是他一个java开发,今天就简单的给大家介绍一下什么是HDFS。

1.HDFS体系架构

HDFS是一个主/从(Master/Slave)体系架构,由于分布式存储的性质,集群拥有两类节点NameNode和DataNode。

NameNode(名字节点):系统中通常只有一个,中心服务器的角色,管理存储和检索多个DataNode的实际数据所需的所有元数据。

DataNode(数据节点):系统中通常有多个,是文件系统中真正存储数据的地方,在NameNode统一调度下进行数据块的创建、删除和复制。

公司java新人问我HDFS是什么?解释完当即表示要请我吃饭

图中的Client是HDFS的客户端,是应用程序可通过该模块与NameNode和DataNode进行交互,进行文件的读写操作。

对于刚开始接触Hadoop的同学,不建议直接看书自学。我最初就是自己啃书但是学的很费劲,没有目标不知道实际工作中需要什么。

后来在论坛了认识了摆渡的孙哥,他给了我一套视频, 内容很详细的,有基础入门,生态圈,真实案例 我也是看了视频以后才慢慢入的门,到学会Hadoop。

计划学Hadoop的同学可以跟孙哥的小跟班 ganshiyun666,要这套视频的最新版,这个是徽亻言,注明 :一点

2.HDFS特点

HDFS专为解决大数据存储问题而产生的,其具备了以下特点:

1) HDFS文件系统可存储超大文件

HDFS是一种文件系统,自身也有块(block)的概念,其文件块要比普通单一磁盘上文件系统大的多,默认是64MB。

HDFS上的块之所以设计的如此之大,其目的是为了最小化寻址开销。

HDFS文件的大小可以大于网络中任意一个磁盘的容量,文件的所有块并不需要存储在一个磁盘上,因此可以利用集群上任意一个磁盘进行存储,由于具备这种分布式存储的逻辑,所以可以存储超大的文件,通常G、T、P级别。

(java开发,java开发,java开发,java开发,java开发,java开发,java开发,java开发,java开发,java开发)

2)一次写入,多次读取

一个文件经过创建、写入和关闭之后就不需要改变,这个假设简化了数据一致性的问题,同时提高数据访问的吞吐量。

3)运行在普通廉价的机器上

Hadoop的设计对硬件要求低,无需昂贵的高可用性机器上,因为在HDFS设计中充分考虑到了数据的可靠性、安全性和高可用性。

公司java新人问我HDFS是什么?解释完当即表示要请我吃饭

3.不适用于 HDFS的场景:

1)低延迟HDFS不适用于实时查询这种对延迟要求高的场景

2)大量小文件

对于Hadoop系统,小文件通常定义为远小于HDFS的block size(默认64MB)的文件,由于每个文件都会产生各自的MetaData元数据,Hadoop通过Namenode来存储这些信息,若小文件过多,容易导致Namenode存储出现瓶颈。

(hadoop开发,hadoop开发,hadoop开发,hadoop开发,hadoop开发,hadoop开发,hadoop开发,hadoop开发,hadoop开发,hadoop开发)

3)多用户更新

为了保证并发性,HDFS需要一次写入多次读取,目前不支持多用户写入,针对有多人写入数据的场景,可以考虑采用Hbase的方案。4)结构化数据

HDFS适合存储半结构化和非结构化数据,若有严格的结构化数据存储场景,也可以考虑采用Hbase的方案。

(java开发,java开发,java开发,java开发,java开发,java开发,java开发)

5)数据量并不大

通常Hadoop适用于TB、PB数据,若待处理的数据只有几十GB的话,不建议使用Hadoop。

以上是从HDFS的结构、特点和不适用的场景做了一点简单解释,希望对大家有帮助。


以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持 码农网

查看所有标签

猜你喜欢:

本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们

Web性能优化

Web性能优化

Patrick Killelea 谢 / 谢文亮 / 清华大学出版社 / 2003-11-01 / 49.00元

本书讲述如何将Web性能调至最佳状态。书中不仅谈到了Web服务器软件的优化,而且还涉及到如何流水化处理Web内容,如何从浏览器端着手优化性能,如何调校客户端和服务器的硬件,以及如何最大限度地使用网络本身的特性。 书中的内容涉及到影响性能好坏的本质,并为得到立竿见影的效果提供了具体建议。本书向您娓娓道出评价计算性能高低的准则,并在后半部分讲述从客户端、网络直到服务器这一链条中每个环节的薄弱之一起来看看 《Web性能优化》 这本书的介绍吧!

RGB转16进制工具
RGB转16进制工具

RGB HEX 互转工具

在线进制转换器
在线进制转换器

各进制数互转换器

UNIX 时间戳转换
UNIX 时间戳转换

UNIX 时间戳转换