分布式文件系统之Hdfs是什么?

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接: https://blog.csdn.net/qq_41946557/article/details/102753444

Hdfs

概念:

Hadoop 实现了一个分布式文件系统(Hadoop Distributed File System),简称HDFS。 Hadoop是Apache Lucene创始人Doug Cutting开发的使用广泛的文本搜索库。它起源于Apache Nutch,后者是一个开源的网络搜索引擎,本身也是Luene项目的一部分。Aapche Hadoop架构是MapReduce算法的一种开源应用,是Google开创其帝国的重要基石。

架构设计:

采用了主从(Master/Slave)结构模型,一个HDFS集群是由一个NameNode和若干个DataNode组成的。其中NameNode作为主服务器,管理文件系统的命名空间和客户端对文件的访问操作;集群中的DataNode管理存储的数据。

 

部署方式:

  1. 分布式搭建

~单台服务器上运行多个进程(角色). 一般学习Hadoop时常用这种模式.  

~角色NameNode – 掌控全局SecondaryNameNode – 持久化DataNode – 存储数据

 

 

 

  1. 完全分布式搭建

~工作中应该使用的模式, 不同角色运行在不同的服务器上.

~角色1/NameNode2/SecondaryNameNode3/DataNode * 3 (两个副本)

 

 

  1. 高可用(High Available)模式

  

~虽然完全分布式是在实际工作中使用的模式, 但它并不是可靠的. 原因很简单, 就是集群会发生单点故障, 如果namenode节点故障, 挂掉后, 那么这么集群就不可用, 不能被外部访问. 因此, 一般都会对集群做HA.

角色1/NameNode(active)2/NameNode(standby)3/DataNode4/Zookeeper(ZK)

5/JournalNode(JNN)6/ZookeeperFailoverController(ZKFC)

 

 

使用方法:

我所认为的使用方法,也就是说整个分布式文件系统的核心——读写流程。

读流程:

 

写流程:

 

应用场景:

  1.  HDFS不适合大量小文件的存储,
  2. HDFS适用于高吞吐量,而不适合低时间延迟的访问
  3. 流式读取的方式,不适合多用户写入一个文件(一个文件同时只能被一个客户端写)以及任意位置写入(不支持随机写),支持文件尾部apend操作,或者文件的覆盖操作;
  4. HDFS更加适合写入一次,读取多次的应用场景

猜你喜欢

转载自blog.csdn.net/qq_41946557/article/details/102753444