HDInsight의 작동 원리

완료됨

HDInsight는 기본적으로 항상 사용할 수 있고 안전한 클라우드 분산 데이터 처리 시스템입니다. 이 시스템의 핵심은 Apache Hadoop입니다. Apache Hadoop에는 스토리지에 사용되는 Apache HDFS(Hadoop Distributed File System) 및 처리를 제공하는 Apache Hadoop YARN(Yet Another Resource Negotiator)의 두 가지 핵심 구성 요소가 포함되어 있습니다. 데이터를 처리하고 분석할 수 있는 간단한 MapReduce 프로그래밍 모델도 포함됩니다. MapReduce의 이점은 쉽게 설정할 수 있으며 자동 크기 조정 기능을 통해 비용을 제어할 수 있다는 것입니다.

A conceptual view of the HDInsight architecture

스토리지

스토리지 측면은 HDInsight 클러스터를 프로비저닝할 때 자동으로 생성되지 않습니다. 대신, Azure Storage 또는 Azure Data Lake와 같은 HDFS 규격 시스템에서 제공됩니다. 처리 레이어의 스토리지를 분리하면 사용자 데이터 손실 없이 계산에 사용된 HDInsight 클러스터를 안전하게 삭제할 수 있습니다. HDInsight 클러스터를 추가하는 경우 기본 파일 시스템을 정의해야 합니다. 필요에 따라 파일 시스템을 연결하고 연결을 해제하여 스토리지 크기를 늘릴 수 있습니다.

다음 정보는 HDInsight 3.6 이상에 관련됩니다. 몇 가지 예외가 있지만 HDInsight 클러스터를 만드는 과정에서 Azure Storage 또는 Azure Data Lake Storage Gen2를 기본 파일 시스템으로 지정할 수 있습니다. 기본 파일 시스템을 제공하면 파일을 검색할 때 상대 파일 참조를 확인할 수 있습니다. Azure Storage의 경우 Blob 컨테이너를 기본 파일 시스템으로 지정해야 합니다.

HDInsight storage options

대부분의 설정은 Azure Data Lake Storage Gen2를 사용합니다. 이러한 형식의 설정은 Hadoop, Microsoft Entra 통합 및 POSIX 기반 ACL(액세스 제어 목록)과 호환되는 파일 시스템의 핵심 기능을 사용합니다. 이전 버전과의 호환성을 위해 Azure Blob Storage를 사용할 수 있지만, 가능하면 Azure Data Lake Storage Gen2를 사용하는 것이 좋습니다.

처리

데이터를 처리할 때 HDInsight에서 Hadoop 클러스터의 컴퓨팅 측면은 두 개의 논리 영역으로 분할됩니다. 헤드(마스터) 노드 및 작업자 노드. 헤드(마스터) 노드는 클라이언트 요청을 수락하고 관리한 다음, 요청을 작업자 노드에 전달하여 데이터 처리를 수행해야 합니다. 일반적으로 두 개의 마스터 노드가 있습니다. 활성 마스터 노드는 클라이언트 연결을 관리합니다. 두 번째 수동 마스터 노드는 주 복제본이 오프라인 상태가 될 경우 복원력을 제공합니다.

HDInsight node types

작업자 노드는 마스터 노드에서 할당한 데이터를 처리합니다. 관리되는 데이터는 MapReduce 프로그래밍 모델에서 데이터 사용 방법 및 마스터 노드의 작업 할당 방법을 어떻게 정의했는지에 따라 달라집니다. 헤드 및 작업자 노드는 모두 로컬로 연결된 DFS(분산 파일 시스템)에 직접 연결되거나, Azure Blob 또는 Azure Data Lake에 저장된 데이터에 액세스할 수 있습니다.

OSS 관점에서 HDInsight 클러스터의 리소스 관리 기능은 YARN에서 수행됩니다. 이 서비스는 데이터를 처리할 때 수행되는 리소스 및 작업 일정을 관리합니다. HDFS와 HDInsight 클러스터의 계산 시스템 사이에 배치됩니다. 서비스는 다른 OSS 기술과 함께 사용되어 HDInsight 작업을 처리하는 리소스가 사용 가능한지 확인합니다. YARN은 헤드 노드를 사용하여 클러스터의 작업자 노드에 작업을 분산하여 데이터 처리 작업이 병렬 처리되는지 확인합니다.

HDFS, YARN 및 MapReduce는 HDInsight에서 Hadoop에 필요한 세 가지 핵심 서비스입니다. 일반적으로 추가 OSS 기술을 사용하여 솔루션을 보다 쉽게 만들 수 있습니다. 예를 들어 Hive를 추상화 레이어로 사용할 수 있습니다. 이 레이어는 MapReduce를 기반으로 배치되므로 임시 데이터 처리 및 분석을 수행하는 SQL 형식 언어 구문을 작성할 수 있습니다. 또는 Apache Ambari를 사용하여 HDInsight 클러스터에서 모니터링을 수행할 수 있습니다.