Fa'atulagaina o Spark ile YARN

Habr, talofa! O ananafi i luga feiloaiga faʻapitoa mo Apache Spark, mai tama mai Rambler&Co, e tele naua fesili mai tagata auai e fesoʻotaʻi ma le faʻatulagaina o lenei meafaigaluega. Sa ma filifili e mulimuli i ona tulagaaao ma faasoa atu lo ma aafiaga. E le faigofie le autu - o lea matou te valaʻauina oe e faʻasoa lou poto masani i faʻamatalaga, atonu tatou te malamalama ma faʻaaoga se mea sese.

O sina fa'amatalaga i le auala matou te fa'aogaina ai le Spark. E tolu masina le matou polokalame "Fa'apitoa Fa'amatalaga Tele", ma i le vaega lona lua e galulue ai o tatou tagata auai i lenei meafaigaluega. O le mea lea, o la matou galuega, i le avea ai ma faʻalapotopotoga, o le saunia lea o le fuifui mo le faʻaaogaina i totonu o sea tulaga.

O le uiga ese o lo tatou faʻaogaina o le numera o tagata e galulue i le taimi e tasi i le Spark e mafai ona tutusa ma le vaega atoa. Mo se faʻataʻitaʻiga, i se semina, pe a taumafai tagata uma i se mea i le taimi e tasi ma toe fai pe a uma le matou faiaoga. Ma e le tele - o nisi taimi e oʻo atu i le 40 tagata. Masalo e le tele ni kamupani i le lalolagi o loʻo feagai ma se faʻaoga faʻaoga.

Ma le isi, o le a ou taʻu atu ia te oe pe faʻafefea ma pe aisea na matou filifilia ai nisi o faʻamaufaʻailoga.

Tatou amata mai lava i le amataga. Spark e 3 filifiliga e tamo'e i luga o se fuifui: tu'ufua, fa'aoga Mesos, ma fa'aoga YARN. Na matou filifili e filifili le filifiliga lona tolu aua e talafeagai ia i matou. Ua uma ona iai le matou fuifui hadoop. O tatou tagata auai ua leva ona masani lelei i lona fausaga. Tatou fa'aaoga YARN.

spark.master=yarn

E sili atu le manaia. O nei filifiliga fa'apipi'i e 3 e iai ni filifiliga fa'apipi'i e 2: tagata fa'atau ma fuifui. Fa'avae fa'amaumauga ma sooga eseese i luga o le Initoneti, e mafai ona tatou faaiuina o le tagata o tausia e talafeagai mo galuega fegalegaleai - mo se faataitaiga, e ala i jupyter api, ma fuifui e sili atu ona talafeagai mo le gaosiga o fofo. I la matou tulaga, matou te fiafia i galuega fefaʻasoaaʻi, o le mea lea:

spark.deploy-mode=client

I se tulaga lautele, mai le taimi nei Spark o le a galue i luga o le YARN, ae sa le lava lea mo i matou. Talu ai o loʻo i ai a matou polokalame e uiga i faʻamatalaga tetele, o nisi taimi e le lava le au auai i mea na maua mai i totonu o le faʻavae o le tipiina o punaoa. Ona matou maua ai lea o se mea manaia - dynamic resources allocation. I se faapuupuuga, o le manatu lenei: afai ei ai sau galuega faigata ma e leai se totogi o le fuifui (mo se faʻataʻitaʻiga, i le taeao), ona faʻaaogaina lea o le filifiliga Spark e mafai ona tuʻuina atu ia te oe punaoa faaopoopo. O mea e mana'omia e fa'atatau iina e tusa ai ma se faiga poto. O le a matou le oʻo i auiliiliga - e aoga lelei.

spark.dynamicAllocation.enabled=true

Na matou setiina lenei parakalafa, ma ina ua amata Spark na paʻu ma e leʻi amataina. E sa'o, aua sa tatau ona ou faitauina fa'amaumauga sili atu le fa'aeteete. O loʻo taʻua ai ina ia lelei mea uma, e te manaʻomia foʻi le faʻaogaina o se faʻaopoopoga faaopoopo.

spark.shuffle.service.enabled=true

Aisea e manaomia ai? A le toe mana'omia e la tatou galuega le tele o punaoa, e tatau ona toe faafoi e Spark i latou i le vaitaele masani. Ole la'asaga sili ona alu ole taimi ile toetoe lava o so'o se galuega a MapReduce ole la'asaga Shuffle. O lenei parakalafa e mafai ai e oe ona faʻasaoina faʻamaumauga o loʻo faʻatupuina i lenei laasaga ma faʻasaʻo le au faʻatonu e tusa ai. Ma o le faʻatonu o le faʻagasologa lea e faʻatatauina mea uma i luga o le tagata faigaluega. O lo'o i ai se numera fa'apitoa o 'au'au fa'agaioiga ma se aofa'i o manatuaga.

Ua fa'aopoopoina lenei fa'ailoga. Na foliga mai na aoga mea uma. Na maitauina le tele o punaoa na tuuina atu i tagata auai pe a latou manaomia. Ae o le isi faʻafitauli na tulaʻi mai - i se taimi na ala ai isi tagata auai ma mananao foi e faʻaoga Spark, ae o loʻo pisi mea uma iina, ma latou le fiafia. E mafai ona malamalama i ai. Na amata ona matou vaʻavaʻai i faʻamaumauga. Na aliali mai o loʻo i ai le tele o isi faʻamaufaʻailoga e mafai ona faʻaogaina e aʻafia ai le faagasologa. Mo se faʻataʻitaʻiga, afai o loʻo i ai le tagata faʻatino i luga o le faʻataʻitaʻiga, o le a le taimi e mafai ai ona aveese mai punaoa?

spark.dynamicAllocation.executorIdleTimeout=120s

I lo matou tulaga, afai e leai se mea e faia e au faʻatonu mo le lua minute, faʻamolemole toe faʻafoʻi i latou i le vaitaele masani. Ae e le'i lava i taimi uma lenei ta'iala. Na manino lava e leʻi faia e le tagata se mea mo se taimi umi, ma e leʻi faʻasaʻolotoina punaoa. Na aliali mai o loʻo i ai foi se faʻailoga faʻapitoa - pe a maeʻa le taimi e filifili ai tagata faʻatonu o loʻo i ai faʻamaumauga faʻapipiʻi. Ona o le faaletonu, o lenei parakalafa e le gata! Sa matou faasa'oina.

spark.dynamicAllocation.cachedExecutorIdleTimeout=600s

O lona uiga, afai e leai se mea e faia e au faʻatonu mo le 5 minute, tuʻu i latou i le vaitaele masani. I lenei faiga, o le saoasaoa o le tuʻuina atu ma le tuʻuina atu o punaoa mo le tele o tagata faʻaoga ua avea ma mea lelei. Ua faaitiitia le aofaiga o le le fiafia. Ae na matou filifili e agai i luma ma faʻatapulaʻa le numera aupito maualuga o faʻatonu i le talosaga - faʻapitoa mo le tagata auai i le polokalame.

spark.dynamicAllocation.maxExecutors=19

I le taimi nei, o le mea moni, o loʻo i ai tagata le fiafia i le isi itu - "o le fuifui ua le aoga, ma e na o le 19 aʻu tagata faʻatonu," ae o le a se mea e mafai ona e faia? Matou te manaʻomia se ituaiga paleni saʻo. E le mafai ona e faafiafiaina tagata uma.

Ma se isi tala itiiti e fa'atatau i fa'amatalaga patino o le matou mataupu. I se isi itu, e toatele tagata na tuai mo se lesona aoga, ma mo nisi mafuaaga na le amata ai Spark mo i latou. Na matou tilotilo i le aofaʻi o punaoa e maua fua - e foliga mai o loʻo i ai. E tatau ona amata le moli. O le mea e lelei ai, i le taimi lena ua uma ona faʻaopoopoina faʻamaumauga i le subcortex i se mea, ma matou manatua ina ua faʻalauiloa, e suʻe e Spark se uafu e amata ai. Afai o lo'o pisi le uafu muamua i le va'aiga, e fa'agasolo i le isi fa'atonuga. Afai e sa'oloto, e pu'eina. Ma o loʻo i ai se parakalafa e faʻaalia ai le numera maualuga o taumafaiga mo lenei mea. O le faaletonu o le 16. O le numera e itiiti ifo nai lo le numera o tagata i la matou vaega i le vasega. E tusa ai, ina ua uma le 16 taumafaiga, na fiu Spark ma fai mai e le mafai ona ou amata. Ua matou faasa'oina lenei faatulagaga.

spark.port.maxRetries=50

Le isi o le a ou taʻuina atu ia te oe nisi o faʻatulagaga e le o fesoʻotaʻi tele ma faʻamatalaga patino o la matou mataupu.

Ina ia vave amata Spark, e fautuaina e teu le pusa fagu o loʻo i totonu o le SPARK_HOME home directory ma tuʻu i luga o le HDFS. Ona ia le maimauina lea o le taimi e utaina ai nei jarniks e tagata faigaluega.

spark.yarn.archive=hdfs:///tmp/spark-archive.zip

E fautuaina foi e faʻaaoga kryo e fai ma serializer mo le faʻagaioiga vave. E sili atu ona lelei nai lo le fa'aletonu.

spark.serializer=org.apache.spark.serializer.KryoSerializer

Ma o loʻo i ai foʻi se faʻafitauli ua leva ona iai i le Spark e masani ona paʻu mai le mafaufau. E masani ona tupu lenei mea i le taimi e fuafua ai e le aufaigaluega mea uma ma auina atu le taunuuga i le avetaavale. Na matou fa'ateleina lenei fa'ailoga mo i matou lava. I le faaletonu, o le 1GB, na matou faia le 3.

spark.driver.maxResultSize=3072

Ma le mea mulimuli, o se mea'ai suamalie. Fa'afefea ona fa'afou Spark ile version 2.1 ile HortonWorks tufatufaga - HDP 2.5.3.0. O lenei lomiga o le HDP o loʻo i ai se faʻapipiʻi muamua 2.0, ae na matou filifili muamua mo i matou lava o Spark o loʻo faʻaleleia le malosi, ma o faʻamaumauga fou taʻitasi e faʻaleleia ai nisi o mea faʻapipiʻi faʻatasi ai ma mea faʻaopoopo, e aofia ai mo le python API, o lea na matou filifili ai, mea e manaʻomia. faia o se fa'afouga.

Siiina mai le lomiga mai le upega tafaʻilagi aloaia mo Hadoop 2.7. Tatala ma tuu i totonu o le pusa HDP. Na matou faʻapipiʻiina symlinks pe a manaʻomia. Matou te tatalaina - e le amataina. Tusia se mea sese e matua le manino.

java.lang.NoClassDefFoundError: com/sun/jersey/api/client/config/ClientConfig

Ina ua uma le googling, na matou iloa ai na filifili Spark e aua neʻi faʻatali seʻia fanau Hadoop, ma filifili e faʻaaoga le fou fou o le jersey. Latou te finau le tasi i le isi e uiga i lenei autu i le JIRA. O le fofo o le download jersey version 1.17.1. Tuu lenei mea i totonu o le pusa fagu i SPARK_HOME, toe sipi ma tuu i luga i le HDFS.

Na matou foʻia lenei mea sese, ae na tulaʻi mai se mea fou ma faigofie.

org.apache.spark.SparkException: Yarn application has already ended! It might have been killed or unable to launch application master

I le taimi lava e tasi, matou te taumafai e faʻatautaia le version 2.0 - e lelei mea uma. Taumafai e mate le mea o loʻo tupu. Na matou tilotilo i totonu o ogalaau o lenei talosaga ma iloa ai se mea e pei o lenei:

/usr/hdp/${hdp.version}/hadoop/lib/hadoop-lzo-0.6.0.${hdp.version}.jar

I se tulaga lautele, mo nisi mafuaaga e leʻi foia ai le hdp.version. Ina ua uma le googling, sa matou maua se fofo. E tatau ona e alu i le YARN tulaga i Ambari ma faʻaopopo se faʻailoga iina i luga ole laiga masani-site:

hdp.version=2.5.3.0-37

Na fesoasoani lenei togafiti faataulaitu, ma alu ese ai Spark. Sa matou fa'ata'ita'iina le tele oa matou komipiuta jupyter. O loʻo galue mea uma. Ua matou sauni mo le lesona muamua Spark i le Aso Toonai (taeao)!

FAAFOUGA. I le taimi o le lesona, na oo mai ai se isi faafitauli. I se taimi, na taofia e YARN le saunia o pusa mo Spark. I le YARN e tatau ona faʻasaʻo le parakalafa, lea e le mafai ona 0.2:

yarn.scheduler.capacity.maximum-am-resource-percent=0.8

O lona uiga, na o le 20% o punaoa na auai i le tufatufaina atu o punaoa. Ina ua uma ona suia le tapulaʻa, matou toe utaina YARN. Na foia le faafitauli ma sa mafai foi e le vaega o totoe o le au auai ona faatautaia le si'osi'omaga.

puna: www.habr.com

Faaopoopo i ai se faamatalaga