Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

Hadoop Overview 2

2,836 views

Published on

Source: http://flyingbono.tistory.com/entry/HDFS-%EA%B4%80%EB%A0%A8-2%EC%B0%A8-%EC%9E%90%EB%A3%8C

Published in: Technology
  • Be the first to comment

Hadoop Overview 2

  1. 1. HDFS -Hadoop Overview 2- 2009.01.20 유현정
  2. 2. Data Replication <ul><li>HDFS’s blocks in a file except the last block are the same size. </li></ul><ul><li>The block size and replication factor are configurable per file. </li></ul><ul><li>The NameNode periodically receives a Heartbeat and a Blockreport from each of the DataNodes in the cluster. </li></ul><ul><ul><li>DataNodes send Heartbeat to the NameNode. NameNode used Heartbeats to detect DataNode failure. </li></ul></ul><ul><ul><li>DataNode periodically sends a report of all existing blocks to the NameNode. </li></ul></ul>
  3. 3. Replica Placement <ul><li>For the common case, replication factor == 3 </li></ul><ul><ul><li>One replica on one node in the local rack </li></ul></ul><ul><ul><li>Another on a different node in the local rack </li></ul></ul><ul><ul><li>The last on a different node in a different rack </li></ul></ul><ul><ul><li>If replication factor > 3, </li></ul></ul><ul><ul><li>additional replicas are randomly placed </li></ul></ul>
  4. 4. Replica Placement <ul><li>Does not impact data reliability and availability guarantees. </li></ul><ul><li>However, it does reduce the aggregate network bandwidth used when reading data. (3 개의 rack 이 아닌 , 2 개의 rack 에 데이터를 저장하기 때문 ) </li></ul><ul><li>Replicas of file 은 공평하게 분배되지 않음 </li></ul><ul><li>This policy is a work in progress. </li></ul>
  5. 5. Replica Selection <ul><li>To minimize global bandwidth consumption and read latency, HDFS tries to satisfy a read request from a replica that is closest to the reader. </li></ul>
  6. 6. SafeMode <ul><li>시작 시 , NameNode 는 SafeMode 상태 </li></ul><ul><li>데이터 block 의 복제는 안전모드 상태일 때 발생하지 않음 </li></ul><ul><li>안전하게 복제된 data block 의 percentage 를 점검한 후 , 안전모드 상태에서 벗어남 </li></ul><ul><li>명시된 replication factor 보다 적은 data block 의 list 를 check </li></ul><ul><li>NameNode 가 위 block 들을 다른 데이터노드에 복재함 </li></ul>
  7. 7. NameNode Meta-data <ul><li>The NameNode uses a tansaction log called the EditLog to persistently record every change that occurs to file system metadata. </li></ul><ul><ul><li>E.g.) creating a file, deleting a file, or changing the replication factor of a file </li></ul></ul><ul><li>The entire file system namespace, including the mapping of blocks to files and file system properties, is stored in a file called the FsImage. </li></ul><ul><li>EditLog & FsImage is stored as files in the NameNode’s local file system. </li></ul>
  8. 8. Checkpoint <ul><li>When the NameNode starts up, </li></ul><ul><ul><li>NameNode 는 FsImage 와 EditLog 를 디스크로부터 읽고 , EditLog 로부터의 모든 transaction 들을 FsImage 에 적용한 뒤 , 새로운 버전의 FsImage 로 디스크에 저장 </li></ul></ul><ul><ul><li>EditLog 의 transactions 은 FsImage 에 저장되었기 때문에 버림 </li></ul></ul><ul><li>현재 , checkpoint 는 NameNode 시작 시에만 발생 </li></ul><ul><li>주기적으로 checkpointing 을 지원하는 작업 구현 중 </li></ul>
  9. 9. The communication protocol <ul><li>Layered on top of the TCP/IP protocol </li></ul><ul><li>Client Protocol : client ↔ NameNode </li></ul><ul><li>DataNode Protocol : DataNodes↔ NameNode </li></ul><ul><li>A Remote Procedure Call(RPC) abstration wraps both the Client Protocol and the DataNode Protocol. </li></ul><ul><ul><li>NameNode 는 어떠한 RPC 들도 초기화하지 않음 </li></ul></ul><ul><ul><li>NameNode 는 DataNodes 나 Clients 에 발행된 요청에 대해서만 응답 </li></ul></ul>
  10. 10. Robustness <ul><li>The three common types of failure </li></ul><ul><ul><li>NameNode failures </li></ul></ul><ul><ul><li>DataNode failures </li></ul></ul><ul><ul><li>Network partitions </li></ul></ul>
  11. 11. Data Disk Failure <ul><li>A network partition can cause a subset of DataNodes to lose connectivity with the NameNode. </li></ul><ul><ul><li>Using a Heartbeat message </li></ul></ul><ul><li>The necessity for re-replication’s reasons </li></ul><ul><ul><li>A DataNode may become unavailable like a dead DataNode </li></ul></ul><ul><ul><li>A replica may become corrupted </li></ul></ul><ul><ul><li>A hard disk on a DataNode may fail </li></ul></ul><ul><ul><li>The replication factor of a file may be increased </li></ul></ul>
  12. 12. NameNode Failure <ul><li>A single point of failure </li></ul><ul><li>현재 , 자동적인 재 시작과 다른 머신에 의한 NameNode software 의 장애 극복은 지원되지 않음 </li></ul>
  13. 13. Data Correctness/Integrity <ul><li>Use Checksums to validate data </li></ul><ul><ul><li>Use CRC32 </li></ul></ul><ul><li>DataNode stores the checksum. </li></ul>
  14. 14. Snapshots <ul><li>특정 시점 순간의 사본을 저장하는 기능 </li></ul><ul><li>현재는 지원 안함 </li></ul>
  15. 15. Replication Pipelining <ul><li>DataNode 는 pipeline 내의 이전 DataNode 로부터 데이터를 받는 동시에 Pipeline 내의 다음 DataNode 로 전송 </li></ul><ul><li>The data is pipelined from one DataNode to the next. </li></ul>
  16. 16. File Deletes and Undeletes <ul><li>사용자나 application 에 의해서 파일이 삭제되었을 때 , 그 파일은 HDFS 에서 바로 삭제되지 않음 </li></ul><ul><ul><li>/trash 폴더의 파일로 먼저 이름 변경 </li></ul></ul><ul><ul><li>/trash 폴더에 있다면 , 복원 가능 </li></ul></ul><ul><ul><li>일정 시간 후 , NameNode 는 해당 파일을 Namespace 에서 삭제 </li></ul></ul><ul><ul><ul><li>해당 파일과 그에 관련된 블록들의 해제 </li></ul></ul></ul>
  17. 17. File Deletes and Undeletes <ul><li>/trash 폴더는 삭제된 파일의 최근 사본을 갖고 있다 . </li></ul><ul><li>/trash 폴더 안에 파일이 남아있다면 , 그 파일을 삭제 후에도 취소 가능 </li></ul><ul><li>현재 , default policy : </li></ul><ul><ul><li>6 시간 이상의 것들이 /trash 폴더에서 삭제 </li></ul></ul>

×