{"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\/sl\/blog\/news\/konfigurirovanie-spark-na-yarn","title":{"rendered":"Konfiguracija Sparka na YARN-u","gt_translate_keys":[{"key":"rendered","format":"text"}]},"content":{"rendered":"<p>Habr, pozdrav! Ju\u010der na <noindex><a rel=\"nofollow\" href=\"https:\/\/www.facebook.com\/events\/1825957590998380\/\">mitingu posve\u0107enom Apache Spark<\/a><\/noindex>, \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.<br \/>\n<noindex><a rel=\"nofollow\" name=\"habracut\"><\/a><\/noindex><br \/>\nKratka uvodna re\u010denica \u2014 kako mi koristimo Spark. Imamo tromese\u010dni program <noindex><a rel=\"nofollow\" href=\"http:\/\/newprolab.com\/ru\/bigdata?utm_source=habr&amp;utm_campaign=spark\">\u201eSpecijalista za velike podatke\u201c<\/a><\/noindex>, a u drugom modulu na\u0161i u\u010desnici rade s ovim alatom. Na\u0161a zadatak, kao organizatora, je da pripremimo klaster za kori\u0161\u0107enje u ovom slu\u010daju.<\/p>\n<p>Posebnost na\u0161eg kori\u0161\u0107enja je u tome \u0161to broj ljudi koji istovremeno rade na Sparku mo\u017ee biti jednak celoj grupi. Na primer, na seminaru kada svi istovremeno ne\u0161to probaju i ponavljaju za na\u0161im predava\u010dem. A to nije malo \u2014 ponekad i do 40 ljudi. Verovatno nije mnogo kompanija u svetu koje se suo\u010davaju s takvim scenarijem kori\u0161\u0107enja.<\/p>\n<p>Dalje \u0107u objasniti kako i za\u0161to smo birali odre\u0111ene parametre konfiguracije.<\/p>\n<p>Po\u010dnimo od samog po\u010detka. Spark ima 3 na\u010dina rada na klasteru: standalone, koriste\u0107i Mesos i koriste\u0107i YARN. Odlu\u010dili smo se za tre\u0107u opciju, jer nam je bila logi\u010dna. Ve\u0107 imamo hadoop-klaster. Na\u0161i u\u010desnici su dobro upoznati s njegovom arhitekturom. Hajde da koristimo YARN.<\/p>\n<pre><code class=\"apache\">spark.master=yarn<\/code><\/pre>\n<p>\nDalje je zanimljivije. Svaka od ovih 3 opcija instalacije ima 2 na\u010dina implementacije: client i cluster. Na osnovu <noindex><a rel=\"nofollow\" href=\"http:\/\/spark.apache.org\/docs\/latest\/running-on-yarn.html\">dokumenti<\/a><\/noindex> i raznih linkova na internetu, mo\u017ee se zaklju\u010diti da je client pogodan za interaktivni rad \u2014 na primer, preko jupyter notebook-a, dok je cluster vi\u0161e odgovaraju\u0107i za produkciona re\u0161enja. U na\u0161em slu\u010daju nas je zanimao interaktivni rad, stoga:<\/p>\n<pre><code class=\"apache\">spark.deploy-mode=client<\/code><\/pre>\n<p>\nNa splo\u0161no bo od tega trenutka Spark nekako deloval na YARN, a to nam ni bilo dovolj. Ker imamo program o velikih podatkih, je v\u010dasih udele\u017eencem primanjkovalo tistega, kar je bilo dose\u017eeno v okviru enotnega razreza virov. In tukaj smo na\u0161li zanimivo stvar \u2014 dinami\u010dno dodeljevanje virov. Na kratko, bistvo je naslednje: \u010de imate te\u017eko nalogo in je grozd prost (na primer zjutraj), vam lahko Spark s to mo\u017enostjo poda dodatne vire. Potreba se \u0161teje po zapleteni formuli. Ne bomo \u0161li v podrobnosti \u2014 deluje precej dobro.<\/p>\n<pre><code class=\"apache\">spark.dynamicAllocation.enabled=true<\/code><\/pre>\n<p>\nNastavili smo ta parameter, in ob zagonu je Spark opozoril in se ni zagnal. In prav je tako, ker je bilo treba prebrati <noindex><a rel=\"nofollow\" href=\"http:\/\/spark.apache.org\/docs\/latest\/configuration.html\">dokumentacijo<\/a><\/noindex> bolj pozorno. Tam je navedeno, da je za vse, da bo v redu, treba vklju\u010diti \u0161e en dodaten parameter.<\/p>\n<pre><code class=\"apache\">spark.shuffle.service.enabled=true<\/code><\/pre>\n<p>\nZakaj je potreben? Ko na\u0161 projekt ne zahteva ve\u010d toliko virov, jih mora Spark vrniti v skupni rezervoar. Najbolj delovno intenzivna faza v skoraj vsakem MapReduce projektu je faza Shuffle. Ta parameter omogo\u010da shranjevanje podatkov, ki nastanejo v tej fazi, in s tem sprosti executors. Executor je proces, ki na delavcu vse izra\u010duna. Ima dolo\u010deno \u0161tevilo procesorskih jeder in dolo\u010deno koli\u010dino pomnilnika.<\/p>\n<p>Dodali smo ta parameter. Vse se je zdelo, da deluje. Opazno je bilo, da so udele\u017eenci dejansko dobivali ve\u010d virov, ko so jih potrebovali. A pojavila se je druga te\u017eava \u2014 v nekem trenutku so se drugi udele\u017eenci zbudili in prav tako \u017eeleli uporabljati Spark, vendar je bilo vse zasedeno, kar jih je razburilo. Njih lahko razumemo. Za\u010deli smo preverjati dokumentacijo. Izkazalo se je, da obstaja \u0161e nekaj parametrov, s katerimi lahko vplivamo na postopek. Na primer, \u010de je executor v na\u010dinu pri\u010dakovanja \u2014 po koliko \u010dasu lahko vzamemo vire?<\/p>\n<pre><code class=\"apache\">spark.dynamicAllocation.executorIdleTimeout=120s<\/code><\/pre>\n<p>\nV na\u0161em p\u0159\u00edpad\u011b \u2014 pokud va\u0161i executors nic ned\u011blaj\u00ed po dobu dvou minut, vra\u0165te je pros\u00edm do spole\u010dn\u00e9ho poolu. Ale ani tento parametr nebyl v\u017edy dosta\u010duj\u00edc\u00ed. Bylo jasn\u00e9, \u017ee \u010dlov\u011bk u\u017e dlouho nic ned\u011bl\u00e1, a prost\u0159edky se neuvol\u0148uj\u00ed. Uk\u00e1zalo se, \u017ee existuje je\u0161t\u011b speci\u00e1ln\u00ed parametr \u2014 po jak\u00e9 dob\u011b odstra\u0148ovat executors, kte\u0159\u00ed obsahuj\u00ed vyrovnan\u00e1 data. Standardn\u011b byl tento parametr nastaven na \u2014 nekone\u010dno! Opraveno.<\/p>\n<pre><code class=\"apache\">spark.dynamicAllocation.cachedExecutorIdleTimeout=600s<\/code><\/pre>\n<p>\nTo znamen\u00e1, \u017ee pokud va\u0161e executors nic ned\u011blaj\u00ed po dobu 5 minut, vra\u0165te je do spole\u010dn\u00e9ho poolu. V takov\u00e9m re\u017eimu se rychlost uvol\u0148ov\u00e1n\u00ed a poskytov\u00e1n\u00ed zdroj\u016f pro velk\u00e9 mno\u017estv\u00ed u\u017eivatel\u016f zlep\u0161ila. Po\u010det nespokojen\u00fdch se sn\u00ed\u017eil. Ale rozhodli jsme se j\u00edt d\u00e1le a omezit maxim\u00e1ln\u00ed po\u010det executors na jednu aplikaci \u2014 v podstat\u011b na jednoho \u00fa\u010dastn\u00edka programu.<\/p>\n<pre><code class=\"apache\">spark.dynamicAllocation.maxExecutors=19<\/code><\/pre>\n<p>\nNyn\u00ed se samoz\u0159ejm\u011b objevily nespokojenosti z druh\u00e9 strany \u2014 \"klastr nepracuje a m\u00e1m pouze 19 executors\", ale co se d\u00e1 d\u011blat \u2014 je pot\u0159eba naj\u00edt spr\u00e1vnou rovnov\u00e1hu. Nen\u00ed mo\u017en\u00e9 ud\u011blat v\u0161echny \u0161\u0165astn\u00e9.<\/p>\n<p>A je\u0161t\u011b jeden mal\u00fd p\u0159\u00edb\u011bh souvisej\u00edc\u00ed se specifiky na\u0161eho p\u0159\u00edpadu. N\u011bkdo p\u0159i\u0161el na praktickou hodinu pozd\u011b, a jejich Spark z n\u011bjak\u00e9ho d\u016fvodu nenastartoval. Pod\u00edvali jsme se na mno\u017estv\u00ed voln\u00fdch prost\u0159edk\u016f \u2014 zd\u00e1lo se, \u017ee jsou. Spark by m\u011bl startovat. Na\u0161t\u011bst\u00ed, do t\u00e9 doby se n\u00e1m u\u017e dokumentace zapsala do pam\u011bti, a vzpomn\u011bli jsme si, \u017ee p\u0159i spu\u0161t\u011bn\u00ed Spark hled\u00e1 port, na kter\u00e9m se m\u00e1 spustit. Pokud je prvn\u00ed port v rozsahu obsazen, p\u0159ech\u00e1z\u00ed na dal\u0161\u00ed v po\u0159ad\u00ed. Pokud je voln\u00fd, zabere ho. A existuje parametr, kter\u00fd ukazuje maxim\u00e1ln\u00ed po\u010det pokus\u016f pro to. Standardn\u011b \u2014 to je 16. \u010c\u00edslo men\u0161\u00ed ne\u017e po\u010det lid\u00ed v na\u0161\u00ed skupin\u011b na lekci. Tud\u00ed\u017e po 16 pokusech Spark to vzdal a \u0159ekl, \u017ee nemohu nastartovat. Opraveno.<\/p>\n<pre><code class=\"apache\">spark.port.maxRetries=50<\/code><\/pre>\n<p>\nD\u00e1le pov\u00edm o n\u011bkter\u00fdch nastaven\u00edch, kter\u00e9 u\u017e nejsou p\u0159\u00edli\u0161 spojeny se specifiky na\u0161eho p\u0159\u00edpadu.<\/p>\n<p>Pro rychlej\u0161\u00ed start Spark existuje doporu\u010den\u00ed zabalit slo\u017eku jars z domovsk\u00e9ho adres\u00e1\u0159e SPARK_HOME a um\u00edstit ji na HDFS. Pot\u00e9 nebude ztr\u00e1cet \u010das na\u010d\u00edt\u00e1n\u00edm t\u011bchto jar\u016f na workery.<\/p>\n<pre><code class=\"apache\">spark.yarn.archive=hdfs:\/\/\/tmp\/spark-archive.zip<\/code><\/pre>\n<p>\nPriporo\u010damo uporabo kryo kot serializer za bolj hitro delovanje. Je bolj optimiziran od privzetega.<\/p>\n<pre><code class=\"apache\">spark.serializer=org.apache.spark.serializer.KryoSerializer<\/code><\/pre>\n<p>\nObstaja tudi dolgoletna te\u017eava pri Sparku, da pogosto pade zaradi pomnilnika. To se pogosto zgodi, ko so delavci vse izra\u010dunali in po\u0161iljajo rezultate na vozni\u0161ki ra\u010dunalnik. Mi smo ta parameter pove\u010dali. Privzeto je 1 GB, mi smo ga nastavili na 3.<\/p>\n<pre><code class=\"apache\">spark.driver.maxResultSize=3072<\/code><\/pre>\n<p>\nIn zadnje, kako posodobiti Spark na razli\u010dico 2.1 na distribuciji HortonWorks \u2013 HDP 2.5.3.0. Ta razli\u010dica HDP vsebuje predname\u0161\u010deno razli\u010dico 2.0, toda nekega dne smo se odlo\u010dili, da se Spark aktivno razvija in vsaka nova razli\u010dica odpravlja napake ter ponuja nove mo\u017enosti, tudi za python API, zato smo se odlo\u010dili, da naredimo posodobitev.<\/p>\n<p>Prenesli smo razli\u010dico s uradne spletne strani za Hadoop 2.7. Jo razpakirali, prenesli v mapo s HDP. Ustvarili smo povezave, kot je treba. Za\u010dnemo \u2013 ne za\u017eene se. Prikazuje zelo nejasno napako.<\/p>\n<pre><code class=\"apache\">java.lang.NoClassDefFoundError: com\/sun\/jersey\/api\/client\/config\/ClientConfig<\/code><\/pre>\n<p>\nPo iskanju po Googlu smo ugotovili, da Spark ne \u010daka, da se Hadoop dokon\u010da, in se odlo\u010dil uporabiti novo razli\u010dico jersey. O tem se med seboj prepirajo v JIRA. Re\u0161itev je bila \u2013 prenesti <noindex><a rel=\"nofollow\" href=\"https:\/\/mvnrepository.com\/artifact\/com.sun.jersey\/jersey-bundle\/1.17.1\">jersey razli\u010dico 1.17.1<\/a><\/noindex>. To smo dali v mapo jars v SPARK_HOME, spet naredili zip in prenesli na HDFS.<\/p>\n<p>To napako smo ob\u0161li, a pojavila se je nova, precej nejasna.<\/p>\n<pre><code class=\"apache\">org.apache.spark.SparkException: Yarn application has already ended! It might have been killed or unable to launch application master<\/code><\/pre>\n<p>\nPri tem posku\u0161amo zagnati razli\u010dico 2.0 \u2013 vse deluje. Poskusi ugotoviti, kje je te\u017eava. Poglobljeno smo pregledali dnevnike te aplikacije in videli nekaj takega:<\/p>\n<pre><code class=\"apache\">\/usr\/hdp\/${hdp.version}\/hadoop\/lib\/hadoop-lzo-0.6.0.${hdp.version}.jar<\/code><\/pre>\n<p>\nNa splo\u0161no se iz nekega razloga hdp.version ni razre\u0161ila. Po iskanju smo na\u0161li re\u0161itev. V Ambari je treba v nastavitvah YARN dodati parameter v prilagojen yarn-site:<\/p>\n<pre><code class=\"apache\">hdp.version=2.5.3.0-37<\/code><\/pre>\n<p>\nTa magija je pomagala in Spark je vzletel. Testirali smo nekaj na\u0161ih jupyter notebookov. Vse deluje. Na prvo predavanje o Sparku v soboto (\u017ee jutri) smo pripravljeni!<\/p>\n<p><b>UPD<\/b>. Na predavanju se je pokazala \u0161e ena te\u017eava. V nekem trenutku YARN ni ve\u010d dodeljeval kontejnerjev za Spark. Treba je bilo popraviti parameter v YARN, ki je bil privzeto nastavljen na 0.2:<\/p>\n<pre><code class=\"apache\">yarn.scheduler.capacity.maximum-am-resource-percent=0.8<\/code><\/pre>\n<p>\nTo je pomenilo, da je le 20 % virov sodelovalo pri dodeljevanju virov. Po spremembi nastavitev smo ponovno zagnali YARN. Te\u017eava je bila re\u0161ena, in ostali udele\u017eenci so prav tako lahko zagnali Spark kontekst.<br \/>\n<br \/>Izvor: <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-news"],"aioseo_notices":[],"aioseo_head":"\n\t\t<!-- All in One SEO 5.0.4 - aioseo.com -->\n\t<meta name=\"description\" content=\"\u0425\u0430\u0431\u0440, \u043f\u0440\u0438\u0432\u0435\u0442!\" \/>\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\/sl\/blog\/news\/konfigurirovanie-spark-na-yarn\" \/>\n\t\t<meta name=\"generator\" content=\"All in One SEO (AIOSEO) 5.0.4\" \/>\n\t\t<meta property=\"og:locale\" content=\"sl_SI\" \/>\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!\" \/>\n\t\t<meta property=\"og:url\" content=\"https:\/\/prohoster.info\/sl\/blog\/news\/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\udd47Konfiguracija Sparka na YARN | ProHoster","description":"Habr, pozdravljen!","canonical_url":"https:\/\/prohoster.info\/sl\/blog\/news\/konfigurirovanie-spark-na-yarn","robots":"max-image-preview:large","keywords":"","webmasterTools":{"miscellaneous":""},"schema":null,"og:locale":"sl_SI","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!","og:url":"https:\/\/prohoster.info\/sl\/blog\/news\/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\/sl\/wp-json\/wp\/v2\/posts\/30548","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/prohoster.info\/sl\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/prohoster.info\/sl\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/prohoster.info\/sl\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/prohoster.info\/sl\/wp-json\/wp\/v2\/comments?post=30548"}],"version-history":[{"count":0,"href":"https:\/\/prohoster.info\/sl\/wp-json\/wp\/v2\/posts\/30548\/revisions"}],"wp:attachment":[{"href":"https:\/\/prohoster.info\/sl\/wp-json\/wp\/v2\/media?parent=30548"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/prohoster.info\/sl\/wp-json\/wp\/v2\/categories?post=30548"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/prohoster.info\/sl\/wp-json\/wp\/v2\/tags?post=30548"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}