Hadoop 원리

중국어 수첩
http://hadoop.apache.org/common/docs/r0.20.2/cn/
 
http://arch.huatai.me/?p=347
태그:Hadoop,클 라 우 드 저장,분포 식 파일 시스템 Posted in 클 라 우 드 저장
Leave a Comment
레 퍼 런 스
  • Pro hadoop

  • 대부분의 상업 해결 방안 은 대량의 계산 자원 이 클 라 우 드 컴 퓨 팅 과 유사 하도록 요구한다.일반적으로 대량의 데 이 터 는 전송 이 필요 하고 모든 데이터 항목 은 다른 데이터 항목 과 관련 이 없다.이렇게 하면 단일 구조의 다 중 데이터 알고리즘single-instruction multiple-data,SIMD)을 사용 할 수 있다.Hadoop Core 는 분포 식 파일 시스템 과 유사 한 오픈 소스 클 라 우 드 컴 퓨 팅 프레임 워 크 를 제공 합 니 다.
    본 고 는 Pro hadop Getting started with Hadoop Core 장 에서 번역 되 었 다.일부 세부 적 인 부분 은 아직 완전히 이해 할 수 없 기 때문에 실천 배치 에서 실증(후속 시리즈)해 야 한다.
    Hadoop 중국어 자료 와 관련 하여 Hadoop 공식 중국어 자료(타 오 바 오 기술 팀 이 번역)를 참고 할 수 있 습 니 다.
     
    MapReduce 모듈
    Hadoop 은 MapReduce 모듈 을 지원 합 니 다.이 모듈 은 구 글 이 저렴 한 호스트 의 대규모 군집 에서 Petabytes 등급(petascale)문 제 를 해결 하 는 메커니즘 입 니 다.MapReduce 모듈 은 한 응용 프로그램 에 대해 두 가지 서로 다른 절 차 를 바탕 으로 합 니 다.
  • Map:맵 은 흡수(ingestion)를 초기 화하 고 형식(transformation)을 바 꾸 는 절차 입 니 다.이 절 차 는 서로 다른 입력 기록 을 병행 할 수 있 도록 합 니 다.
  • Reduce:집합(aggregation)이나 요약(summarization)절 차 를 간소화 합 니 다.이 단계 에서 해당 하 는 모든 기록 은 하나의 대상 을 통 해 처리 해 야 합 니 다.

  • Hadoop 에서 MapReduce 의 핵심 개념 은 입력 이 논리 블록 으로 분 단 될 수 있 고 모든 논리 블록 은 하나의 map 작업 을 통 해 독립 적 으로 처리 할 수 있다 는 것 이다.이 로 인해 독립 적 으로 처 리 된 논리 블록 은 서로 다른 데이터 세트 로 물리 적 으로 구분 한 다음 에 정렬 할 수 있다.정렬 된 논리 블록 마다 reduce 작업 에 전 달 됩 니 다.
    MapReduce 모듈 작업 설명도
    맵 작업 은 클 러 스 터 의 모든 계산 노드 에서 실 행 될 수 있 으 며,여러 맵 작업 은 전체 그룹 에 분포 되 어 있 으 며,동시에 실 행 될 수 있 습 니 다.Map 임 무 는 입력 데이터 기록 을key/value데이터 쌍 으로 변환 하 는 것 을 책임 집 니 다.이 맵 의 출력 은 파 티 션 되 고 파 티 션 마다 정렬 됩 니 다.모든 reduce 작업 은 하나의 구역 이 될 것 입 니 다.각 파 티 션 의 정렬 key 와 value 는 key 를 연결 하여 reduce 작업 으로 처리 합 니 다.이렇게 하면 여러 개의 reduce 작업 을 그룹 에서 집중 적 으로 병행 할 수 있 습 니 다.응용 프로그램 개발 자 는 Hadoop framework 에 4 가지 내용 만 제공 해 야 합 니 다.
  • 입력 한 기록 을 분류 하고 모든 기록 을 하나의key/value데이터 쌍 으로 변환 합 니 다
  • (하나)맵 모드
  • (하나)감축 모드
  • 데이터 쌍 의 분 류 를 변환 하면 reduce 모듈 은 출력 기록
  • 으로 전 환 됩 니 다.
    Google 과 Yaoo 는 모두 MapReduce 군집 을 통 해 peta 급 데 이 터 를 처리 합 니 다.2008 년 초 구 글 은 MapReduce 를 통 해 매일 20 petabytes 데 이 터 를 처리 하 겠 다 고 밝 혔 다.http://googleblog.blogspot.com/2008/11/sorting-1pb-with-mapreduce )
    Hadoop 소개
    Hadoop 은 아파 치 소프트웨어 재단 의 최상 위 프로젝트 로 아파 치 인 큐 베 이 터 를 통 해 여러 개의 Hadoop 하위 프로젝트 를 만 들 었 다.Hadoop 프로젝트 는 오픈 소스 소프트웨어 개발 을 지원 하기 위해 신축성 분포 식 컴 퓨 팅 을 위 한 애플 리 케 이 션 프레임 워 크 를 제공 합 니 다.Hadoop 프레임 워 크 는 개발 자가 응용 프로그램의 논리 에 전념 할 수 있 도록 디 테 일 을 처리 합 니 다.Hadoop Core 프로젝트 는 일반적인 하드웨어 에 클 라 우 드 컴 퓨 팅 환경 을 구축 하 는 데 기본 서 비 스 를 제공 하고 Hadoop API 는 개발 한 소프트웨어 를 이 클 라 우 드 컴 퓨 팅 플랫폼 에서 실행 할 수 있 도록 한다.Hadoop Core 의 두 기본 부분 은 MapReduce 프레임 워 크(클 라 우 드 컴 퓨 팅 환경)와 Hadoop 분산 파일 시스템(HDFS)이다.주의:Hadoop Core 프레임 워 크 에서 MapReduce 는 보통key/value이 라 고 부 르 고 HDFS 는 보통mapred이 라 고 부 릅 니 다.
    Hadoop Core MapReduce 프레임 워 크 는 공 유 된 파일 시스템 이 필요 합 니 다.이 공 유 된 파일 시스템 은 시스템 수준의 파일 시스템 이 아니 라 플러그 인 방식 으로 프레임 워 크 에 제공 되 는 분포 식 파일 시스템 입 니 다.하 둡 코 어 는 HDFS 를 제 공 했 지만 HDFS 가 꼭 필요 한 것 은 아니다.Hadoop JIRA 추적 시스템 에서 4686 건 은 HDFS 를 분리 해 독립 된 Hadoop 프로젝트 라 고 부 르 는 작업 이다.HDFS 의 파생 으로 Hadoop Core 지원 클 라 우 드 저장 파일 시스템 을 Kosmos(http://kosmosfs.sourceforge.net/ )와 Amazon S3 파일 시스템(Amazon Simple Storage Service)(http://aws.amazon.com/s3 )。 Hadoop Core 프레임 워 크 는 HDFS,클 라 우 드 메모리,S3 플러그 인 을 제공 합 니 다.사용 자 는 NFS(Network File System),GFS(Global File System),Lustre 등 모든 분포 식 파일 시스템 을 시스템 단계 로 자 유 롭 게 사용 할 수 있 습 니 다.HDFS 는 공유 파일 시스템 으로 사용 할 수 있 기 때문에 Hadoop 은 데이터 데이터 의 물리 사본 의 장점 을 얻 을 수 있 고 작업 을 예약 하여 데 이 터 를 읽 고 분포 호스트 에서 실행 할 수 있 습 니 다.(이 문장 은 번역 이 확실 하지 않다)
    Hadoop Core MapReduce
    Hadoop 분포 식 파일 시스템(Hadoop Distributed File System,HDFS)MapReduce 환경 은 사용자 에 게 맵 과 reduce 작업 이 한 군집 에서 수행 되 는 과정 을 관리 하 는 정밀 한 프레임 워 크 를 제공 합 니 다.사용 자 는 프레임 워 크 아래 내용 을 알려 야 합 니 다.
  • 작업 에 입력 한 분포 식 파일 시스템 의 위치
  • 작업 출력 파일 시스템 의 위치
  • 입력 한 형식
  • 출력 형식
  • 맵 기능 을 포함 하 는 클래스
  • 선택 할 수 있 는 reduce 기능 을 포함 한 클래스
  • 맵 과 reduce 기능 및 지원 하 는 모든 종류의 JAR 파일
  • 하나의 작업 이 reduce 기능 이 필요 하지 않 으 면 사용 자 는 reducer 류 를 설정 하지 않 고 하나의 reduce 처리 작업 을 수행 하지 않 을 수 있 습 니 다.MapReduce 프레임 워 크 는 입력 을 구분 하고 클 러 스 터 에서 map 작업 을 수행 합 니 다.필요 하 다 면 MapReduce 는 map 작업 의 결 과 를 정렬 하고 map 의 출력 에 reduce 작업 을 수행 합 니 다.최종 출력 은 출력 디 렉 터 리 로 이동 하고 작업 상 태 는 사용자 에 게 보고 합 니 다.MapReduce 는dfs데 이 터 를 대상 으로 합 니 다.이 프레임 워 크 는 모든 입력 을 하나의key/value데이터 쌍 으로 바 꾸 고 모든 데 이 터 를 map 기능 에 한 번 씩 입력 합 니 다.이 맵 의 출력 은key/value데이터 쌍 의 집합 입 니 다.-보통 변 환 된 입력 데이터 쌍 이지 만 출력 된 다 중 데이터 쌍 으로 정확하게 받 아들 여 집 니 다.이 맵 의 출력 데 이 터 는 조합 되 어 있 으 며 키 를 통 해 정렬 됩 니 다.이 reduce 기능 은 키 순 으로 키 마다 한 번 씩 호출 되 며,이 데이터 세트 는 키 를 공유 합 니 다.이 reduce 방식 은 임의의key/value데이터 쌍 수 치 를 출력 할 수 있 습 니 다.이 수 치 는 작업 출력 디 렉 터 리 의 출력 파일 에 기 록 됩 니 다.reduce 출력 key 와 reduce 입력 key 가 일치 하면 최종 출력 은 정렬 된 것 입 니 다.이 MapReduce 프레임 워 크 는 MapReduce 임 무 를 처리 하 는 두 가지 과정 을 제공 합 니 다.
  • TaskTracker 관리 클 러 스 터 노드 에서 서로 다른 map 와 reduce 작업 의 수행
  • JobTracker 는 임 무 를 받 아 배포 하고 임무 감시 와 통 제 를 제공 하 며 관리 임 무 를 각 TaskTracker 노드
  • 에 배포 합 니 다.
    한 마디 로 하면 모든 클 러 스 터 는 하나의 JobTracker 프로 세 스 와 하나 이상 의 TaskTracker 가 클 러 스 터 의 각 노드 에서 실 행 됩 니 다.JobTracker 는 고장 난 단점 이 며,JobTracker 는 서로 다른 Tracker 프로 세 스 를 통 해 고장 을 극복 할 것 입 니 다.메모:Hadoop Core MapReduce 환경의 장점 중 하 나 는 작업 수행 과정 에서 클 러 스 터 에 TaskTracker 노드 를 추가 할 수 있 고 작업 은 이 새 노드 에 배 포 됩 니 다.
    Hadoop 분산 파일 시스템
    HDFS 는 대량의 입력 데이터 블록 을 읽 고 데 이 터 를 빨리 처리 한 다음 에 대형 데이터 가 빠 른 MapReduce 작업 을 기록 하 는 데 사용 되 는 파일 시스템 이다.HDFS 는 무 작위 읽 기와 쓰기 작업 을 잘 처리 하지 못 합 니 다.신뢰 할 수 있 도록 파일 데 이 터 는 여러 개의 저장 노드 로 간단하게 복사 되 었 다.이 과정 은 Hadoop 에서 복제(replication)라 고 부른다.하나의 데이터 블록 의 마지막 복사 본 이 존재 한다 면 데이터 사용 자 는 저장 서버 의 고장 을 알 지 못 할 것 이다.HDFS 서 비 스 는 다음 과 같은 두 가지 과정 을 통 해 제 공 됩 니 다.
  • NameNode 는 파일 시스템 메타 데이터(metadata)관리 와 서 비 스 를 제공 하 는 관리 와 통 제 를 책임 집 니 다.
  • DataNode 는 데이터 블록 저장 과 관련 서 비 스 를 제공 합 니 다.

  • HDFS 파일 시스템 에 NameNode 프로 세 스 가 있 고 단일 고장 입 니 다.Hadoop Core 는 네 임 노드 의 고장 복구 와 자동 백업 메커니즘 을 제 공 했 지만,열 고장 복구 서 비 스 는 아니다.클 러 스 터 에 여러 개의 DataNode 프로 세 스 가 있 을 수 있 습 니 다.보통 클 러 스 터 노드 마다 DataNode 프로 세 스 를 실행 합 니 다.메모:보통 클 러 스 터 에 하나의 노드 가 TaskTracker 서비스 와 DataNode 서 비 스 를 동시에 제공 하 는 동시에 JobTracker 와 NameNode 서 비 스 를 동시에 제공 합 니 다.

    좋은 웹페이지 즐겨찾기