Tässä blogissa selvitetään joitakin aloitusvaikeuksia, kun aloitteleva koodaa Spark-hajautettua tietojenkäsittelyä. Sen lisäksi, että oppii API:t, täytyy varustautua klusterin yksityiskohdilla saadakseen parhaan mahdollisen hyödyn Sparkin tehosta.
Aloituskohta olisi Cluster Mode Overview .
Ja joitain yleisiä kysymyksiä, jotka saattavat tulla esiin, ovat:
- Et vieläkään ymmärrä Spark Standalone -klusterin eri prosesseja ja rinnakkaisuutta.
- Johdatit bin\start-slave.sh:n ja huomasit, että se spawnasi workerin, joka on itse asiassa JVM. Onko worker JVM-prosessi vai ei?
- Yllä olevan linkin mukaan executor on worker-solmussa sovellukselle käynnistetty prosessi, joka suorittaa tehtäviä. Executor on myös JVM.
- Executorit ovat sovelluskohtaisia. Mikä on sitten workerin rooli? Koordinoiko se suorittajan kanssa ja välittää tuloksen takaisin ohjaimelle vai puhuuko ohjain suoraan suorittajalle? Jos näin on, mikä on workerin tarkoitus?
- Miten valvotaan sovelluksen suorittajien määrää?
- Voidaanko tehtävät suorittaa rinnakkain suorittajan sisällä? Jos on, miten määritetään suorittajan säikeiden määrä?
- Millainen suhde on työntekijän, suorittajien ja suoritinytimien ( – total-executor-cores) välillä?
- Mitä tarkoittaa, että solmua kohti on enemmän työntekijöitä?
Palataan vielä Spark Cluster -tilan yksityiskohtiin.