점점 더 많은 기업 큰 데이터 처리 Hadoop을 사용 하는 하지만 Hadoop 클러스터의 전반적인 성능은 CPU, 메모리, 네트워크 및 스토리지 사이의 성능 균형에 따라 달라 집니다. 이 문서에서는, 우리는 키 큰 데이터 분석 처리를 Hadoop 클러스터에 대 한 높은-성능을 네트워크를 구축 하는 방법을 모색할 것입니다.
하 둡에 대 한
"빅 데이터" 데이터의 느슨한 세트 이며 막대 한 양의 데이터의 지속적인 성장을 강제로 새로운 방식으로 그들을 관리 하는 회사. 큰 데이터는 구조적 또는 비구조적 데이터 형식의 대형 컬렉션. 그러나 Hadoop,, 아파치 게시 페타 구조화 되지 않은 데이터를 분석 하 고 다른 응용 프로그램을 관리할 수 있는 형식으로 변환 하는 소프트웨어 아키텍처입니다. Hadoop 대형 데이터 처리를 위해 가능 하 게 및 기업 고객 데이터에서 새로운 비즈니스 기회를 탐험 수 있습니다. 실시간 처리 가까이 또는 실시간 처리를 할 수 있는 경우 사용자가 많은 산업 분야에서 강한 이점을 제공할 것 이다 그것.
Hadoop은 설계 구글의 MapReduce 및 분산 파일 시스템 원칙을 기반 수 있습니다 일반적인 네트워크 및 서버 하드웨어에 배포 하 고 컴퓨팅 클러스터로 만든.
Hadoop 모델
Hadoop은 매우 큰 데이터 집합 쿼리에 의해 처리를 더 작은 단위로 절단 하 여 작동 합니다. 계산 리소스 동일한 노드에 대 한 병렬 쿼리 처리를 위해 사용 됩니다. 작업이 처리 될 때 처리 결과 요약 하 고 사용자에 게 보고 또는 분석 응용 프로그램을 통해 추가 분석 또는 대시보드 디스플레이 대 한 처리.
처리 시간을 최소화 하기 위해 Hadoop "이동 작업 데이터를"이 병렬 아키텍처 보다는 "데이터 이동 작업", 전통적인 모드에서 합니다. 즉는 데이터 실시간 검색, 쿼리, 또는 로컬 데이터를 데이터 처리 과정에 대 한 액세스 등의 데이터 마이닝 작업에는 분산된 시스템에 저장 됩니다 일단 각 노드에 하나의 로컬 쿼리 결과 운영 비용을 감소 시키는.
Hadoop의 가장 큰 기능은 그것의 내장 병렬 처리 및 선형 확장성, 큰 데이터 집합 쿼리를 제공 하 고 결과 생성 하는. 구조에서 Hadoop은 두 개의 주요 부분:
하 둡 분산 파일 시스템 (HDFS) 데이터 파일 조각으로 삭감 하 고 내결함성과 고성능을 제공 하기 위해 여러 노드 내에서 저장. 여러 노드에 대 한 집계 I/O의 많은 수 뿐만 아니라 성능 보통 블록-128MB 등의 크기에 따라 다릅니다. 전통적인 리눅스 시스템의 일반적인 데이터 블록 크기는 4 킬로바이트 수 있습니다.
MapReduce는 Jobtracker 노드 클라이언트, 다양 한 더 작은 작업으로 큰 작업을 "분할-정복" 방법에서에서 분석에 동의를 통해 엔진 및 그런 다음 할당 된 각 Tasktrack 노드 및 주요 역 / 역 배포 모드에서 (다음 그림에서와 같이) :
Hadoop 시스템에 세 가지 주요 기능 노드: 클라이언트, 호스트 및 기계. 클라이언트는 시스템에 데이터 파일을 삽입 하 고 시스템에서 결과 검색, 전송 시스템의 호스트 노드를 통해 분석. 호스트 노드는 두 가지 기본적인 기능: 분산 파일 시스템에서 및 컴퓨터 노드에서 각 노드의 데이터 저장소를 관리 하 고 관리 컴퓨터 노드에서 할당 및 맵/리듀스 작업 처리를 추적 하는 작업. 데이터 저장 및 분석 처리의 실제 성능은 컴퓨터 노드는 실행 중인 데이터 노드 및 작업 추적, 전달 하 고 해당 호스트 노드에 의해 제어의 성능에 따라 달라 집니다. 에 일반적으로 여러 데이터 블록의 노드에서 작업 중 여러 작업을 처리 하기 위해 할당 됩니다.
구현을 Hadoop 배포
각 노드의 하드웨어의 주요 요구 사항은 시 및 카운티 컴퓨팅, 메모리, 네트워크 및 저장소 등 4 개의 자원의 균형. 가장 일반적으로 사용 하 고 "최고" 솔루션으로 알려진 상대적으로 낮은 배포 비용의 하드웨어, 모든 가능한 오류를 처리 하기 위해 충분 한 서버를 배포 하 고 배포 하는 완전 한 랙 시스템입니다.
Hadoop 모드 서버와 San 직접 연결 스토리지 (DAS)에 또는 NAS를 필요 합니다. Das를 사용 하 여 세 가지 주요 이유 있으며 표준화 된 클러스터 노드 수천, 스토리지 시스템 비용, 낮은 대기 시간, 및 스토리지 용량 요구 사항 증가, 간단한 구성 및 배포의 주요 고려 사항에서에서 조절 됩니다. 매우 비용 효율적인 1TB 디스크의 가용성, 큰 클러스터 데이터의 테라바이트의 DAS에 저장할 수 있습니다. 이 매우 비싼 배포 SAN 배포의 전통적인 접근을 해결 하 고 너무 많은 스토리지 Hadoop 및 데이터 스토리지 발굴 시작 비용. 다음 그림에서와 같이 대용량 데이터 노드는 약 1-2 TB, 및 이름 제어 노드는 약 사이 1-5 TB, Das 서버와 사용자의 Hadoop 배포의 상당 부분이 만들어집니다.
출처: 브래드 Hedlund, Dell i n c.
대부분의 Hadoop 배포 인프라에 영향을 미치는 다른 요인 또한 기가 비트 이더넷 카드 또는 서버에 내장 된 기가 비트 이더넷 스위치 등 액세서리에 달려 있습니다. CPU와 메모리 선택, 일치 데이터 전송 속도 요구 사항 기가 비트 이더넷 인터페이스의 저가 솔루션 구축 비용 모델의 요구 사항에 따라 하드웨어의 이전 세대. 기가 비트 이더넷 사용 하 여 Hadoop 배포도 꽤 좋은 선택입니다.
Hadoop 클러스터에서 기가 비트 이더넷의 효과
기가 비트 이더넷 성능을 Hadoop 시스템의 전반적인 성능에 주요 제약 이다. 더 큰 블록 크기를 사용 하 여, 예를 들어 한 노드에 오류가 발생 하면 (또는 더 나쁜, 전체 랙 내려갑니다), 전체 클러스터 해야 기가 비트 이더넷, 줄여 전체 클러스터의 성능을 제공할 수 있는 네트워크 대역폭을 초과할 수 있는 데이터의 테라 바이트를 복구 합니다. 노드의 수천 수만의 대형 클러스터에서 기가 비트 이더넷 장치 시스템 작업 데이터 노드 간에 할당 된 중간 결과 요구 하는 때 일반적으로 실행 되는 동안 네트워크 혼잡을 발생할 수 있습니다.
각 하 둡 데이터 노드의 목표는 CPU, 메모리, 스토리지 및 네트워크 리소스의 균형을 해야 합니다. 4 중 상대적으로 성능이 라면, 시스템의 용량을 처리 하는 잠재적인 병목 현상을 발생 가능성이 높습니다. 더 많은 Cpu와 메모리 빌드 스토리지 및 네트워크의 균형에 영향을 미칠 것입니다 추가 Hadoop 클러스터 노드 더 효율적으로 데이터를 처리, 결과 줄이고 더 HDFS 스토리지 노드 Hadoop 클러스터를 추가 하 게 하는 방법.
다행히, CPU와 메모리의 개발에 영향을 미치는, 무어의 법칙 (에서 메가 높은 기가 비트) 이더넷 기술과 스토리지 기술 (테라바이트의 디스크)의 개발에 영향을 또한 이다. 멀티 코어 프로세서, 디스크 노드 당 5-20 TB 용량, 64-128 GB 메모리 및 기가 비트 이더넷 카드 및 스위치와 같은 네트워크 구성 요소와 같은 구성 요소 업그레이드 사전 시스템 자원 재조정에 대 한 가장 합리적인 옵션이 있습니다. 기가 비트 이더넷 Hadoop 클러스터에 그것의 가치를 증명 것입니다 하 고 높은 수준의 네트워크 사용률 보다 효율적인 대역폭을 가져올 것 이다. 다음 그림에서는 Hadoop 클러스터와 기가 비트 이더넷 연결을 보여 줍니다.
많은 엔터프라이즈 수준의 데이터 센터 서버 통합 및 서버 가상화 10GbE 네트워크 마이그레이션 있다. 점점 더 많은 기업이 Hadoop 배포 시작, 그들은 그 그들은 필요가 없습니다 1U 랙 서버, 대량에서 배포 하지만 각 데이터 노드를 실행할 수 있는 작업의 수의 확장을 촉진 하기 위하여 적은, 하지만 높은 성능 서버 배포 찾으십시오. 많은 기업 노드와 24 TB 저장 용량 당 약 12-16 코어 2U 나 4U 서버 (Dell PowerEdge C2100)를 배포 하기로 결정 했습니다. 합리적인 선택이이 환경에서 Hadoop 클러스터에 이미 배포 10GbE 장치의 활용 및 10GbE 네트워크 어댑터를 걸릴 것입니다.
일상적인 IT 환경에서 간단한 Hadoop 클러스터를 구축 합니다. 확신 하기 위해, 많은 세부 조정 해야 하는 있지만 기본 매우 간단 있습니다. 시스템 컴퓨팅, 스토리지 및 네트워크 리소스를 균형을 구축 하는 것은 프로젝트의 성공에 중요 합니다. 고밀도 노드 Hadoop 클러스터, 기가 비트 이더넷 전반적인 시스템 성능 저하를 유발 하지 않고 컴퓨팅 및 스토리지 리소스 확장에 맞게 능력을 제공할 수 있습니다.