>일반적인 문제 >HADOOP의 세 가지 핵심 구성 요소는 무엇입니까?

HADOOP의 세 가지 핵심 구성 요소는 무엇입니까?

小老鼠
小老鼠원래의
2024-01-04 10:52:347153검색

HADOOP의 세 가지 핵심 구성 요소는 HDFS, MapReduce 및 YARN입니다. 자세한 소개: 1. HDFS: Hadoop 클러스터에 대량의 데이터를 저장하는 데 사용되는 분산 파일 시스템입니다. 내결함성이 높고 여러 데이터 노드에 데이터를 저장할 수 있으며 높은 처리량의 데이터 액세스를 제공합니다. 2. MapReduce: 대규모 데이터 세트의 병렬 처리에 사용됩니다. 빅데이터 작업을 여러 개의 작은 작업으로 분해하고 여러 노드에서 병렬로 처리한 후 최종적으로 결과를 요약합니다. 3. YARN: 클러스터 리소스 할당 및 관리를 담당합니다.

HADOOP의 세 가지 핵심 구성 요소는 무엇입니까?

Hadoop의 세 가지 핵심 구성 요소는 HDFS(분산 파일 저장소), MapReduce(분산 컴퓨팅) 및 YARN(리소스 스케줄링)입니다.

1. HDFS: HADOOP 분산 파일 시스템

HDFS(Hadoop Distributed File System)는 Hadoop 프로젝트의 핵심 하위 프로젝트로, 클러스터 데이터의 저장 및 읽기를 주로 담당합니다. 분산 파일 시스템을 위한 슬레이브(마스터/슬레이브) 아키텍처. HDFS는 사용자나 응용 프로그램이 디렉터리를 생성한 다음 이러한 디렉터리에 파일을 저장할 수 있는 전통적인 계층적 파일 구성 구조를 지원합니다. 파일 시스템 네임스페이스의 계층 구조는 대부분의 기존 파일 시스템과 유사하며 파일 경로를 통해 파일에 대한 파일 생성, 읽기, 업데이트 및 삭제 작업을 수행할 수 있습니다. 하지만 분산 스토리지의 특성상 기존 파일 시스템과는 분명히 다릅니다.

HDFS 장점:

  • 높은 내결함성. HDFS가 업로드한 데이터는 자동으로 여러 복사본을 저장하며, 복사본에 데이터를 추가하면 내결함성을 높일 수 있습니다. 복제본이 손실되면 HDFS는 복제본을 다른 시스템에 복제하므로 구현에 대해 걱정할 필요가 없습니다.
  • 빅데이터 처리에 적합합니다. HDFS는 기가바이트, 테라바이트, 심지어 페타바이트 규모의 데이터를 처리할 수 있으며 크기는 수백만에 달하며 이는 매우 큰 규모입니다. (1PB=1024TB, 1TB=1014GB)
  • 스트리밍 데이터 액세스. HDFS는 스트리밍 데이터 액세스 모델을 사용하여 매우 큰 파일을 저장하고 한 번 쓰고 여러 번 읽습니다. 즉, 파일이 일단 작성되면 수정할 수 없고 추가만 가능합니다. 이를 통해 데이터 일관성이 유지됩니다.

2. MapReduce: 대규모 데이터 처리

MapReduce는 Map(매핑)을 포함한 대규모 데이터 세트(1TB 이상)의 병렬 작업에 적합한 프로그래밍 모델입니다. ) 및 감소(감소).

MapReduce 작업이 시작되면 Map 측은 HDFS의 데이터를 읽고 데이터를 필요한 키-값 쌍 유형으로 매핑한 다음 이를 Reduce 측으로 전송합니다. Reduce 측은 Map 측에서 전달된 키-값 쌍 유형 데이터를 수신하여 이를 다른 키에 따라 그룹화하고, 동일한 키로 각 ​​데이터 그룹을 처리하고, 새로운 키-값 쌍을 획득하여 HDFS로 출력하는 것이 핵심입니다. MapReduce의 아이디어.

전체 MapReduce 프로세스에는 데이터 입력 및 샤딩, 맵 단계 데이터 처리, Reduce 단계 데이터 처리, 데이터 출력 및 기타 단계가 포함됩니다.

  • 입력 데이터 읽기. MapReduce 프로세스의 데이터는 HDFS 분산 파일 시스템에서 읽혀집니다. HDFS에 파일을 업로드할 때 일반적으로 128MB에 따라 여러 개의 데이터 블록으로 나누어지므로 MapReduce 프로그램을 실행하면 각 데이터 블록마다 Map이 생성되지만 파일 조각 크기를 재설정하여 Map 수를 조정할 수도 있습니다. MapReduce를 실행하면 설정된 분할 크기에 따라 파일이 다시 분할(Split)되고 분할 크기의 데이터 블록이 Map에 해당됩니다.
  • 지도 스테이지. 프로그램에는 기본 스토리지 또는 샤드 수에 따라 결정되는 하나 이상의 맵이 있습니다. Map 단계의 경우 키-값 쌍의 형태로 데이터를 읽습니다. 키 값은 일반적으로 각 줄의 첫 번째 문자와 파일의 초기 위치 사이의 오프셋, 즉 그 사이의 문자 수입니다. , 값은 이 라인의 데이터 레코드입니다. 요구 사항에 따라 키-값 쌍을 처리하고 이를 새 키-값 쌍으로 매핑한 다음 새 키-값 쌍을 감소 측에 전달합니다.
  • Shuffle/Sort 단계: 이 단계는 Map 출력에서 ​​시작하여 Map 출력을 입력으로 Reduce로 전송하는 프로세스를 나타냅니다. 이 프로세스에서는 먼저 동일한 Map의 동일한 키를 가진 출력 데이터를 통합하여 전송되는 데이터의 양을 줄이고 통합 후 키에 따라 데이터를 정렬합니다.
  • Reduce 단계: Map 단계에서 설정된 데이터 파티션에 따라 결정되는 여러 개의 Reduce 작업이 있을 수도 있습니다. 하나의 파티션 데이터가 하나의 Reduce로 처리됩니다. 각 Reduce 작업에 대해 Reduce는 다양한 Map 작업에서 데이터를 수신하며 각 Map의 데이터는 순서대로 정렬됩니다. Reduce 작업의 각 처리는 동일한 키를 가진 모든 데이터에 대한 데이터를 줄여 새로운 키-값 쌍으로 HDFS에 출력하는 것입니다.

3. Yarn: Resource Manager

Hadoop의 MapReduce 아키텍처는 YARN(Yet Another Resource Negotiator, 또 다른 리소스 코디네이터)이라고 하며, 이는 보다 효율적인 리소스 관리의 핵심입니다.

YARN에는 주로 리소스 관리자(RM), 노드 관리자(NM) 및 애플리케이션 마스터(AM)의 세 가지 주요 모듈이 포함됩니다.

  • 리소스 관리자는 모든 리소스의 모니터링, 할당 및 관리를 담당합니다.
  • 노드 관리자는 각 노드의 유지 관리를 담당합니다.

위 내용은 HADOOP의 세 가지 핵심 구성 요소는 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.