노드 유형 이해: 프라이머리, 코어, 태스크 노드 - 아마존 EMR

기계 번역으로 제공되는 번역입니다. 제공된 번역과 원본 영어의 내용이 상충하는 경우에는 영어 버전이 우선합니다.

노드 유형 이해: 프라이머리, 코어, 태스크 노드

이 섹션을 통해 Amazon이 이러한 각 노드 유형을 어떻게 EMR 사용하는지 이해하고 클러스터 용량 계획의 기반으로 삼을 수 있습니다.

프라이머리 노드

프라이머리 노드는 클러스터를 관리하며 일반적으로 분산 애플리케이션의 프라이머리 구성 요소를 실행합니다. 예를 들어, 기본 노드는 YARN ResourceManager 서비스를 실행하여 애플리케이션의 리소스를 관리합니다. 또한 HDFS NameNode 서비스를 실행하고, 클러스터에 제출된 작업의 상태를 추적하고, 인스턴스 그룹의 상태를 모니터링합니다.

클러스터의 진행 상황을 모니터링하고 애플리케이션과 직접 상호 작용하려면 Hadoop SSH 사용자로 기본 노드에 연결할 수 있습니다. 자세한 내용은 를 사용하여 기본 노드에 연결 SSH 단원을 참조하십시오. 프라이머리 노드에 연결하면 Hadoop 로그 파일과 같은 디렉터리 및 파일에 직접 액세스 할 수 있습니다. 자세한 내용은 로그 파일 보기 단원을 참조하십시오. 프라이머리 노드에서 실행 중인 웹 사이트로 애플리케이션이 게시하는 사용자 인터페이스를 확인할 수도 있습니다. 자세한 내용은 Amazon EMR 클러스터에서 호스팅되는 웹 인터페이스 보기 단원을 참조하십시오.

참고

Amazon EMR 5.23.0 이상에서는 YARN 리소스 관리자, Spark, Hive, HDFS NameNode Ganglia와 같은 애플리케이션의 고가용성을 지원하는 세 개의 기본 노드가 있는 클러스터를 시작할 수 있습니다. 이 기능을 사용하면 프라이머리 노드가 더 이상 잠재적 단일 장애 지점이 아닙니다. 기본 노드 중 하나에 장애가 발생하면 Amazon은 EMR 자동으로 예비 기본 노드로 장애 조치하고 장애가 발생한 기본 노드를 구성 및 부트스트랩 작업이 동일한 새 노드로 교체합니다. 자세한 내용은 프라이머리 노드 계획 및 구성을 참조하세요.

코어 노드

코어 노드는 프라이머리 노드에서 관리합니다. 코어 노드는 Data Node 데몬을 실행하여 하둡 분산 파일 시스템 () 의 일부로 데이터 스토리지를 조정합니다. HDFS 또한 코어 노드는 Task Tracker 데몬을 실행하고 설치된 애플리케이션에 필요한 데이터에 대해 다양한 병렬 계산 작업도 수행합니다. 예를 들어 코어 노드는 YARN NodeManager 데몬, 하둡 MapReduce 작업 및 Spark 실행기를 실행합니다.

클러스터당 코어 인스턴스 그룹 또는 인스턴스 플릿은 하나이지만, 인스턴스 그룹 또는 인스턴스 플릿의 여러 Amazon EC2 인스턴스에서 여러 노드가 실행될 수 있습니다. 인스턴스 그룹을 사용하면 클러스터가 실행되는 동안 Amazon EC2 인스턴스를 추가 및 제거할 수 있습니다. 또한 지표 값을 기반으로 인스턴스를 추가하도록 자동 크기 조정을 설정할 수 있습니다. 인스턴스 그룹 구성을 사용하여 Amazon EC2 인스턴스를 추가 및 제거하는 방법에 대한 자세한 내용은 을 참조하십시오클러스터 조정 사용.

인스턴스 플릿을 사용하면 인스턴스 플릿의 대상 용량을 온디맨드 및 스팟에 맞게 적절히 수정하여 인스턴스를 효과적으로 추가 및 제거할 수 있습니다. 대상 용량에 대한 자세한 내용은 인스턴스 플릿 옵션 단원을 참조하십시오.

주의

실행 중인 코어 노드에서 HDFS 데몬을 제거하거나 코어 노드를 종료하면 데이터가 손실될 위험이 있습니다. 스팟 인스턴스를 사용하도록 코어 노드를 구성할 때는 각별히 주의하십시오. 자세한 내용은 스팟 인스턴스는 언제 사용해야 하나요? 단원을 참조하십시오.

태스크 노드

작업 노드를 사용하여 데이터에 대한 병렬 계산 작업 (예: Hadoop MapReduce 작업 및 Spark Executor) 을 수행하기 위한 전원을 추가할 수 있습니다. 태스크 노드는 Data Node 데몬을 실행하지 않으며 데이터를 저장하지도 않습니다. HDFS 코어 노드와 마찬가지로 Amazon EC2 인스턴스를 기존의 단일 인스턴스 그룹에 추가하거나 작업 인스턴스 플릿의 목표 용량을 수정하여 클러스터에 작업 노드를 추가할 수 있습니다.

균일한 인스턴스 그룹 구성에서 태스크 인스턴스 그룹을 총 48개까지 포함할 수 있습니다. 이러한 방식으로 인스턴스 그룹을 추가할 수 있으므로 Amazon 인스턴스 유형과 가격 옵션 (예: 온디맨드 EC2 인스턴스 및 스팟 인스턴스) 을 혼합하여 사용할 수 있습니다. 따라서 워크로드 요구 사항에 비용 효율적으로 대처할 수 있는 유연성을 얻게 됩니다.

인스턴스 플릿 구성을 사용하는 경우 인스턴스 유형과 구매 옵션을 혼합할 수 있는 기능이 기본으로 제공되므로 태스크 인스턴스 플릿은 하나만 있습니다.

스팟 인스턴스는 작업 노드를 실행하는 데 자주 사용되기 때문에 EMR Amazon에는 스팟 인스턴스에서 실행되는 YARN 작업 노드가 종료될 때 작업 실행이 실패하지 않도록 작업을 예약하는 기본 기능이 있습니다. EMRAmazon은 애플리케이션 마스터 프로세스가 코어 노드에서만 실행되도록 허용함으로써 이를 수행합니다. 애플리케이션 마스터 프로세스는 실행 중인 작업을 제어하며, 작업 수명 동안 유지되어야 합니다.

Amazon EMR 릴리스 5.19.0 이상에서는 내장된 YARN노드 레이블 기능을 사용하여 이를 구현합니다. (이전 버전에서는 코드 패치를 사용했습니다.) yarn-sitecapacity-scheduler 구성 분류의 속성은 YARN 용량 스케줄러와 공정한 스케줄러가 노드 레이블을 활용할 수 있도록 기본적으로 구성됩니다. Amazon은 EMR 자동으로 레이블을 사용하여 코어 노드에 CORE 레이블을 지정하고 CORE 레이블이 있는 노드에서만 애플리케이션 마스터가 예약되도록 속성을 설정합니다. yarn-site 및 capacity 스케줄러 구성 분류의 관련 속성을 수동으로 수정하거나 관련 XML 파일에서 직접 수정하면 이 기능이 손상되거나 기능이 수정될 수 있습니다.

Amazon EMR 6.x 릴리스 시리즈부터 YARN 노드 레이블 기능이 기본적으로 비활성화됩니다. 애플리케이션 기본 프로세스는 기본적으로 코어 및 태스크 노드 모두에서 실행할 수 있습니다. 다음 속성을 구성하여 YARN 노드 레이블 기능을 활성화할 수 있습니다.

  • yarn.node-labels.enabled: true

  • yarn.node-labels.am.default-node-label-expression: 'CORE'

Amazon EMR 7.x 릴리스 시리즈부터 Amazon은 온디맨드 또는 스팟과 같은 시장 유형별로 인스턴스에 YARN 노드 레이블을 EMR 할당합니다. 다음 속성을 DEMAND 구성하여 노드 레이블을 활성화하고 애플리케이션 프로세스를 ON_으로 제한할 수 있습니다.

yarn.node-labels.enabled: true yarn.node-labels.am.default-node-label-expression: 'ON_DEMAND'

Amazon EMR 7.0 이상을 사용하는 경우 다음 구성을 사용하여 신청 프로세스를 CODE 레이블이 있는 노드로 제한할 수 있습니다.

yarn.node-labels.enabled: true yarn.node-labels.am.default-node-label-expression: 'CORE'

Amazon EMR 릴리스 7.2 이상의 경우 클러스터가 노드 레이블을 사용한 관리형 조정을 사용하는 경우 EMR Amazon은 애플리케이션 프로세스와 실행자 수요에 따라 독립적으로 클러스터를 확장하려고 합니다.

예를 들어 Amazon EMR 릴리스 7.2 이상을 사용하고 애플리케이션 프로세스를 ON_DEMAND 노드로 제한하는 경우 Managed Scaling은 애플리케이션 프로세스 수요가 증가하면 ON_DEMAND 노드를 확장합니다. 마찬가지로 애플리케이션 프로세스를 CORE 노드로 제한하는 경우 Manged Scaling은 애플리케이션 프로세스 수요가 증가하면 CORE 노드를 확장합니다.

특정 속성에 대한 자세한 내용은 태스크 노드 스팟 인스턴스 종료로 인한 작업 실패를 방지하기 위한 Amazon EMR 설정 단원을 참조하십시오.