핵심 개요 스파크

1 스파크 핵심 부품


1.1 클러스터 관리자 (마스터, ResourceManager에)

전체 클러스터 자원의 할당 및 관리를 주로 담당 스파크 클러스터 관리자, 클러스터 관리자

  • 에서는 원사 전개 모드 하에서 는 ResourceManager
  • 에서 메소 배포 모드에서 메소 마스터
  • 에서 독립 에 대한 배포 모드에서 마스터.

클러스터 관리자 자원 할당은 할당에 속하는 각각의 노동자, CPU 및 응용 프로그램에 할당 된 다른 자원의 특성의 메모리 ,하지만 자원 집행자의 할당에 대한 책임을지지 않습니다.

1.2 작업자 (작업자 NodeManager)

스파크의 작업 노드 에서 원사 실제 배포 모드로. NodeManager의 대안. 다음에 대한 주요 책임 :

  • 등록 메커니즘을 통해 자신의 메모리, CPU 및 기타 리소스 클러스터 관리자를 알려
  • 만들기 집행자
  • 집행 인에 대한 리소스 및 태스크의 추가 할당
  • 동기화 자원 정보, 집행자 상태 및 ClusterManager 기타 정보

1.3 드라이버

스파크 드라이브 노드, 실제 코드의 실행에 대한 책임 스파크에서 작업을 수행하는 데 사용되는 주요 방법 드라이버는 스파크에서 작업 실행에 대한 책임이 있습니다 :

  • 작업에 사용자 프로그램 (작업)
  •  집행 인 스케줄링 작업 사이 (작업)
  •  집행자의 구현을 추적
  •  UI가 표시 조회 조작 스루

1.4 집행자

스파크 집행자 노드는 스파크 작업에서 특정 작업을 실행에 대한 책임 , 작업은 서로 독립적입니다. 스파크는 응용 프로그램이 시작되면 집행 인 노드는 동시에 시작하고, 항상 스파크 응용 프로그램이 존재의 전체 라이프 사이클을 동반합니다. 이 집행자 노드가 실패하거나 손상된 경우, 스파크 응용 프로그램이 계속 실행 수, 작업 스케줄링 실수는 다른 노드 집행자에서 실행중인 노드에서 계속 될 것입니다. 집행자는 두 가지 핵심 기능이 있습니다 :

  • 스파크는 작업 응용 프로그램의 구성을 실행에 대한 책임, 그리고 드라이버 (드라이버)로 결과를 반환
  • 그들은 자신의 블록 관리자를 통해 메모리 스토리지를 제공 (블록 관리자) 프로그램은 사용자의 캐시 RDD을 필요로한다. RDD 캐시 집행자의 과정에서 바로 작업이 컴퓨팅 가속 런타임에 데이터를 캐싱을 활용할 수 있습니다.

1.5 응용 프로그램

사용자 API 스파크가 작성된 응용 프로그램을 제공

  • 응용 프로그램 구성 및 드라이버 클러스터 관리자에 의해 DAG RDD 점화 API, 응용 프로그램에 의해 변환 및 등록됩니다.
  • 클러스터 관리자 응용 프로그램은 자원 요구 사항에 따라되며, 패스 배포를 통해 응용 프로그램에 집행 인, 메모리, CPU 및 기타 리소스를 할당합니다.
  • 보조 할당을 통해 드라이버 집행 인 및 기타 자원이 각 작업에 할당됩니다, 응용 프로그램 집행 인은 마지막으로 드라이버에서 작업을 실행했다

2, 실행중인 프로세스의 일반적인 개요 불꽃


스파크 일반적인 절차를 운영, 스파크 배포 모드, 다음과 같은 핵심 단계에서 작업하는 것에 상관없이 :

  1. 작업 제출 후, 먼저 드라이버 프로그램을 시작합니다
  2. 클러스터 관리자에 후 드라이버 등록 신청
  3. 클러스터 관리자는 구성 파일의 작업에 따라 집행 인을 지정하고 응용 프로그램을 시작
  4. 모든 자원이 충족 드라이버에 필요한 경우 실행 단계에 따라 작업 운영자 중성자 분할, 예측 역 시작할 때, 드라이버의 주요 기능은 스파크 게으른 실행을 변환, 실행을 시작 의존성 폭, 각 스테이지 taskset에 해당하는, TaskSet 여러 작업을
  5. 현지화의 원칙에 따라, 작업은 작업 실행 중에 수행 할 수있는 지정 집행자로 배포됩니다, 집행자는 보고서 작업의 운영 및 드라이버를 전달하는 것

추천

출처www.cnblogs.com/hyunbar/p/12079449.html