'Development/Hadoop'에 해당되는 글 17건

 

- 맵리듀스 튜닝

 

  • 측면에서 튜닝 속성
    • 다수의 디스크 스필을 피하는 (하나가 최선) 최고의 성능 내는 방법임
    • Map 출력 크기를 측정할 있다면 mapreduce.task.io.sort.* 속성을 적절히 설정하여 스필 횟수의 최소화 가능
  • 리듀스 측면에서 튜닝 속성
    • 중간 데이터 전체가 메모리에 존재할 최고의 성능 얻을 있음
    • 기본적으로 Reduce 함수에 모든 메모리를 예약함

 

- 카운터

 

  • Job 대한 통계 정보를 수집하는 유용한 채널

 

  • 태스크 카운터
    • Task 실행될 해당 Task 대한 정보를 수집한 Job 모든 Task 대한 값을 취합하여 최종 결과를 알려줌
  • 사용자 정의 카운터
    • 그룹과 카운터 이름으로 increment() 수행하여 조건에 대한 카운트 수행
    • ex) reporter.icreCounter(“com.philippeadjiman.~~~”, “ALL”, 1);
 

 

 

 

- 정렬

 

  • 부분 정렬
    • 기본적인 예는 IntWritable 키로 시퀀스 파일을 정렬하는 방법으로 Reducer 수에 따라 Comparator 정렬된 출력 파일을 생성하며, 파일에서 정렬됨
  • 전체 정렬
    • 전체 순서를 고려한 균등 분포의 크기를 가지는 파티셔너를 이용
    • 균등한 분포를 구하기 위해 샘플링을 수행하고 파티셔너의 범위를 설정
      • SplitSampler: 스플릿 전체에서 처음 n 레코드만 추출함
      • IntervalSampler: 스플릿에서 일정한 간격으로 키를 추출함
      • RandomSampler: 가장 범용적 샘플러

 

- Lazy Persist policy

 

  • HDFS 데이터를 저장할 , Disk I/O Checksum 검증과 같이 자원을 소모하는 처리를 비동기로 처리하기 위해 RamFS 이용함
    • Datanode 설정 다음과 같은 [RAM_DISK] 태그를 추가함

 

 

 

- QJM (Quorum Journal Manager)

 

  • Zookeeper 중심으로 Namenode Active/Standby 구성함에 따라 HA 제공할 있는 방법

 

 

 

  • Zookeeper Namenode 상태 모니터링으로 장애 Standby Namenode Active 작동할 있도록
  • Journal Node Fail Over 대비하여 Namenode Edit 로그를 공유하고 동기화함

 

 

참조: Hadoop: The Definitive Guide

블로그 이미지

나뷜나뷜

,