인터넷 기술 개발, 수 유 정보는 증가 기 하 급수적으로, 인터넷 데이터 cente에 따르면: 출판 디지털 유니버스 보고서 다음 8 년에서 생성 된 데이터의 양을 ZB, 5200 G 데이터의 각 세대에 해당 도달 것입니다 보여줍니다 효율적으로 계산 하 고 이러한 막대 한 양의 데이터를 저장 하는 방법 인터넷 회사에 대 한 도전이 이다. 전통적인 대규모 데이터 처리 주로 사용 하 여 병렬 계산, 격자 계산, 분산된 고성능 계산에, 비싼 저장 및 계산 리소스를 사용, 더욱 복잡 한 프로그래밍 가능한 대규모 계산 작업 효과적인 할당 및 데이터 합리적인 부문에 대 한 것에 있다. 이러한 문제를 해결 하는 좋은 방법으로 분산 Hadoop 클라우드 플랫폼의 출현에 따라,이 종이를 사용 하 여 VMware 가상 컴퓨터 확장 하 고, 쉽게는 효율적인 구축 Hadoop 핵심 기술의 개요에 따라 Hadoop 분산 기술에 따라: MapReduce와 HDFs. 클라우드 데이터 컴퓨팅 및 스토리지 플랫폼, 그리고 분산 컴퓨팅 및 스토리지의 장점을 확인 하는 실험을 통해 전시.
1. Hadoop 및 관련된 기술
Hadoop의 병렬 기술, 분산된 기술, 그리드 컴퓨팅, 개발 제품 이며, 그것은 대규모 데이터 계산 및 저장소에 적응 하도록 개발 되는 모델 구조. Hadoop은 분산된 컴퓨팅 및 저장소 프레임 워크 플랫폼 아파치, 많은 양의 데이터를 효율적으로 저장할 수 있습니다 하 고 분석 하 고 방대한 양의 데이터를 계산 분산된 응용 프로그램을 작성할 수 있습니다. Hadoop 높은 확장성과 높은 신뢰도와 분산된 시스템을 구축 하는 응용 프로그램에 대 한 신뢰성과 안정적인 인터페이스를 제공 저렴 한 하드웨어 장치, 클러스터에서 프로그램을 실행 합니다. Hadoop의 낮은 비용, 높은 안정성, 높은 내결함성을, 강력한 확장성, 높은 효율성, 이식성 및 무료 오픈 소스 이점이 있다.
Hadoop 클러스터는 일반적인 마스터/슬레이브, 아키텍처, 클라우드 기반 이며 그림 1에서 보듯이 스토리지 아키텍처 모델, 하 둡 기반.
그림 1 Hadoop을 기반으로 클라우드 컴퓨팅 및 스토리지 아키텍처 모델
1.1 Hadoop 분산 파일 시스템 HDFs
HDFs는 주로 데이터 관리 및 스토리지, 대용량 파일 데이터 액세스를 위해 좋은 성능을 Hadoop 플랫폼의 기본 파일 저장 시스템은 저렴 한 하드웨어의 많은 수에서 실행 되는 분산된 파일 시스템 이다. HDFs는 기존의 분산된 파일 시스템과 유사 하지만 그것은 또한 하드웨어 오류, 등 대형 데이터 세트, 간단한 일관성, 데이터 스트림 액세스를 편리 하 게 모바일 컴퓨팅의 몇 가지 특성을가지고. HDFs의 워크플로 및 아키텍처는 그림 2에 표시 됩니다.
그림 2 HDFs 워크플로 및 아키텍처
HDFS 클러스터는 namenode와 여러 datanode 있다. 그림 2 에서처럼 Namenode는 모든 파일 및 디렉터리 파일 시스템 트리 및 자식 노드를 유지 파일 시스템 뿐 아니라 클라이언트의 읽기 및 쓰기 권한을 파일의 메타 데이터 정보를 관리 하는 허브 서버입니다. 이 정보는 편집 로그 파일 (Editlog) 및 네임 스페이스 미러링 파일 (fsimage)의 형태로 디스크에 저장 됩니다. Namenode는 또한 일시적으로 각 블록의 Datanode 정보를 기록합니다. 그것의 기능을 포함: 관리 하는 메타 데이터와 파일 블록, 메타 데이터 업데이트 작업을 수신 하 고 요청 처리를 단순화.
Datanode는 일반적으로 저장, Namenode 만들고 복사 하 고 데이터 블록 명령, 삭제 Namenode에 하트 비트 정보를 통해 보고 자신의 부하 상황 Namenode 보내기 "하트 비트", 초과 발행에 대 한 응답 데이터의 블록을 검색 하는 데 사용 하는 클러스터 노드 받아 심장 박동 정보를 통해 동시에 Namenode 발행 지침 정보, 초과 Datanode가 유효 여부를 결정 하는 "하트 비트" 정보를 통해 Namenode 각 datanode를 ping 하지 않을 경우 지정된 시간 Datanode 피드백 노드 유효 하지 않은에서 받은 다음 부하 조정 전체 시스템. HDFs에서 각 파일은 하나 이상의 블록으로 (데이터 블록) 다른 Datanode datanode 형태로 여러 백업을 서로 복제 데이터 블록 사이에서 분산 분할 된다.
1.2 맵/리듀스 프로그래밍 프레임 워크
맵/리듀스 Hadoop 클라우드 컴퓨팅, 프로그래머 기본 구현 세부 사항을 이해 하지 않고도 대량의 데이터를 처리 하는 프로그램을 쓸 수 있는 데이터의 대량 처리에 사용 하는 프로그래밍 프레임 워크입니다. 맵/리듀스 기술을 사용할 수 있습니다의 수천 대의 서버에에서 동시에 광고 서비스 및 네트워크 검색 작업을 수행 하 고 TB, PB, EB 수준 데이터도 쉽게 처리할 수 있습니다.
맵/리듀스 프레임 워크는 Jobtracker와 Tasktracker로 이루어져 있다. Jobtracker는 단 하나, 책임 할당에 대 한 주요 노드 이며 몇 tasktracker;의 관리 작업의 일정 tasktracker 수락 하 고 작업 Jobtracker 처리 노드를 전송.
MapReduce 클러스터에서 큰 데이터 집합에 대 한 분산된 작업, 전체 프레임 워크의 지도 지도 수행 하 고 데이터를 처리할 때 다음 줄이기를 수행 감소 기능으로 구성 됩니다. 특정 실행 프로세스는 그림 3에 표시 됩니다. 지도 기능을 실행 하기 전에 입력된 데이터 조각화 다음 다른 조각을 다른 지도 실행에 할당 된 및 지도 기능 (키, 값)의 형태로 처리; 감소 단계를 입력 하기 전에 map 함수는 먼저 원래 (키, 값) 변환 여러 그룹 중간에 키 값은 다음 처리는 감속 기로 전송; 마지막 감소 기능 키의 동일한 값을 병합 하 고 디스크에 결과 출력 합니다.
그림 3 MapReduce 계산 과정
123 다음