一、总体架构
总体为主从架构:读和写都要先到主节点查元数据,再去访问目标数据节点
二、命名空间管理
HDFS只有一个命名空间,和传统分级文件体一样(像xxx/yyy/zzz/这样)
三、通信协议
1. 客户端与名称节点交互:TCP协议
2. 名称节点与数据节点交互:专门的数据节点协议
3. 客户端与数据节点交互:远程调用RPC
客户端操作HDFS可以通过Java API或Shell命令
四、局限性和改进
1. HDFS1.0体系结构的局限性
(1) 内存限制了可存储数据的大小——即便数据节点存储空间足够,也因为内存存储名称节点有限而不能更多
(2) 系统吞吐量受这一个名称节点的限制
(3) 单一名称节点,单一命名空间,则不能有效安全隔离不同应用程序
(4) 仅一台机器作为“管家”(单一名称节点)会面临单点故障问题,即一旦发生故障整个集群就崩溃了——Secondary Name Node无法解决这个问题,因为它只是冷备份,不能马上顶上,要停止服务再恢复
2. HDFS2.0体系结构的改进
(1) 设置两个名称节点进行分区管理
(2) 设置了热备份
Reference:
https://www.icourse163.org/learn/XMU-1002335004?tid=1450180443#/learn/content?type=detail&id=1214310116&sm=1