'Development'에 해당되는 글 32건

 

- Read

 

 

 

- Write

 

  • 쓰기 실패 Ack Queue로부터 Data Queue 다시 불러와 쓰기를 재시도

 

 

 

- 복사본 배치

 

  • 서로 다른 랙에 복제본을 배치하면 중복성은 최대화되지만 대역폭 비용은 커짐
  • Read Write에서 동일한 전략을 가지며, 네트워크 대역폭 사용 최소화를 위함
  • 하둡의 기본 전략
    • 번째 복제본 클라이언트와 같은 노드 배치함
      • 클라이언트가 클러스터 외부에 있으면 무작위로 노드(파일이 너무 많거나 바쁜 노드는 제외) 선택함
    • 번째 복제본 번째 노드와 다른 (무작위) 노드 배치됨
    • 번째 복제본 번째 노드와 같은 랙의 다른 노드 배치됨
    • 이상의 복제본 클러스터에서 무작위로 선택하여 배치함

 

 

 

- 데이터 지역성 최적화

 

  • 네트워크 대역폭을 사용하지 않도록 입력 데이터가 있는 HDFS 노드에서 Map Task 실행하도록 하는
  • 자원이 부족한 경우 블록 복제본이 저장된 다른 노드에서 Map Task 수행을 시도
  • 다른 노드 역시 가용 자원 확보가 불가능한 경우 불가피하게 데이터 복제가 일어남
  • Reducer 일반적으로 모든 Mapper 출력 결과를 입력으로 받기 때문에 데이터 지역성의 장점이 없음

 

- 일관성 모델

 

  • 일단 파일을 생성하면 파일시스템의 Namespace 목록에서 파일을 확인 가능
  • 데이터가 Block 이상 기록되면 해당 Block 내용을 있음
    • 쓰기 작업이 진행 중인 Block 내용을 다른 Reader 없음

 

 

참조: Hadoop: The Definitive Guide

'Development > Hadoop' 카테고리의 다른 글

하둡 공부 - MapReduce 작동 방법  (0) 2019.01.24
하둡 공부 - Hadoop I/O  (0) 2019.01.24
하둡 공부 - YARN  (0) 2019.01.24
하둡 공부 - HDFS  (0) 2019.01.24
Hadoop 2.7.3 Fully-distributed Mode Setup  (0) 2017.02.01
블로그 이미지

나뷜나뷜

,