{"id":30548,"date":"2019-10-31T21:36:08","date_gmt":"2019-10-31T18:36:08","guid":{"rendered":"https:\/\/prohoster.info\/blog\/konfigurirovanie-spark-na-yarn\/"},"modified":"2019-10-31T21:36:08","modified_gmt":"2019-10-31T18:36:08","slug":"konfigurirovanie-spark-na-yarn","status":"publish","type":"post","link":"https:\/\/prohoster.info\/de\/blog\/novosti-interneta\/konfigurirovanie-spark-na-yarn","title":{"rendered":"Konfiguration von Spark auf YARN","gt_translate_keys":[{"key":"rendered","format":"text"}]},"content":{"rendered":"<p>Hallo Habr! Gestern beim <noindex><a rel=\"nofollow\" href=\"https:\/\/www.facebook.com\/events\/1825957590998380\/\">Meetup \u00fcber Apache Spark<\/a><\/noindex>, von den Jungs von Rambler&amp;Co gab es viele Fragen von den Teilnehmern zur Konfiguration dieses Tools. Wir haben beschlossen, unsere Erfahrungen dazu zu teilen. Das Thema ist nicht einfach \u2013 daher laden wir auch dazu ein, eure Erfahrungen in den Kommentaren zu teilen. Vielleicht verstehen wir auch etwas falsch und nutzen es nicht optimal.<br \/>\n<noindex><a rel=\"nofollow\" name=\"habracut\"><\/a><\/noindex><br \/>\nEine kleine Einf\u00fchrung \u2014 wie wir Spark nutzen. Wir haben ein dreimonatiges Programm <noindex><a rel=\"nofollow\" href=\"http:\/\/newprolab.com\/ru\/bigdata?utm_source=habr&amp;utm_campaign=spark\">\u201eSpezialist f\u00fcr Big Data\u201c<\/a><\/noindex>, und im gesamten zweiten Modul arbeiten unsere Teilnehmer mit diesem Tool. Folglich liegt es in unserer Verantwortung als Organisatoren, einen Cluster f\u00fcr diesen Anwendungsfall vorzubereiten.<\/p>\n<p>Das Besondere an unserer Nutzung ist, dass die Anzahl der Personen, die gleichzeitig an Spark arbeiten, gleich der gesamten Gruppe sein kann. Zum Beispiel w\u00e4hrend eines Seminars, wenn alle gleichzeitig etwas ausprobieren und dem Lehrer nachahmen. Das k\u00f6nnen manchmal 40 Personen sein. Wahrscheinlich gibt es nicht viele Unternehmen weltweit, die mit einem solchen Nutzungsszenario konfrontiert sind.<\/p>\n<p>Im Folgenden werde ich erkl\u00e4ren, wie und warum wir bestimmte Konfigurationsparameter ausgew\u00e4hlt haben.<\/p>\n<p>Lassen Sie uns von Grund auf neu beginnen. Spark bietet 3 Optionen zur Ausf\u00fchrung im Cluster: standalone, mit Mesos und mit YARN. Wir haben uns f\u00fcr die dritte Option entschieden, da sie f\u00fcr uns logisch war. Wir haben bereits einen Hadoop-Cluster. Unsere Teilnehmer sind mit seiner Architektur gut vertraut. Lassen Sie uns YARN verwenden.<\/p>\n<pre><code class=\"apache\">spark.master=yarn<\/code><\/pre>\n<p>\nEs wird jetzt interessanter. Jede dieser 3 Bereitstellungsoptionen hat 2 Bereitstellungsmodi: client und cluster. Aus <noindex><a rel=\"nofollow\" href=\"http:\/\/spark.apache.org\/docs\/latest\/running-on-yarn.html\">Dokumentation.<\/a><\/noindex> verschiedenen Quellen im Internet l\u00e4sst sich schlie\u00dfen, dass der client f\u00fcr interaktive Arbeiten geeignet ist \u2014 beispielsweise \u00fcber Jupyter Notebook, w\u00e4hrend der cluster besser f\u00fcr Produktionsl\u00f6sungen geeignet ist. In unserem Fall interessierte uns die interaktive Arbeit, daher:<\/p>\n<pre><code class=\"apache\">spark.deploy-mode=client<\/code><\/pre>\n<p>\nAb diesem Zeitpunkt wird Spark grunds\u00e4tzlich irgendwie auf YARN funktionieren, aber das war uns nicht genug. Da unser Programm sich mit Big Data besch\u00e4ftigt, fehlte es manchmal den Teilnehmern an den Ressourcen, die im Rahmen einer gleichm\u00e4\u00dfigen Zuteilung zur Verf\u00fcgung standen. Und hier entdeckten wir etwas Interessantes \u2013 die dynamische Ressourcenzuteilung. Kurz gesagt: Wenn Sie eine rechenintensive Aufgabe haben und der Cluster frei ist (zum Beispiel morgens), kann Spark Ihnen mit dieser Option zus\u00e4tzliche Ressourcen bereitstellen. Der Bedarf wird durch eine ausgekl\u00fcgelte Formel ermittelt. Wir werden nicht ins Detail gehen \u2013 sie funktioniert ziemlich gut.<\/p>\n<pre><code class=\"apache\">spark.dynamicAllocation.enabled=true<\/code><\/pre>\n<p>\nWir haben diesen Parameter gesetzt, und beim Start von Spark gab es einen Fehler, und es lie\u00df sich nicht starten. Zurecht, denn wir h\u00e4tten genauer lesen sollen. <noindex><a rel=\"nofollow\" href=\"http:\/\/spark.apache.org\/docs\/latest\/configuration.html\">Dokumentation<\/a><\/noindex> Dort steht, dass f\u00fcr eine einwandfreie Funktion noch ein zus\u00e4tzlicher Parameter aktiviert werden muss.<\/p>\n<pre><code class=\"apache\">spark.shuffle.service.enabled=true<\/code><\/pre>\n<p>\nWozu dient es? Wenn unser Job nicht mehr so viele Ressourcen ben\u00f6tigt, sollte Spark diese in den allgemeinen Pool zur\u00fcckgeben. Die ressourcenintensivste Phase in fast jeder MapReduce-Aufgabe ist die Shuffle-Phase. Dieser Parameter erm\u00f6glicht es, die w\u00e4hrend dieser Phase erzeugten Daten zu speichern und die Executors entsprechend freizugeben. Ein Executor ist der Prozess, der auf dem Worker alles berechnet. Er hat eine bestimmte Anzahl von Prozessorkernen und eine bestimmte Menge an Speicher.<\/p>\n<p>Wir haben diesen Parameter hinzugef\u00fcgt. Es scheint alles zu funktionieren. Es wurde deutlich, dass den Teilnehmern tats\u00e4chlich mehr Ressourcen zur Verf\u00fcgung gestellt wurden, wenn sie ben\u00f6tigt wurden. Aber ein anderes Problem trat auf: Irgendwann wachten andere Teilnehmer auf und wollten ebenfalls Spark nutzen, aber alles war besetzt, und sie waren unzufrieden. Das ist verst\u00e4ndlich. Wir begannen, die Dokumentation zu \u00fcberpr\u00fcfen. Dort stellte sich heraus, dass es noch einige Parameter gibt, mit denen der Prozess beeinflusst werden kann. Zum Beispiel, wenn der Executor im Wartemodus ist \u2014 nach welcher Zeit k\u00f6nnen die Ressourcen ihm entzogen werden?<\/p>\n<pre><code class=\"apache\">spark.dynamicAllocation.executorIdleTimeout=120s<\/code><\/pre>\n<p>\nIn unserem Fall gilt: Wenn Ihre Executors zwei Minuten lang keine Aktivit\u00e4ten zeigen, geben Sie sie bitte in den gemeinsamen Pool zur\u00fcck. Aber selbst dieser Parameter reichte manchmal nicht aus. Man konnte sehen, dass eine Person schon lange nichts mehr tat, die Ressourcen jedoch nicht freigegeben wurden. Es stellte sich heraus, dass es noch einen speziellen Parameter gibt \u2014 nach welcher Zeit man Executors abnehmen kann, die zwischengespeicherte Daten enthalten. Standardm\u00e4\u00dfig war dieser Parameter auf infinity eingestellt! Wir haben das angepasst.<\/p>\n<pre><code class=\"apache\">spark.dynamicAllocation.cachedExecutorIdleTimeout=600s<\/code><\/pre>\n<p>\nDas bedeutet, wenn Ihre Executors in 5 Minuten keine Aktivit\u00e4ten zeigen, geben Sie sie in den gemeinsamen Pool zur\u00fcck. In diesem Modus wurde die Geschwindigkeit der Ressourcenerteilung f\u00fcr eine gro\u00dfe Anzahl von Benutzern akzeptabel. Die Unzufriedenheit nahm ab. Aber wir beschlossen, weiterzugehen und die maximale Anzahl der Executors f\u00fcr eine Anwendung zu begrenzen \u2014 im Grunde f\u00fcr einen Teilnehmer des Programms.<\/p>\n<pre><code class=\"apache\">spark.dynamicAllocation.maxExecutors=19<\/code><\/pre>\n<p>\nJetzt gibt es nat\u00fcrlich auch Unzufriedene auf der anderen Seite \u2014 \"Der Cluster steht still, und ich habe nur 19 Executors\", aber was soll man machen \u2014 es braucht einen richtigen Ausgleich. Alle gl\u00fccklich zu machen, wird nicht m\u00f6glich sein.<\/p>\n<p>Und noch eine kleine Geschichte zu den Besonderheiten unseres Falles. Bei einer praktischen \u00dcbung kamen einige Teilnehmer zu sp\u00e4t, und aus irgendeinem Grund lie\u00df sich Spark nicht starten. Wir schauten uns die Anzahl der verf\u00fcgbaren Ressourcen an \u2013 es schien, als w\u00e4ren gen\u00fcgend vorhanden. Spark sollte starten. Gl\u00fccklicherweise war die Dokumentation bis dahin schon irgendwo im Hinterkopf gespeichert, und wir erinnerten uns, dass Spark beim Start einen Port sucht, um sich zu verbinden. Wenn der erste Port im Bereich belegt ist, greift es auf den n\u00e4chsten zugreifbaren Port zur\u00fcck. Wenn dieser frei ist, wird er genutzt. Zudem gibt es einen Parameter, der die maximale Anzahl an Versuchen anzeigt. Standardm\u00e4\u00dfig betr\u00e4gt dieser 16. Das ist weniger als die Anzahl der Personen in unserer Gruppe w\u00e4hrend der \u00dcbung. Folglich gab Spark nach 16 Versuchen auf und meldete, dass es sich nicht starten k\u00f6nne. Wir haben diesen Parameter angepasst.<\/p>\n<pre><code class=\"apache\">spark.port.maxRetries=50<\/code><\/pre>\n<p>\nAnschlie\u00dfend erz\u00e4hle ich von einigen Einstellungen, die nicht mehr stark mit unserem speziellen Fall verbunden sind.<\/p>\n<p>F\u00fcr einen schnelleren Start von Spark gibt es die Empfehlung, den Ordner 'jars', der im Heimatverzeichnis SPARK_HOME liegt, zu archivieren und auf HDFS zu legen. Dadurch wird die Zeit, die f\u00fcr das Laden dieser JAR-Dateien auf den Workern ben\u00f6tigt wird, reduziert.<\/p>\n<pre><code class=\"apache\">spark.yarn.archive=hdfs:\/\/\/tmp\/spark-archive.zip<\/code><\/pre>\n<p>\nF\u00fcr schnellere Verarbeitung empfehlen wir, als Serializer Kryo zu verwenden. Dieser ist optimierter als der Standard-Serializer.<\/p>\n<pre><code class=\"apache\">spark.serializer=org.apache.spark.serializer.KryoSerializer<\/code><\/pre>\n<p>\nEs gibt auch ein langj\u00e4hriges Problem mit Spark, dass es oft wegen Speicherproblemen abst\u00fcrzt. Dies geschieht h\u00e4ufig, wenn die Worker alles berechnet haben und die Ergebnisse an den Driver senden. Wir haben diesen Parameter erh\u00f6ht. Standardm\u00e4\u00dfig betr\u00e4gt er 1 GB, wir haben ihn auf 3 GB erh\u00f6ht.<\/p>\n<pre><code class=\"apache\">spark.driver.maxResultSize=3072<\/code><\/pre>\n<p>\nZum Abschluss, wie man Spark auf Version 2.1 im HortonWorks-Distribution \u2014 HDP 2.5.3.0 \u2014 aktualisiert. Diese HDP-Version enth\u00e4lt die vorinstallierte Version 2.0, aber wir haben uns einmal entschieden, dass Spark sich aktiv weiterentwickelt und jede neue Version Fehler behebt und zus\u00e4tzliche M\u00f6glichkeiten bietet, auch f\u00fcr die Python-API, weshalb wir beschlossen haben, ein Update durchzuf\u00fchren.<\/p>\n<p>Wir haben die Version von der offiziellen Website f\u00fcr Hadoop 2.7 heruntergeladen. Entpackt und in den HDP-Ordner verschoben. Die Symlinks richtig gesetzt. Wir starten \u2014 es startet nicht. Es wird eine sehr unklare Fehlermeldung angezeigt.<\/p>\n<pre><code class=\"apache\">java.lang.NoClassDefFoundError: com\/sun\/jersey\/api\/client\/config\/ClientConfig<\/code><\/pre>\n<p>\nEine Google-Suche ergab, dass Spark beschlossen hat, nicht zu warten, bis Hadoop sich weiterentwickelt, und eine neue Version von Jersey verwenden will. Sie streiten sich dar\u00fcber sogar in JIRA. Die L\u00f6sung war \u2013 herunterzuladen <noindex><a rel=\"nofollow\" href=\"https:\/\/mvnrepository.com\/artifact\/com.sun.jersey\/jersey-bundle\/1.17.1\">Jersey Version 1.17.1<\/a><\/noindex>. Dies in den jars-Ordner von SPARK_HOME zu verschieben, wieder zip zu erstellen und auf HDFS hochzuladen.<\/p>\n<p>Wir konnten diesen Fehler umgehen, aber es trat ein neuer, ziemlich vager Fehler auf.<\/p>\n<pre><code class=\"apache\">org.apache.spark.SparkException: Die Yarn-Anwendung ist bereits beendet! Sie wurde m\u00f6glicherweise beendet oder konnte den Anwendungs-Master nicht starten.<\/code><\/pre>\n<p>\nWir versuchen die Version 2.0 zu starten \u2013 alles in Ordnung. Versuch mal herauszufinden, woran es liegt. Wir haben die Logs dieser Anwendung durchgesehen und Folgendes gesehen:<\/p>\n<pre><code class=\"apache\">\/usr\/hdp\/${hdp.version}\/hadoop\/lib\/hadoop-lzo-0.6.0.${hdp.version}.jar<\/code><\/pre>\n<p>\nKurz gesagt, aus irgendeinem Grund wurde hdp.version nicht aufgel\u00f6st. Nach einer Google-Suche fanden wir eine L\u00f6sung. Man muss in Ambari die YARN-Einstellungen aufrufen und dort einen Parameter in yarn-site hinzuf\u00fcgen:<\/p>\n<pre><code class=\"apache\">hdp.version=2.5.3.0-37<\/code><\/pre>\n<p>\nDiese Magie half, und Spark lief. Wir haben einige unserer Jupyter-Notebooks getestet. Alles funktioniert. F\u00fcr die erste Sitzung zu Spark am Samstag (schon morgen) sind wir bereit!<\/p>\n<p><b>UDP<\/b>. W\u00e4hrend der Sitzung stellte sich ein weiteres Problem heraus. Irgendwann h\u00f6rte YARN auf, Container f\u00fcr Spark bereitzustellen. In YARN musste ein Parameter angepasst werden, der standardm\u00e4\u00dfig auf 0.2 stand:<\/p>\n<pre><code class=\"apache\">yarn.scheduler.capacity.maximum-am-resource-percent=0.8<\/code><\/pre>\n<p>\nDas bedeutet, dass nur 20 % der Ressourcen an der Verteilung beteiligt waren. Nachdem die Parameter ge\u00e4ndert wurden, wurde YARN neu gestartet. Das Problem war behoben, und die anderen Teilnehmer konnten ebenfalls den Spark-Kontext starten.<br \/>\n<br \/>Quelle: <a content=\"nofollow\" rel=\"nofollow\" href=\"https:\/\/habr.com\/ru\/company\/newprolab\/blog\/327556\/\">habr.com<\/a><\/p>","protected":false,"gt_translate_keys":[{"key":"rendered","format":"html"}]},"excerpt":{"rendered":"<p>\u0425\u0430\u0431\u0440, \u043f\u0440\u0438\u0432\u0435\u0442! \u0412\u0447\u0435\u0440\u0430 \u043d\u0430 \u043c\u0438\u0442\u0430\u043f\u0435, \u043f\u043e\u0441\u0432\u044f\u0449\u0435\u043d\u043d\u043e\u043c Apache Spark, \u043e\u0442 \u0440\u0435\u0431\u044f\u0442 \u0438\u0437 Rambler&#038;Co, \u0431\u044b\u043b\u043e \u0434\u043e\u0432\u043e\u043b\u044c\u043d\u043e \u043c\u043d\u043e\u0433\u043e \u0432\u043e\u043f\u0440\u043e\u0441\u043e\u0432 \u043e\u0442 \u0443\u0447\u0430\u0441\u0442\u043d\u0438\u043a\u043e\u0432, \u0441\u0432\u044f\u0437\u0430\u043d\u043d\u044b\u0445 \u0441 \u043a\u043e\u043d\u0444\u0438\u0433\u0443\u0440\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u0435\u043c \u044d\u0442\u043e\u0433\u043e \u0438\u043d\u0441\u0442\u0440\u0443\u043c\u0435\u043d\u0442\u0430. \u0420\u0435\u0448\u0438\u043b\u0438 \u043f\u043e \u0435\u0433\u043e \u0441\u043b\u0435\u0434\u0430\u043c \u043f\u043e\u0434\u0435\u043b\u0438\u0442\u044c\u0441\u044f \u0441\u0432\u043e\u0438\u043c \u043e\u043f\u044b\u0442\u043e\u043c. \u0422\u0435\u043c\u0430 \u043d\u0435\u043f\u0440\u043e\u0441\u0442\u0430\u044f \u2014 \u043f\u043e\u044d\u0442\u043e\u043c\u0443 \u043f\u0440\u0435\u0434\u043b\u0430\u0433\u0430\u0435\u043c \u0434\u0435\u043b\u0438\u0442\u044c\u0441\u044f \u043e\u043f\u044b\u0442\u043e\u043c \u0442\u043e\u0436\u0435 \u0432 \u043a\u043e\u043c\u043c\u0435\u043d\u0442\u0430\u0440\u0438\u044f\u0445, \u043c\u043e\u0436\u0435\u0442 \u0431\u044b\u0442\u044c, \u043c\u044b \u0442\u043e\u0436\u0435 \u0447\u0442\u043e-\u0442\u043e \u043d\u0435 \u0442\u0430\u043a \u043f\u043e\u043d\u0438\u043c\u0430\u0435\u043c \u0438 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u0435\u043c. \u041d\u0435\u0431\u043e\u043b\u044c\u0448\u0430\u044f \u0432\u0432\u043e\u0434\u043d\u0430\u044f \u2014 \u043a\u0430\u043a \u043c\u044b [&hellip;]<\/p>\n","protected":false,"gt_translate_keys":[{"key":"rendered","format":"html"}]},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[702],"tags":[],"class_list":["post-30548","post","type-post","status-publish","format-standard","hentry","category-novosti-interneta"],"aioseo_notices":[],"aioseo_head":"\n\t\t<!-- All in One SEO 5.0.0.1 - aioseo.com -->\n\t<meta name=\"description\" content=\"\u0425\u0430\u0431\u0440, \u043f\u0440\u0438\u0432\u0435\u0442! \u0412\u0447\u0435\u0440\u0430 \u043d\u0430 \u043c\u0438\u0442\u0430\u043f\u0435, \u043f\u043e\u0441\u0432\u044f\u0449\u0435\u043d\u043d\u043e\u043c Apache Spark, \u043e\u0442 \u0440\u0435\u0431\u044f\u0442 \u0438\u0437 Rambler&amp;Co, \u0431\u044b\u043b\u043e \u0434\u043e\u0432\u043e\u043b\u044c\u043d\u043e \u043c\u043d\u043e\u0433\u043e \u0432\u043e\u043f\u0440\u043e\u0441\u043e\u0432 \u043e\u0442 \u0443\u0447\u0430\u0441\u0442\u043d\u0438\u043a\u043e\u0432, \u0441\u0432\u044f\u0437\u0430\u043d\u043d\u044b\u0445 \u0441 \u043a\u043e\u043d\u0444\u0438\u0433\u0443\u0440\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u0435\u043c \u044d\u0442\u043e\u0433\u043e \u0438\u043d\u0441\u0442\u0440\u0443\u043c\u0435\u043d\u0442\u0430. \u0420\u0435\u0448\u0438\u043b\u0438 \u043f\u043e \u0435\u0433\u043e \u0441\u043b\u0435\u0434\u0430\u043c \u043f\u043e\u0434\u0435\u043b\u0438\u0442\u044c\u0441\u044f \u0441\u0432\u043e\u0438\u043c \u043e\u043f\u044b\u0442\u043e\u043c. \u0422\u0435\u043c\u0430 \u043d\u0435\u043f\u0440\u043e\u0441\u0442\u0430\u044f \u2014 \u043f\u043e\u044d\u0442\u043e\u043c\u0443 \u043f\u0440\u0435\u0434\u043b\u0430\u0433\u0430\u0435\u043c \u0434\u0435\u043b\u0438\u0442\u044c\u0441\u044f \u043e\u043f\u044b\u0442\u043e\u043c \u0442\u043e\u0436\u0435 \u0432 \u043a\u043e\u043c\u043c\u0435\u043d\u0442\u0430\u0440\u0438\u044f\u0445, \u043c\u043e\u0436\u0435\u0442 \u0431\u044b\u0442\u044c, \u043c\u044b \u0442\u043e\u0436\u0435 \u0447\u0442\u043e-\u0442\u043e \u043d\u0435 \u0442\u0430\u043a \u043f\u043e\u043d\u0438\u043c\u0430\u0435\u043c \u0438 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u0435\u043c. \u041d\u0435\u0431\u043e\u043b\u044c\u0448\u0430\u044f \u0432\u0432\u043e\u0434\u043d\u0430\u044f \u2014 \u043a\u0430\u043a \u043c\u044b\" \/>\n\t<meta name=\"robots\" content=\"max-image-preview:large\" \/>\n\t<meta name=\"author\" content=\"Yuri Gagarin\"\/>\n\t<link rel=\"canonical\" href=\"https:\/\/prohoster.info\/de\/blog\/novosti-interneta\/konfigurirovanie-spark-na-yarn\" \/>\n\t<meta name=\"generator\" content=\"All in One SEO (AIOSEO) 5.0.0.1\" \/>\n\t\t<meta property=\"og:locale\" content=\"de_DE\" \/>\n\t\t<meta property=\"og:site_name\" content=\"ProHoster | \u041a\u0443\u043f\u0438\u0442\u044c \u043d\u0430\u0434\u0435\u0436\u043d\u044b\u0439 \u0445\u043e\u0441\u0442\u0438\u043d\u0433 \u0434\u043b\u044f \u0441\u0430\u0439\u0442\u043e\u0432 \u0441 \u0437\u0430\u0449\u0438\u0442\u043e\u0439 \u043e\u0442 DDoS, VPS VDS \u0441\u0435\u0440\u0432\u0435\u0440\u044b\" \/>\n\t\t<meta property=\"og:type\" content=\"article\" \/>\n\t\t<meta property=\"og:title\" content=\"\ud83e\udd47\u041a\u043e\u043d\u0444\u0438\u0433\u0443\u0440\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u0435 Spark \u043d\u0430 YARN | ProHoster\" \/>\n\t\t<meta property=\"og:description\" content=\"\u0425\u0430\u0431\u0440, \u043f\u0440\u0438\u0432\u0435\u0442! \u0412\u0447\u0435\u0440\u0430 \u043d\u0430 \u043c\u0438\u0442\u0430\u043f\u0435, \u043f\u043e\u0441\u0432\u044f\u0449\u0435\u043d\u043d\u043e\u043c Apache Spark, \u043e\u0442 \u0440\u0435\u0431\u044f\u0442 \u0438\u0437 Rambler&amp;Co, \u0431\u044b\u043b\u043e \u0434\u043e\u0432\u043e\u043b\u044c\u043d\u043e \u043c\u043d\u043e\u0433\u043e \u0432\u043e\u043f\u0440\u043e\u0441\u043e\u0432 \u043e\u0442 \u0443\u0447\u0430\u0441\u0442\u043d\u0438\u043a\u043e\u0432, \u0441\u0432\u044f\u0437\u0430\u043d\u043d\u044b\u0445 \u0441 \u043a\u043e\u043d\u0444\u0438\u0433\u0443\u0440\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u0435\u043c \u044d\u0442\u043e\u0433\u043e \u0438\u043d\u0441\u0442\u0440\u0443\u043c\u0435\u043d\u0442\u0430. \u0420\u0435\u0448\u0438\u043b\u0438 \u043f\u043e \u0435\u0433\u043e \u0441\u043b\u0435\u0434\u0430\u043c \u043f\u043e\u0434\u0435\u043b\u0438\u0442\u044c\u0441\u044f \u0441\u0432\u043e\u0438\u043c \u043e\u043f\u044b\u0442\u043e\u043c. \u0422\u0435\u043c\u0430 \u043d\u0435\u043f\u0440\u043e\u0441\u0442\u0430\u044f \u2014 \u043f\u043e\u044d\u0442\u043e\u043c\u0443 \u043f\u0440\u0435\u0434\u043b\u0430\u0433\u0430\u0435\u043c \u0434\u0435\u043b\u0438\u0442\u044c\u0441\u044f \u043e\u043f\u044b\u0442\u043e\u043c \u0442\u043e\u0436\u0435 \u0432 \u043a\u043e\u043c\u043c\u0435\u043d\u0442\u0430\u0440\u0438\u044f\u0445, \u043c\u043e\u0436\u0435\u0442 \u0431\u044b\u0442\u044c, \u043c\u044b \u0442\u043e\u0436\u0435 \u0447\u0442\u043e-\u0442\u043e \u043d\u0435 \u0442\u0430\u043a \u043f\u043e\u043d\u0438\u043c\u0430\u0435\u043c \u0438 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u0435\u043c. \u041d\u0435\u0431\u043e\u043b\u044c\u0448\u0430\u044f \u0432\u0432\u043e\u0434\u043d\u0430\u044f \u2014 \u043a\u0430\u043a \u043c\u044b\" \/>\n\t\t<meta property=\"og:url\" content=\"https:\/\/prohoster.info\/de\/blog\/novosti-interneta\/konfigurirovanie-spark-na-yarn\" \/>\n\t\t<meta property=\"og:image\" content=\"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg\" \/>\n\t\t<meta property=\"og:image:secure_url\" content=\"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg\" \/>\n\t\t<meta property=\"og:image:width\" content=\"350\" \/>\n\t\t<meta property=\"og:image:height\" content=\"350\" \/>\n\t\t<meta property=\"article:published_time\" content=\"2019-10-31T18:36:08+00:00\" \/>\n\t\t<meta property=\"article:modified_time\" content=\"2019-10-31T18:36:08+00:00\" \/>\n\t\t<meta property=\"article:publisher\" content=\"https:\/\/www.facebook.com\/prohoster\" \/>\n\t\t<meta property=\"article:author\" content=\"https:\/\/www.facebook.com\/prohoster\" \/>\n\t\t<!-- All in One SEO -->\n\n","aioseo_head_json":{"title":"\ud83e\udd47Konfiguration von Spark auf YARN | ProHoster","description":"Hallo Habr! Gestern gab es beim Meetup \u00fcber Apache Spark von den Jungs von Rambler&amp;Co eine Menge Fragen von den Teilnehmern zur Konfiguration dieses Tools. Wir haben beschlossen, unser Wissen zu teilen. Das Thema ist komplex \u2014 also laden wir auch dazu ein, eure Erfahrungen in den Kommentaren zu teilen. Vielleicht verstehen und verwenden wir auch etwas falsch. Eine kleine Einf\u00fchrung \u2014 wie wir","canonical_url":"https:\/\/prohoster.info\/de\/blog\/novosti-interneta\/konfigurirovanie-spark-na-yarn","robots":"max-image-preview:large","keywords":"","webmasterTools":{"miscellaneous":""},"schema":null,"og:locale":"de_DE","og:site_name":"ProHoster | \u041a\u0443\u043f\u0438\u0442\u044c \u043d\u0430\u0434\u0435\u0436\u043d\u044b\u0439 \u0445\u043e\u0441\u0442\u0438\u043d\u0433 \u0434\u043b\u044f \u0441\u0430\u0439\u0442\u043e\u0432 \u0441 \u0437\u0430\u0449\u0438\u0442\u043e\u0439 \u043e\u0442 DDoS, VPS VDS \u0441\u0435\u0440\u0432\u0435\u0440\u044b","og:type":"article","og:title":"\ud83e\udd47\u041a\u043e\u043d\u0444\u0438\u0433\u0443\u0440\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u0435 Spark \u043d\u0430 YARN | ProHoster","og:description":"\u0425\u0430\u0431\u0440, \u043f\u0440\u0438\u0432\u0435\u0442! \u0412\u0447\u0435\u0440\u0430 \u043d\u0430 \u043c\u0438\u0442\u0430\u043f\u0435, \u043f\u043e\u0441\u0432\u044f\u0449\u0435\u043d\u043d\u043e\u043c Apache Spark, \u043e\u0442 \u0440\u0435\u0431\u044f\u0442 \u0438\u0437 Rambler&amp;Co, \u0431\u044b\u043b\u043e \u0434\u043e\u0432\u043e\u043b\u044c\u043d\u043e \u043c\u043d\u043e\u0433\u043e \u0432\u043e\u043f\u0440\u043e\u0441\u043e\u0432 \u043e\u0442 \u0443\u0447\u0430\u0441\u0442\u043d\u0438\u043a\u043e\u0432, \u0441\u0432\u044f\u0437\u0430\u043d\u043d\u044b\u0445 \u0441 \u043a\u043e\u043d\u0444\u0438\u0433\u0443\u0440\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u0435\u043c \u044d\u0442\u043e\u0433\u043e \u0438\u043d\u0441\u0442\u0440\u0443\u043c\u0435\u043d\u0442\u0430. \u0420\u0435\u0448\u0438\u043b\u0438 \u043f\u043e \u0435\u0433\u043e \u0441\u043b\u0435\u0434\u0430\u043c \u043f\u043e\u0434\u0435\u043b\u0438\u0442\u044c\u0441\u044f \u0441\u0432\u043e\u0438\u043c \u043e\u043f\u044b\u0442\u043e\u043c. \u0422\u0435\u043c\u0430 \u043d\u0435\u043f\u0440\u043e\u0441\u0442\u0430\u044f \u2014 \u043f\u043e\u044d\u0442\u043e\u043c\u0443 \u043f\u0440\u0435\u0434\u043b\u0430\u0433\u0430\u0435\u043c \u0434\u0435\u043b\u0438\u0442\u044c\u0441\u044f \u043e\u043f\u044b\u0442\u043e\u043c \u0442\u043e\u0436\u0435 \u0432 \u043a\u043e\u043c\u043c\u0435\u043d\u0442\u0430\u0440\u0438\u044f\u0445, \u043c\u043e\u0436\u0435\u0442 \u0431\u044b\u0442\u044c, \u043c\u044b \u0442\u043e\u0436\u0435 \u0447\u0442\u043e-\u0442\u043e \u043d\u0435 \u0442\u0430\u043a \u043f\u043e\u043d\u0438\u043c\u0430\u0435\u043c \u0438 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u0435\u043c. \u041d\u0435\u0431\u043e\u043b\u044c\u0448\u0430\u044f \u0432\u0432\u043e\u0434\u043d\u0430\u044f \u2014 \u043a\u0430\u043a \u043c\u044b","og:url":"https:\/\/prohoster.info\/de\/blog\/novosti-interneta\/konfigurirovanie-spark-na-yarn","og:image":"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg","og:image:secure_url":"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg","og:image:width":350,"og:image:height":350,"article:published_time":"2019-10-31T18:36:08+00:00","article:modified_time":"2019-10-31T18:36:08+00:00","article:publisher":"https:\/\/www.facebook.com\/prohoster","article:author":"https:\/\/www.facebook.com\/prohoster"},"aioseo_meta_data":{"post_id":"30548","title":null,"description":null,"keywords":null,"keyphrases":null,"primary_term":null,"canonical_url":null,"og_title":null,"og_description":null,"og_object_type":"default","og_image_type":"default","og_image_url":null,"og_image_width":null,"og_image_height":null,"og_image_custom_url":null,"og_image_custom_fields":null,"og_video":null,"og_custom_url":null,"og_article_section":null,"og_article_tags":null,"twitter_use_og":false,"twitter_card":"default","twitter_image_type":"default","twitter_image_url":null,"twitter_image_custom_url":null,"twitter_image_custom_fields":null,"twitter_title":null,"twitter_description":null,"schema":{"blockGraphs":[],"customGraphs":[],"default":{"data":{"Article":[],"Course":[],"Dataset":[],"FAQPage":[],"Movie":[],"Person":[],"Product":[],"ProductReview":[],"Car":[],"Recipe":[],"Service":[],"SoftwareApplication":[],"WebPage":[]},"graphName":"","isEnabled":true},"graphs":[]},"schema_type":null,"schema_type_options":null,"pillar_content":false,"robots_default":true,"robots_noindex":false,"robots_noarchive":false,"robots_nosnippet":false,"robots_nofollow":false,"robots_noimageindex":false,"robots_noodp":false,"robots_notranslate":false,"robots_max_snippet":null,"robots_max_videopreview":null,"robots_max_imagepreview":"large","priority":null,"frequency":null,"local_seo":null,"seo_analyzer_scan_date":"2026-01-21 01:45:22","breadcrumb_settings":null,"limit_modified_date":false,"reviewed_by":null,"ai":null,"created":"2021-03-01 03:33:26","updated":"2026-01-21 01:45:22","focus_keyword":null,"additional_keywords":null,"truseo_locale":null},"gt_translate_keys":[{"key":"link","format":"url"}],"_links":{"self":[{"href":"https:\/\/prohoster.info\/de\/wp-json\/wp\/v2\/posts\/30548","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/prohoster.info\/de\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/prohoster.info\/de\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/prohoster.info\/de\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/prohoster.info\/de\/wp-json\/wp\/v2\/comments?post=30548"}],"version-history":[{"count":0,"href":"https:\/\/prohoster.info\/de\/wp-json\/wp\/v2\/posts\/30548\/revisions"}],"wp:attachment":[{"href":"https:\/\/prohoster.info\/de\/wp-json\/wp\/v2\/media?parent=30548"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/prohoster.info\/de\/wp-json\/wp\/v2\/categories?post=30548"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/prohoster.info\/de\/wp-json\/wp\/v2\/tags?post=30548"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}