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 ch5

486 views

Published on

Published in: Technology
  • Be the first to comment

  • Be the first to like this

Hadoop ch5

  1. 1. DEVELOPING A MAPREDUCE APPLICATION CHAPTER 5 13년 8월 11일 일
  2. 2. 13년 8월 11일 일
  3. 3. 13년 8월 11일 일
  4. 4. 13년 8월 11일 일
  5. 5. 13년 8월 11일 일
  6. 6. 설정 가능 API 하둡 컴포넌트는 설정 API를 통하여 설정 가능함. Configuration 클래스는 속성 과 값의 집합. 각 속성은 String 이며, 값은 여러 타입이 올 수 있음. 13년 8월 11일 일
  7. 7. 리소스 결합하기 13년 8월 11일 일
  8. 8. 다양한 확장 설정은 시스템 속성 및 다른 속성들에 의해 정의될 수 있다. 13년 8월 11일 일
  9. 9. 개발 환경 설정 - POM Maven POM을 통한 의 존성 설정. hadoop-core hamcrest-all mrunit 13년 8월 11일 일
  10. 10. 설정 관리 하둡 개발시 로컬(pseudodistributed), 클러스터를 변경하면 진행. 설정 파일을 하둡 설치 디렉토리 외부에 두고, 하둡버전간 변환하여 사용. 13년 8월 11일 일
  11. 11. 설정 파일 hadoop-local.xml - Filesystem과 Jobtracker 용 디폴트 설정. hadoop-localhost.xml - 로컬에서 네임노드와 잡트랙커 설정. hadoop-cluster.xml - 클러스터내 네임노드와 잡트래커 설정. 13년 8월 11일 일
  12. 12. 전역은 $HADOOP_INSTALL 설정. Standalone or pseudodistributed 13년 8월 11일 일
  13. 13. HELPER 클래스 GenericOptionsParser - 커맨드라인 해석과 Configuration 설정에 사용. - Tool, ToolRunner를 사용할 것. Tool, ToolRunner - 13년 8월 11일 일
  14. 14. MRUNIT 13년 8월 11일 일
  15. 15. 13년 8월 11일 일
  16. 16. REDUCER 13년 8월 11일 일
  17. 17. 로컬에서 수행하기 13년 8월 11일 일
  18. 18. 13년 8월 11일 일
  19. 19. 13년 8월 11일 일
  20. 20. 로컬에서 JOB 수행하기 13년 8월 11일 일
  21. 21. 13년 8월 11일 일
  22. 22. 13년 8월 11일 일
  23. 23. 클러스터에서 동작하기 로컬에서는 단일 JVM에서 Job이 수행되고, 모든 클래스가 클래스 패스에 있으므로, 잘 동작함. 분산설정에서는, Job 클래스는 JAR 파일로 패킹되어 클러스터로 전송해야 함. setJarByClass() 메소드에서 클래스 셋을 포함하는 드라이버 의 클래스패스에서 JAR파일을 검색하므로서 하둡은 job JAR를 찾는다. 13년 8월 11일 일
  24. 24. Ant 또는 Maven 같은 빌드툴을 이용해서 JAR 파일을 생성. % mvn package -DskipTests JAR 에 하나의 job이 있다면, JAR 파일 manifest에서 main 클래스가 수행되도록 해야 함. main 클래스가 manifest에 존재하지 않으면, 커맨드라인에 지정해야 함. 13년 8월 11일 일
  25. 25. 임의의 종속적인 JAR 파일은 job JAR 파일안에 lib 서브디 렉토리에 패킹될 수 있음. 리소스 파일은 classes 서브디렉토리에 패킹됨. 13년 8월 11일 일
  26. 26. JOB 개선하기 성능 개선을 위해서 프로파일하거나 옵티마이즈하기전에 확인해야 할 체크리스트 Mapper의 수 작은 수의 Mapper로 오래 수행되도록 Reducers의 수 Reduce Slot의 수보다 작게 Reducers 를 유지 Combiners 데이터 전송을 줄이기 위해 Combiner를 이용할 수 있는 지 검사 Custom serialization Writable 또는 comparator를 커스터마이징했다면, RawComparator를 구현할 것. Shuffle tweaks MapReduce Shuffle에서 메모리 관련 성능을 증가시킬수 있다. 13년 8월 11일 일
  27. 27. 태스크 프로파일링 로컬 Job에 속한 태스크를 프로파일링 하는 것이 쉽다. 다만 로컬과 클러스터는 동작 방식의 차이가 있으므로 주의해야 함. HPROF Profiler 13년 8월 11일 일

×