소개
클라우드 컴퓨팅 (클라우드 컴퓨팅) 새로운 비즈니스 컴퓨팅 모델입니다. 그것은 배포 컴퓨터에서 만든 리소스를 필요에 따라 컴퓨팅 파워, 저장 공간 및 다양 한 소프트웨어 서비스를 취득 하기 다양 한 응용 프로그램 시스템을 활성화의 큰 수영장에 컴퓨팅 작업 합니다. 클라우드 컴퓨팅은 그리드 컴퓨팅 컴퓨팅 (분산된 컴퓨팅), 병렬 컴퓨팅 (parallelcomputing), 유틸리티 컴퓨팅 (유틸리티 컴퓨팅), 분산 (컴퓨팅) 네트워크 스토리지 (네트워크 스토리지 기술), 가상화 (virtualization), 부하 분산 (로드 균형) 및 다른 전통적인 컴퓨터 기술 및 네트워크 기술 개발 및 제품의 통합.
데이터 저장소가 분산된 저장 방법으로 구현 됩니다, 그러면 높은 안정성, 높은 가용성 및 경제, 그리고 데이터 저장의 높은 신뢰성 낮은 비용을 제공 하는 하드웨어의 부족에 대 한 보상을 신뢰할 수 있는 소프트웨어와 중복 저장소에서 지켜진다 안정적인 대용량 분산 스토리지 서비스와 컴퓨팅 서비스. 또한, 데이터 저장 기술 높은 처리량과 높은 전송 속도의 특성을가지고 있어야 합니다. 그래서 클라우드 컴퓨팅 시스템은 많은 수의 병렬 서비스에 사용자를 제공 하기 위해 많은 수의 사용자의 요구를 만날 수 있습니다. 가장 주목할 만한 클라우드 컴퓨팅의 데이터 스토리지 시스템은 Google의 오픈 소스 시스템 GFS (Google 파일 시스템)와 Hadoop 개발 팀에 의해 개발 된 오픈 소스 시스템 HDFs (Hadoop 분산 파일 시스템).
1. MapReduce 프로그래밍 모델
병렬 컴퓨팅은 클라우드 핵심 기술 컴퓨팅 및 가장 전쟁 기술 중 하나. MapReduce는 Google의 핵심 컴퓨팅 모델, 기능 프로그래밍 모델에서 두 가지 핵심 작업에서 그것의 이름을 파생 하는: 지도 하 고 작업을 줄일 수. 맵 작업 각 요소와 독립적으로 작동 하 고 작업은 부작용; 줄이기 작업 지도 [n 지도 결과 1, 2의 결과., n] 감소 작업의 매개 변수입니다. 명령 언어에서 평가의 순서는, 그리고 각 기능 변경 하거나 질서에서 이러한 함수를 실행 해야 합니다 그래서 외부 상태에 따라 달라 집니다. MapReduce 프로그래밍 모델에서 N 지도 작업의 실행 순서 수 있습니다 정렬 함수 수정 또는 MapReduce 모델을 대규모 데이터의 병렬 처리에 적합 하 게 천 전역 변수 의존으로.
MapReduce 컴퓨팅 모델에는 두 가지 주요 프로세스: 줄일 지도 및 집계 프로세스 매핑. 따라서, 사용자가 두 가지 주요 기능, 매핑 (지도) 기능 및 패자의 그룹에 대 한 키-값 쌍 (키/값)를 계산 하 고 즉 출력 키 값 쌍의 또 다른 세트를 가져옵니다 집계 (감소) 기능을 제공 해야:
지도: (In_key, In_value)-{(Keyj, Valuej) j = l... k}
감소: (키, [valuel,..., Valuem]) 하나 (키, Fina_value)
다른 응용 프로그램, 입력에서에서 출력 지도의 매개 변수 및 동일 하지는 감소. 입력된 매개 변수 지도 In_key 그리고 In_value의 지도 기능을 다루는 데이터. 각 map 함수는 계산 하 고 중간 결과 화 작업의 실행이 완료 된 후 반환 되는 키/값 쌍의 집합을 출력. 감소의 입력된 매개 변수가입니다 (키 줄이기 작업 시스템을 먼저 수행 이전 지도 작업에서 반환 하는 중간 결과 검사, 분류 된 키에 따라 키, 함께 동일한 키 값을 해당 하는 값을 병합 하 고 따라서 보고 하는 처리를 위해 동일한 감소 작업 전송 하기 전에 [Valuel,..., valuem]). 주로 REDUC 작업 동일한 키 값에 해당 하는 이러한 값의 가치와 거래 하 고 f 키 finalvalue 감소 작업을 실행 한 후의 출력. 키 값은 최종 출력 형태로 모든 감소 천 실행의 결과 결합 하는 감소 작업에 해당 합니다.
일반적인 MapReduce 계산 프로세스는 그림 1에 표시 됩니다.
그림 1 MapReduce 워크플로
(4) MapReduce 라이브러리 전송 같은 중간 키 값을 가진 모든 중간 값 값 나 감소 함수;
(5) 사용자 정의 된 reduce 함수는 중간 키의 값과 관련 된 값의 집합을 허용합니다. Reduce 함수 값 값의 컬렉션에 이러한 값을 병합합니다. 일반적으로, 각 감소 함수 호출 0 또는 출력 값만 생성 합니다. 중간 값 값 값 값을 메모리에 완벽 하 게 배치 될 수 없는 컬렉션을 처리할 수 있도록 반복기를 통해 감소 함수에 제공할 수 있습니다.
2. 작동 메커니즘의 Hadoop 프레임 워크
Hadoop은 분산된 컴퓨팅 환경에서 안정적이 고 확장 가능한 소프트웨어를 제공 하는 아파치 소프트웨어 재단 (아파치 Softwarefoundation)에서 오픈 소스 프로젝트 이다. Hadoop 플랫폼 자체 분산 파일 시스템 (HDFS), MapReduce 모드를 사용 하 여 구현 되는 있다. Hadoop의 높은 보안 및 신뢰성 각 데이터의 여러 복사본을 만들어 파일 백업 형태를 걸립니다. 오픈 소스 분산된 시스템 플랫폼 Hadoop은 빠른 업데이트와 다양 한 응용 프로그램의 장점 뿐만 아니라 다른 분산된 클라우드 컴퓨팅 프레임 워크의 일부 공유 하는 장점 중 일부: 높은 확장성, 경제적 실용성, 고효율, 높은 신뢰성.
HDFs 마스터/슬레이브 아키텍처를 사용 하며 HDFS 클러스터 명명 된 노드 (Namenode) 및 데이터 노드 (Datanode) 집합이 구성 됩니다. 명명 된 노드는 중앙 서버 파일 시스템의 네임 스페이스 (네임 스페이스) 및 파일에 대 한 클라이언트 액세스 관리에 대 한 책임입니다. 클러스터 시스템에서 데이터 노드 이며 일반적으로 노드는 해당 노드에서 데이터 저장소 관리에 대 한 책임은 파일 시스템 클라이언트의 읽기를 처리에 대 한 책임에서 실행 및 쓰기 요청, 만들려는 명명 된 노드 통합된 파견에서 삭제 하 고 데이터 블록을 복사 합니다. Hadoop 또한 구현 구글의 MapReduce 분산된 컴퓨팅 모델, mapreduce 응용 프로그램의 기간 많은 하위 작업으로 하며 각 하위 모든 클러스터 노드에서 병렬로 처리할 수 있습니다 (데이터 노드, 보통 계산 노드로 또한). HDFs는 여러 데이터 블록 (블록) 각 하위 노드 계산 (신뢰성)의 신뢰성을 보장 하기 위해의 복사본 (복제본)을 만듭니다. 분산 파일 시스템 및 Mapredace 모델의 사용으로 인해 Hadoop 프레임 워크 높은 내결함성과 높은 처리량 데이터 읽기 및 쓰기, 있으며 오류 노드를 자동으로 처리할 수 있습니다. 그림 2는 Hadoop 클러스터 시스템 아키텍처의 회로도 이다.
그림 2 에서처럼 HDFs 명명 된 노드 및 여러 데이터 노드에 구성 되어 있습니다. 데이터 노드는 파일 시스템. 사령관, 파일 시스템 네임 스페이스를 유지 관리 파일에 대 한 고객 액세스를 표준화 하는 파일 시스템 처럼 작동 하는 그것에 대 한 메타 데이터를 저장 하 고 파일 디렉터리 작업에 대 한 제공, 데이터 노드 스토리지 노드 저장 공간을 관리 하 고 고객의 읽기 및 쓰기 요청에서 실제 데이터를 저장 합니다. 데이터 노드는 또한 명명 된 노드에서 블록 생성, 삭제, 및 복제 명령을 수행합니다.
(책임 편집기: 유산의 좋은)