01 | 架构 |
---|
HDFS架构包含一个NameNode、DataNode和备用NameNode。
HDFS具有主/从架构。
NameNode:
HDFS集群包含单个NameNode(主服务器),它管理文件系统命名空间并控制客户端对文件的访问权限。它维护和管理文件系统元数据;例如由哪些块构成文件,以及存储这些块的数据节点。
DataNode:
可以有多个DataNode,通常是集群中每个节点有一个DataNode,它负责管理运行节点的存储访问。HDFS中的DataNode存储实际数据,可以添加更多的DataNode来增加可用空间。
备用NameNode :
备用NameNode服务并非真正的备用NameNode,尽管名称是称为备用NameNode。具体来说,它并不为NameNode提供高可用性(HA)。
02 | 为什么需要备用NameNode |
---|
备用NameNode记录文件系统的修改痕迹,追加到本机文件系统文件的后面,作为修改日志。
备用NameNode定期合并fsimage和“编辑日志文件”,并将“编辑日志文件”的大小保持在限定范围内。
备用NameNode通常在与主NameNode不同的计算机上运行,因为它的内存要求与主NameNode的相同。
03 | 关键特征 |
---|
容错:
为了防止机器故障,可跨多个DataNode复制容错数据,复制因子的默认值是3(如果有3个DataNode,每个块至少存储在三台计算机上)。
可伸缩性:
DataNode之间可实现直接数据传输,所以读/写次数应与DataNode的数量相匹配。
空间:
需要更多的磁盘空间?只需添加更多DataNodes和再平衡。
行业标准:
他分布式应用程序均构建在HDFS之上(HBASE,Map-Reduction)。