本文是官方文档的翻译 本文固定链接是:https://www.askmac.cn/archives/hadoop-hdfs-user-guide.html
原文链接:http://hadoop.apache.org/docs/r2.7.1/hadoop-project-dist/hadoop-hdfs/HdfsUserGuide.html
1.目的
这个文档的出发点是为了那些使用HDFS的用户,不管是集群环境或者是作为独立的通用分布式文件系统。当在许多环境中使用HDFS时,HDFS的工作知识帮助对一个特定的群集上的配置进行改进和诊断
2.综述:
HDFS是Hadoop应用程序使用的主要分布式存储。一个HDFS集群只要包括一个NameNode 来管理文件系统的元数据,dataNode来存储实际数据。HDFS构架指导详细的描述了HDFS。这个用户指导主要用于处理HDFS集群中的用户和管理者的交互。HDFS构架图标描述了NameNode,DataNode和客户端之间的基本交互。客户端为了文件远数据或者修改文件描述而联系nameNode,直接通过DataNode来执行实际的文件I/O。
下面的一些特征,很多用户可能会感兴趣。
- Hadoop,包括HDFS,非常适用于使用标准硬件来进行分布式存储和分布式处理。它是容错的,可扩展的,并且扩展非常简单。分布式计算(MapReduce),众所周知,它非常简单的适用于大型分布式应用程序,它是hadoop的一个组成部分。
- HDFS是高度可配置的,作为默认的配置对于很多安装来说是非常合适的。大多数时候,仅仅对于大型集群需要对配置进行调整。
- Hadoop是JAVA写的,支持所有的平台。
- Hadoop支持类型shell的命令来直接和HDFS进行交互。
- NameNode和Datanode内置web服务器,这样便于检查集群当前状态。
- 在HDFS中会定期的实施新特性和改进。以下是HDFS的一个有用功能的子集:
.文件权限和验证。
. 构架意识(rack awareness):在调度任务和分配存储时,将节点的物理位置考虑在内。
.安全模块(safemode):一个维护的管理模块。
.fsck:一个诊断文件系统健康的工具,用来找出丢失的文件或块。
.fetchd:一个获得Delegation token的工具,并且存储到本地文件系统的一个文件中。
.平衡(blancer):当DataNodes中的数据是不均衡分布时,一个平衡集群的工具。
.第二个 NameNode(secondary namenode):执行定期的命名空间检查点,并且在NameNode中,有助于保持HDFS修改日志文件大小在一定限额内。
.检查点节点(checkpoint node): 执行定期的命名空间检查点,并且在NameNode中,有助于保持HDFS修改日志的最小的大小。以往这个角色由secondary namenode所替代,虽然它还没有被增强。NameNode允许同时多个检查点节点,只要没有备份的节点注册到系统中。
.备份节点(backup node):检查点节点的延伸。除此之外,它也从NameNode接受编辑流,并且维护自己再命名空间的内存副本,其总是与活跃的NameNode命名空间状态一致。只有一个备份节点可以与NameNode进行一次注册。