天天看点

大数据开发面试干货——Hadoop分布式文件系统:HDFS

作者:积极的像风一样自由

很多人不知道,大数据与Hadoop、HDFS有什么关系。

Hadoop是一个开源的大数据分析软件,Hadoop的框架最核心的设计就是:HDFS和MapReduce。其中HDFS为海量的数据提供了存储,MapReduce为海量的数据提供了计算。

大数据开发面试干货——Hadoop分布式文件系统:HDFS

HDFS(Hadoop分布式文件系统,Hadoop Distributed File System)是一个高度容错性的系统,适合部署在廉价的机器上,能提供高吞吐量的数据访问,非常适合大规模数据集上的应用。

HDFS 适用场景:大文件存储、流式数据访问。 HDFS 不适用场景:大量小文件、随机读写、低延迟读写(实时读写)、经常需要修改;

HDFS采用了主从(Master/Slave)结构模型:一个HDFS集群是由一个NameNode和若干个DataNode组成的。

大数据开发面试干货——Hadoop分布式文件系统:HDFS

主节点NameNode:管理读写请求(不是执行读写请求),管理命名空间,支持 HA 高可靠机制,管理元数据。

从节点DataNode:执行读写请求,存储数据库(存放真实数据),运行多个实例,周期性上报数据块信息给NameNode。

HDFS 的 Block:默认保存3份;数据块大小:128MB。Block 越大,寻址开销越小,开销越小越好。

HDFS 的shell 命令:删除(-rm),上传(-put),下载(-get),查看文件内容(-cat),查看目录(-ls),创建目录(-mkdir)。

HDFS 应对单点故障措施:采用主、备NameNode 机制,用于故障恢复,和是否有数据副本无关。

大数据开发面试干货——Hadoop分布式文件系统:HDFS

继续阅读