主要有以下问题。
HDFS写数据流程
HDFS读数据流程
HDFS NameNode是所有文件信息及其在从属节点中实际位置的占位符。文件的读取操作遵循以下步骤:
(1)当需要读取文件时,DistributedFileSystem实例从NameNode检索文件信息。
(2)NameNode检查该特定文件是否存在,并且用户有权访问该文件。
(3)一旦满足上述条件,NameNode便将令牌提供给客户端,以进行身份验证以从DataNode获取文件。
(4)NameNode提供文件的所有Block细节和相关数据节点的列表。
(5)然后根据它们与客户端的接近程度对DataNode进行排序。
(6)DistributedFileSystem将输入流返回到名为FSDataInputStream的客户端,以便客户端可以从中读取数据。
(7)FSDataInputStream充当DFSInputStream的包装,DFSInputStream负责管理NameNode和DataNode和I / O。
(8)当客户端在流上调用read时,DFSInputStream连接到壁橱DataNode块,数据通过流返回给客户端。重复调用read操作,直到完全读取第一个块的末尾为止。
(9)完全读取第一个块后,将关闭与该DataNode的连接。
(10)接下来,DFSInputStream再次连接到下一个块的下一个可能的DataNode,并继续直到完全读取该文件。
(11)读取整个文件后,FSDataInputStream调用close操作以关闭连接。
HDFS组成架构
HDFS优缺点
HDFS的容错机制
HDFS的存储机制
HDFS的副本机制
HDFS如何保证数据不丢失?
文件损坏
DataNode挂掉
NameNode挂掉
其他保障可靠性机制
快照
回收站机制
安全模式
是否可以并发写入HDFS块文件?
HDFS不允许并发写入。因为当一个客户端收到NameNode的允许在数据节点块上进行写入的权限时,该特定块将被锁定,直到写入操作完成。因此,没有其他客户端可以在同一块上写入。