Data 쓰기

 

 

 

 

 

1. 클라이언트는 HDFS 파일을 생성하고자 하면 먼저 로컬파일시스템에 파일을 생성
2. 파일 생성이 끝나거나 크기가 데이터블록의 크기보다 커지면 이때 NameNode 컨택. NameNode 파일생성요청을 메모리메타정보와 EditLog 저장.
3. NameNode Replication factor만큼의 DataNode 블럭ID 클라이언트에게 전송.
4. 클라이언트는 이중 첫번째 DataNode 데이터를 쓰면서 replication 벌어져야하는 나머지 DataNode들의 리스트를 같이 넘긴다.
5. 첫번째 DataNode 데이터를 복제받으면서 두번째 DataNode 복제를 시작한다.
6. 마지막 DataNode에서 블록의 복제가 완료되면 시점에서 해당 데이터블록의 생성은 완료된 것으로 간주됨.  프로세스를 Replication pipelining이라 .
7. 클라이언트에서 파일에 써야할 데이터(데이터의 크기가 블록크기가 되거나 파일생성이 끝날때까지 기다림) 있으면 다시 3으로 가서 반복.

 

 

 

 

 

 

+ Recent posts