HDFS文件读写操作 (通俗易懂)

首先来介绍两个概念

NameNode:领导级别。管

NameNode:领导级别。管理数据块映射;处理客户端的读写请求;配置副本策略;管理HDFS的名称空间;

DataNode:员工级别。负责存储客户端发来的数据块block;执行数据块的读写操作。

理数据

写详细步骤:
1、首先向namenode通信,请求上传文件,namenode检查目标文件是否已存在,父目录是否存在 
2、namenode返回是否可以上传 
3、client会先对文件进行切分
4、namenode返回datanode的服务器
 5、client请求一台datanode上传数据,第一个datanode 收到请求会继续调用第二个,然后第二个调用第三个,将这个通信管道建立完成,然后逐级应答
 6、client开始往A上传第一个block(先从磁盘读取数据放到一个本地内存缓存),以packet为单位(一个packet为64kb),第一台datanode收到一个packet就会传给第二台,第二台传给第三台;第一台每传一个packet会放入一个应答队列等待应答 
7、当一个block传输完成之后,client再次请求namenode上传第二个block的服务器。

 

读详细步骤:
1、跟namenode通信,查询元数据(block所在的datanode节点)
2、判断读取的文件是否存在。存在,则响应客户端该文件保存在datanode节点上。
3、客户端收到可以读文件的响应后,根据拿到的datanode节点信息,会与每个datanode节点建立网络连接,然后读取保存在每个datanode节点的block块数据。
4、客户端会将从网络中读取的数据保存到缓存中,然后保存到本地磁盘。

 

块映射;处理客户端的读写请求;配置副本策略;

猜你喜欢

转载自blog.csdn.net/qq_38900441/article/details/83018724