복붙노트

[HADOOP] kubernetes vs yarn / hadoop 생태계에 불꽃을 일으킨다.

HADOOP

kubernetes vs yarn / hadoop 생태계에 불꽃을 일으킨다.

나는 kubernetes에 발화를위한 많은 견인을 본다. Hadoop을 실행하는 것보다 효과적입니까? 두 접근법 모두 분산 접근 방식으로 실행됩니다. 누군가가 kubernetes 대 Hadoop 생태계를 실행하는 것과 Spark의 차이점을 이해할 수 있습니까?

감사

해결법

  1. ==============================

    1.Spark를 더 이상 실행하지 않기 때문에 이론적 인 대답입니다. 따라서 Spark를 kubernetes에서 실행하지는 않았지만 Hadoop 클러스터와 kubernetes 클러스터를 모두 유지 관리했습니다. 그들의 차이.

    Spark를 더 이상 실행하지 않기 때문에 이론적 인 대답입니다. 따라서 Spark를 kubernetes에서 실행하지는 않았지만 Hadoop 클러스터와 kubernetes 클러스터를 모두 유지 관리했습니다. 그들의 차이.

    Kubernetes는 합리적인 사람이 원할 수있는 것처럼 모든 구성 요소에 대한 api 액세스 권한을 가진만큼 많은 리소스 관리자를 강하게 만듭니다. 이것은 매우 고통스럽지 않은 선언적 리소스 제한 (CPU와 RAM, 그리고 시스템 콜 용량까지), 매우 고통없는 로그 아웃렛 (kubectl을 통해 사용자에게 그리고 로그 관리 접근 방식의 여러 가지를 사용하여 클러스터 밖으로 되돌아 오는 것), 전례없는 수준의 메트릭 수집 및 이탈로 인해 클러스터 및 그 작업의 상태를 계속 주시 할 수 있으며 목록이 계속됩니다.

    하지만 아마도 kubernetes에서 Spark를 실행하는 가장 큰 이유는 kubernetes를 실행하는 것과 동일한 이유입니다. 다른 작업 부하 (물론 위의 모든 이점을 포함하여)에 대해 새로운 컴퓨터를 만드는 대신 리소스를 공유해야합니다. 따라서 Spark 클러스터를 사용하는 경우 작업이 활발하게 실행되지 않는 동안 $$$을 (를) 구울 가능성이 매우 높습니다. kubernetes는 Spark를 실행하지 않는 동안 그 노드에 유쾌하게 다른 작업을 예약합니다 일자리. 그렇습니다. Mesos와 Yarn은 "일반적인"클러스터 리소스 관리자이지만, 그들은 kubernetes만큼 고통 스럽거나 유비쿼터스 적이라는 것이 나의 경험이 아니 었습니다.

    카운터 서사를 게시하거나 kubernetes에서 Spark에 대한 직접 경험을 제공하는 사람을 환영합니다.하지만 tho

  2. ==============================

    2.Matthew L Daniel의 견해를 완성하기 위해 광산은 Kubernetes가 데이터 파이프 라인에 가져올 수있는 두 가지 흥미로운 개념에 중점을 둡니다. - 네임 스페이스와 리소스 할당량은 매번 새로운 노드가 없어도 예를 들어 훨씬 더 많은 리소스를 데이터 집약적 인 / 예측할 ​​수없는 / 비즈니스에 중요한 부분에 할당하여 리소스를 쉽게 분리하고 공유하는 데 도움이됩니다. - 수평 확장 - 기본적으로 Kubernetes 스케줄러가 Spark의 동적 리소스 할당으로 생성 될 수있는 새 포드를 할당하지 못하면 (아직 구현되지 않음) 필요한 노드를 동적으로 마운트 할 수 있습니다 (예 : https : // github. co.kr / kubernetes / autoscaler / tree / master / cluster-autoscaler # 소개). 그것은 Apache Spark에서 수평 확장은 현재 달성하기 어렵다는 것을 의미합니다. 왜냐하면 실행 종료 관리자의 경우에도 외부 셔플 서비스를 유지해야하기 때문입니다. 따라서 부하가 줄어들더라도 노드 증가를 처리하도록 노드를 유지합니다. 그러나이 문제가 해결되면 Kubernetes 자동 스케일링은 비용 절감, 처리 성능 개선 및 파이프 라인 탄력성을 높이는 흥미로운 옵션이 될 것입니다.

    Matthew L Daniel의 견해를 완성하기 위해 광산은 Kubernetes가 데이터 파이프 라인에 가져올 수있는 두 가지 흥미로운 개념에 중점을 둡니다. - 네임 스페이스와 리소스 할당량은 매번 새로운 노드가 없어도 예를 들어 훨씬 더 많은 리소스를 데이터 집약적 인 / 예측할 ​​수없는 / 비즈니스에 중요한 부분에 할당하여 리소스를 쉽게 분리하고 공유하는 데 도움이됩니다. - 수평 확장 - 기본적으로 Kubernetes 스케줄러가 Spark의 동적 리소스 할당으로 생성 될 수있는 새 포드를 할당하지 못하면 (아직 구현되지 않음) 필요한 노드를 동적으로 마운트 할 수 있습니다 (예 : https : // github. co.kr / kubernetes / autoscaler / tree / master / cluster-autoscaler # 소개). 그것은 Apache Spark에서 수평 확장은 현재 달성하기 어렵다는 것을 의미합니다. 왜냐하면 실행 종료 관리자의 경우에도 외부 셔플 서비스를 유지해야하기 때문입니다. 따라서 부하가 줄어들더라도 노드 증가를 처리하도록 노드를 유지합니다. 그러나이 문제가 해결되면 Kubernetes 자동 스케일링은 비용 절감, 처리 성능 개선 및 파이프 라인 탄력성을 높이는 흥미로운 옵션이 될 것입니다.

    그러나이 모든 말은 개인적인 관찰과 Kubernetes 초기 Spark on features (2.3.0)의 일부 로컬 테스트를 기반으로합니다.

  3. from https://stackoverflow.com/questions/51034935/spark-over-kubernetes-vs-yarn-hadoop-ecosystem by cc-by-sa and MIT license