1) 분산 파일 시스템을 통해 클라이언트 네임 노드의에 요청 다운로드 파일, 메타 데이터를 쿼리하여 네임 노드는 파일 데이터 노드 주소 블록이 위치한 찾을 수 있습니다.
데이타 노드 2) 선택 (근접성의 원칙 무작위) 서버, 데이터를 판독하는 요청 .
3) 데이터 노드는 전송을 시작할 클라이언트에 데이터 의 입력 스트림 내부에 디스크로부터 데이터를 판독 ( P의 ) 검사를 수행 acket 유닛.
4)에 대한 클라이언트 P의 최초의 로컬 캐시에 수납 유닛 acket하고 대상 파일에 기록.
1)을 통해 클라이언트 분산 파일 시스템 모듈 에 네임 노드 요청 업로드 파일은 네임 노드의 대상 파일이 이미 존재 여부 확인, 상위 디렉토리가 존재한다.
2) 네임 노드의 이 업로드 될 수 있는지 복귀.
3) 제 클라이언트 요청 B 잠금 여러 업로드 D ATA N ODE 서버.
4)NameNode返回3个DataNode节点,分别为dn1、dn2、dn3。
5)客户端通过FSDataOutputStream模块请求dn1上传数据,dn1收到请求会继续调用dn2,然后dn2调用dn3,将这个通信管道建立完成。
6)dn1、dn2、dn3逐级应答客户端。
7)客户端开始往dn1上传第一个Block(先从磁盘读取数据放到一个本地内存缓存),以Packet为单位,dn1收到一个Packet就会传给dn2,dn2传给dn3;dn1每传一个packet会放入一个应答队列等待应答。
8)当一个Block传输完成之后,客户端再次请求NameNode上传第二个Block的服务器。(重复执行3-7步)