2016-01-21 12 views
6

Jestem od klastra zapłonowej AWS, z jednego podstawowego i 60 rdzeni:Spark: konfiguracja sterownika/pracownika. Czy sterownik działa na węźle głównym?

enter image description here

Oto polecenie uruchomienia, zasadniczo 2 wykonawcy na rdzeń, całkowicie 120 wykonawcy:

spark-submit --deploy-mode cluster --master yarn-cluster --driver-memory 180g --driver-cores 26 --executor-memory 90g --executor-cores 13 --num-executors 120 

jednak w trackerze pracy, jest tylko 119 wykonawców:

enter image description here

Myślałem, że powinienem mieć 1 sterownik + 120 wykonawców robotów. Jednak zobaczyłem 119 wykonawców, w tym 1 kierowca + 118 wykonawców robót.

Czy to oznacza, że ​​mój węzeł nadrzędny nie był używany? Czy sterownik działa w węźle głównym lub węźle głównym? Czy mogę sprawić, by sterownik działał na węźle nadrzędnym i pozwalał na 60 rdzeni zawierających 120 działających executorów?

Dzięki!

Odpowiedz

1

Podczas pracy w trybie klastrowania przędzy sterownik aplikacji działa w obrębie klastra, a nie na komputerze, który został uruchomiony przy wysyłaniu iskier. Oznacza to, że zajmie on liczbę rdzeni sterowników w klastrze, w wyniku czego zobaczysz 119 executorów.

Jeśli chcesz uruchomić sterownik poza klastrem, spróbuj trybu klient-klient.

Więcej szczegółów na temat uruchomionych na przędzy można znaleźć tutaj: http://spark.apache.org/docs/latest/running-on-yarn.html

+0

Czy to oznacza, że ​​główny węzeł nie jest częścią klastra? Więc co robi węzeł nadrzędny? – Edamame

+0

Master w iskrowym trybie (menedżer zasobów w YARN) jest używany tylko do delegowania zadań do pracowników i śledzenia stanu klastra itp. Można wdrożyć pracownika w tym samym polu, co wzorzec, ale jeśli węzeł główny jest tylko usługa, nie będzie tam uruchomionych executorów. Pod postem Ravindry znajduje się dokładny diagram architektury. –

+0

Jeśli węzeł, na którym działa aplikacja sterownika iskrzenia, zostanie uruchomiony lub zrestartowany, czy aplikacja sterownika iskry zostanie uruchomiona automatycznie w innym węźle roboczym w klastrze w trybie klastra przędzy? – girip11

3

W przędzy klaster tryb, sterownik działa w Master aplikacji. Oznacza to, że ten sam proces jest odpowiedzialny zarówno za kierowanie aplikacją, jak i żądanie zasobów od YARN, a proces ten przebiega wewnątrz kontenera YARN. Klient, który uruchamia aplikację, nie musi się trzymać przez całe życie.

enter image description here

W przędzy klient trybie kierowca Spark uruchomić wewnątrz procesu klienta, który inicjuje aplikację Spark.

enter image description here

Wystarczy popatrzeć na cloudera bloga po więcej szczegółów.

+0

Następnie w trybie klastra, czy węzeł nadrzędny jest częścią klastra? Co robi węzeł nadrzędny po uruchomieniu zadania? Czy jest bezczynny? – Edamame

+0

Tak. W trybie klastra sterownik Spark działa wewnątrz głównego procesu aplikacji zarządzanego przez funkcję YARN w klastrze, a klient może odejść po zainicjowaniu aplikacji. Klient może odejść, a Mistrz może zająć się pozostałymi zadaniami. –

+0

Mam na myśli instancję węzła głównego: cr1.8xlarge, czy jest tam uruchomiony master aplikacji? Jeśli tak, to dlaczego istnieje tylko 118 roboczych executorów zamiast 120 działających executorów w pozostałych 60 przypadkach cr1.8xlarge? dzięki! – Edamame

Powiązane problemy