HDFS写入数据流程
1.理论流程描述
HDFS(Hadoop分布式文件系统)的数据写入流程是一个复杂但高效的过程,可以分为以下8个步骤:
1、client(客户端)发起文件上传请求;
2、通过发送RPC请求与NameNode建立通讯。NameNode进行检查其中包括:目标文件是否已存在、父目录是否存在、返回是否可以上传;
2、client请求第一个 block该传输到哪些DataNode服务器上;
3、NameNode根据配置文件中指定的备份数量及副本放置策略进行文件分配,返回可用的DataNode的地址,如:Node1,Node2,Node3;
4、 client调用read方法来进行对文档数据的读取。
5、每次从文件中读取一个packet(64k)大小的数据,临时存储在内存之中。
6、将每次读取的packet数据写入到datanode的块中(从block0开始依次往里面存储),直至写满此块。client请求3台DataNode中的一台(假如ND1),上传数据。
7、执行三副本机制,将block中数据分别向另外两台服务器进行存储备份。
8、当第一个块数据写入完成,进入第课块数据写入请求,也就是重新进行第二步操作