[1] 아키텍처는 간단하게 아래 그림 하나로 요약됨
JobTracker 에 의해서만 리소스에 접근할 수 있으니,
SPARK, STORM 같은 다른 컴퓨팅 클러스터와 연동하기 어려움.
그래서, YARN 이 등장
기존에 MapReduce 중에서 리소스 관리 부분만 가져와서 다른 서비스도 사용가능하도록 구성함. 그래서, hadoop2 부터는 MR 도 YARN API 를 이용한 하나의 프로그램에 불과함.
아무튼, YARN 때문에 다양한 어플리케이션이 하둡 리소스를 이용할 수 있게 되었음.
[2] 동장 방식은 아래 설명으로 끝 !
- 1. 클라이언트는 Application Master 자체를 실행하는 필요한 데이터를 포함하는 응용프로그램을 Resource Manager에게 제출
- 2. Resource Manager는 Node Manager를 통해 Container 할당을 책임지는 Application Master를 시작
- 3. Application Master가 Resource Manager에 등록되고, 클라이언트가 Resource Manager와 통신이 가능.
- 4. Application Master는 resource-request 프로토콜을 통해 Resource Manager를 통해 적절한 리소스의 Container할당을 요청
- 5. Container가 성공적으로 할당되면, Application Master는 실행 스펙을 Node Manager에게 제공하여, Container를 실행시킨다. 실행 스펙을 일반적으로 Container가 Application Master 그 자체와 통신하기 위해 필요한 정보를 포함
- 6. 응용프로그램 코드는 Container에서 실행되고, 진행률, 상태 등의 정보를 응용프로그램-스펙 프로토콜을 통해 응용프로그램의 Application Master에 전송
- 7. 응용프로그램 실행 중 클라이언트는 상태, 진행률 등을 얻기 위해 Application Master와 응용프로그램-스펙 프로토콜을 통해 직접 통신
- 8. 일단 응용프로그램이 완료되고, 모든 필요한 작업이 종료되면, Application Master는 Resource Manager에서 등록된 자신을 제거하고, 자신의 컨테이너를 다른 용도로 사용이 가능하도록 종료
참조)
http://skccblog.tistory.com/1883
http://ourcstory.tistory.com/130 [쌍쌍바나나의 블로그]
'개발 > HADOOP_SPARK_ETC' 카테고리의 다른 글
spark 와 hadoop (0) | 2017.03.14 |
---|---|
yarn [펌] (0) | 2017.03.14 |
scale up vs scale out (0) | 2017.03.14 |
hadoop 도입시 고려사항 [펌] (0) | 2017.03.14 |
spark + s3 + r3 (0) | 2017.03.07 |
댓글