인프런 커뮤니티 질문&답변

backboss님의 프로필 이미지
backboss

작성한 질문수

실리콘밸리 엔지니어에게 배우는 파이썬 아파치 스파크

Spark Architecture(스파크 아키텍쳐) 소개

스파크 아키텍쳐 관련 문의 드립니다.

작성

·

232

1

스파크 아키텍쳐 부분을 보는데

Yarn Runtime Architecture 에서 4.Negotiate resources 이후 5과정을

갈때 속해 있던 Slave Node 에서 실행되는게 아니라 굳이 다른 Slave Node 로 가서 실행을 하는데 이유가 있나요?

 

4.Negotiate resources 과정을 리소스 분배? 라우팅 같은 개념으로 이해를 하면 될까요?

 

답변 2

1

안녕하세요, 비슷한 질문인 것 같아 답변으로 질문드립니다!
그러면 여러 개의 slave node가 있을 때에는 같은 slave node에서 task container를 실행할지, 다른 slave node에서 task container를 실행할지를 고르는 기준은 어떻게 되는건가요??

감사합니다!

미쿡엔지니어님의 프로필 이미지
미쿡엔지니어
지식공유자

안녕하세요 jieunjeon818님,

좋을 질문이네요. 일단 이러한 일들은 스파크 스케줄러에서 관리를 하고, Hadoop YARN이나 Mesos같은 프레임워크에서 선택된다면, 리소스 관리자에게 물어보게 됩니다. 리소스가 식별되면 스파크 스케줄러는 사용 가능한 노드에 태스크를 어떻게 분배할지 결정하게 되고, 데이터 지역성(데이터가 있는 노드에서 태스크를 실행하는 것)과 사용 가능한 리소스, 잠재적인 병목 현상 등과 같은 요소를 고려합니다.

기본적으로 스파크는 태스크가 필요로 하는 데이터가 있는 노드에 태스크를 스케줄링하려고 합니다. 이를 통해 네트워크를 통한 데이터 이동을 최소화하고 성능을 향상시킵니다. 스케줄러가 노드에 태스크 할당을 결정하면, 각 워커 노드 내의 컨테이너(또는 실행기) 내에서 태스크가 실행됩니다
도움이 되었을까요?

0

미쿡엔지니어님의 프로필 이미지
미쿡엔지니어
지식공유자

안녕하세요 backboss님,

좋은 질문입니다. 같은 노드에서 리소스를 받아 실행을 하기도 하는데, Application master 다른 노드의 리소스도 액세스 가능하다는 것을 보여주기 위해서 그림을 그렇게 그려놓았습니다 ㅎㅎㅎ Slave노드가 하나라면 다 거기서 처리하겠죠.

좋은 질문 감사합니다!

backboss님의 프로필 이미지
backboss

작성한 질문수

질문하기