Apache Spark¶
Այս հոդվածում
Տեղեկատվություն
Apache Spark-ը մեծ տվյալների մշակման հզոր և արագ շարժիչ է, որը կարող է օգտագործվել տարբեր խնդիրների համար, օրինակ՝ իրական ժամանակում տվյալների հոսքի մշակում, մեքենայական ուսուցում և տվյալների բազաների վերլուծություն: Spark-ը ապահովում է ճկուն API բազմաթիվ ծրագրավորման լեզուներով, ներառյալ Scala, Java, Python և R:
Apache Spark-ի հիմնական հնարավորություններ¶
- Բարձր արդյունավետություն. Spark-ը օգտագործում է բաշխված տվյալների մշակում և օպտիմալացված ալգորիթմներ, ինչը թույլ է տալիս մշակել մեծ ծավալի տվյալներ ավելի արագ, քան ավանդական լուծումները:
- Բաշխվածություն. Spark-ը կարող է աշխատել բազմաթիվ հանգույցների կլաստերներում, ինչը թույլ է տալիս մասշտաբավորել տվյալների մշակումը՝ կախված անհրաժեշտությունից:
- Բազմազան API-ներ. Spark-ը առաջարկում է API-ներ տարբեր ծրագրավորման լեզուներով, ինչը դարձնում է այն հարմար տարբեր սցենարների և զարգացման թիմերի համար:
- Տարբեր տվյալների տեսակների աջակցություն. Spark-ը կարող է մշակել տարբեր տվյալների տեսակներ, ներառյալ կառուցվածքային տվյալներ (աղյուսակներ), անկառուցվածք տվյալներ (տեքստ, պատկերներ) և կիսակառուցվածքային տվյալներ (JSON):
- Spark GraphX. Գրաֆիկական API, որը թույլ է տալիս կատարել գործողություններ մեծ գրաֆների վրա:
Տեղակայման հնարավորություններ¶
| ID | Ծրագրային ապահովման անվանում | Համատեղելի ՕՀ | VM | BM | VGPU | GPU | Նվազագույն CPU (միջուկներ) | Նվազագույն RAM (ԳԲ) | Նվազագույն HDD/SSD (ԳԲ) | Սեփական դոմեն | Ակտիվ |
|---|---|---|---|---|---|---|---|---|---|---|---|
| 204 | Apache Spark | Ubuntu 22.04 | + | + | + | + | 6 | 8 | 160 | Ոչ | ՊԱՏՎԻՐԵԼ |
- Վերահսկման վահանակին մուտք.
https://spark{Server_ID_from_Invapi}.hostkey.in - Վերահսկման վահանակի և օպերացիոն համակարգի տեղադրման ժամանակը մոտ 15 րոպե է:
Նշում
Եթե այլ կերպ նշված չէ, լռելյայն մենք տեղադրում ենք ծրագրային ապահովման վերջին թողարկման տարբերակը՝ զարգացնողի կայքից կամ օպերացիոն համակարգի պահոցներից:
Սկսել Apache Spark-ի տեղադրումից հետո¶
Ձեր պատվերի վճարումից հետո, երբ սերվերը պատրաստ լինի օգտագործման, դուք կստանաք ծանուցում էլ. փոստով (նշված էլ. փոստի հասցեով, որը գրանցվել է գրանցման ժամանակ): Այս ծանուցումը կներառի VPS-ի IP հասցեն և մուտքի հավատարմագրերը միացման համար: Մեր ընկերության հաճախորդները կառավարում են իրենց սարքավորումները սերվերի վերահսկման վահանակի և API-ի միջոցով - Invapi:
Դուք կարող եք գտնել հաստատման տվյալները, որոնք գտնվում են սերվերի վերահսկման վահանակի Configuration >> Tags թերթիկում կամ էլ. փոստով, որը ուղարկվել է ձեզ սերվերի պատրաստ լինելուց հետո.
- Հղում Apache Airflow-ի վեբ ինտերֆեյսին մուտք գործելու համար. webpanel թեգում;
- Login և Password. տրված էլ. փոստով, որը ուղարկվել է ձեր գրանցված էլ. փոստի հասցեին, երբ սերվերը պատրաստ է օգտագործման:
Apache Spark-ի կարգավորում¶
Spark-ը կարելի է մեկնարկեցնել տեղական համակարգչում կամ բաշխված միջավայրում: webpanel թեգի հղման վրա սեղմելուց առաջ անհրաժեշտ է.
Միացեք սերվերին SSH-ի միջոցով.
Այնուհետև մեկնարկեք անհրաժեշտ հավելվածը՝ օգտագործելով հրամանը Բաղադրիչների մեկնարկ բաժնի աղյուսակից:
Այլապես, հղման վրա սեղմելիս կցուցադրվի 502 (Bad Gateway) սխալ:
Բաղադրիչների մեկնարկ¶
Դուք կարող եք մեկնարկեցնել Spark-ի տարբեր բաղադրիչներ, օրինակ՝ Application, Standalone Master, Standalone Worker և History Server վեբ ինտերֆեյսով՝ օգտագործելով ստորև բերված աղյուսակի հրամանները:
| Անուն | Տեղական հասցե և պորտ | Արտաքին հասցե | Մեկնարկի հրաման |
|---|---|---|---|
| Application | localhost:4040 | https://spark{Server_ID_from_Invapi}.hostkey.in | /root/spark-3.5.3-bin-hadoop3/bin/./spark-shell |
| Standalone Master | localhost:8080 | https://spark{Server_ID_from_Invapi}.hostkey.in/master | /root/spark-3.5.3-bin-hadoop3/sbin/./start-master.sh |
| Standalone Worker | localhost:8081 | https://spark{Server_ID_from_Invapi}.hostkey.in/worker | /root/spark-3.5.3-bin-hadoop3/sbin/./start-master.sh spark://hostname:port |
| History Server | localhost:18080 | https://spark{Server_ID_from_Invapi}.hostkey.in/history | mkdir /tmp/spark-events/root/spark-3.5.3-bin-hadoop3/sbin/./start-history-server.sh |
Խնդրում ենք նկատի ունենալ, որ Spark-ի բաղադրիչների մեկնարկի հրամանները կարող են տարբերվել՝ կախված օգտագործվող տարբերակից: Վերը նշված օրինակներում օգտագործվում է Spark 3.5.3 տարբերակը: Spark-ի թարմացման ժամանակ անհրաժեշտ կլինի համապատասխանաբար ճշգրտել հրամաններում նշված ուղիները: Միշտ խորհուրդ է տրվում խորհրդակցել Spark-ի վերջին փաստաթղթերի հետ՝ բաղադրիչների մեկնարկի հրամանների վերաբերյալ ամենաճշգրիտ տեղեկատվությունը ստանալու համար: Տարբերակը ստուգելու համար միացեք սերվերին SSH-ի միջոցով և մուտքագրեք հետևյալ հրամանը.
Այս հրամանի արդյունքը կցուցադրի /root թղթապանակի պարունակությունը, ներառյալ spark թղթապանակը՝ տեղադրված տարբերակով.

Spark-ի բաղադրիչները մեկնարկեցնելուց հետո դուք կարող եք մուտք գործել դրանց վեբ ինտերֆեյսները՝ նշված արտաքին հասցեների միջոցով: Դիտարկենք Spark Application ինտերֆեյսի օրինակ.

Այս օրինակը ցուցադրում է Spark Application ինտերֆեյսը, որը հասանելի է https://spark{Server_ID_from_Invapi}.hostkey.in հասցեով: Այս ինտերֆեյսը ցուցադրում է տեղեկատվություն աշխատող խնդիրների, մշակման փուլերի, հիշողության օգտագործման և այլ հիմնական ցուցանիշների վերաբերյալ:
Կարևոր է նշել, որ այս ինտերֆեյսում այլ Spark բաղադրիչների (օրինակ՝ Standalone Master կամ Worker) հղումները չեն աշխատի, երբ միանում եք այլ համակարգչից: Սա պայմանավորված է անվտանգության կարգավորումներով. բաղադրիչները կարգավորված են տեղական աշխատանքի համար, և միայն վեբ ինտերֆեյսը, որը հասանելի է դոմենի անվանմամիջոցով, բաց է արտաքին մուտքի համար:
Այս կարգավորումը փոխելու և բոլոր բաղադրիչներին արտաքին մուտքը թույլ տալու համար անհրաժեշտ է կատարել հետևյալ քայլերը.
- Դադարեցրեք և հեռացրեք ընթացիկ Docker կոնտեյները՝ կատարելով
docker compose up downհրամանը/root/nginxթղթապանակում: - Հեռացրեք
SPARK_LOCAL_IP="127.0.0.1"տողը/etc/environmentֆայլից:
Այս փոփոխություններից հետո Spark-ի վեբ ինտերֆեյսը կլինի հասանելի սպիտակ IP հասցեով՝ առանց SSL վկայականի: Այս փոփոխությունը նաև կարող է լուծել բաղադրիչների միջև կապի խնդիրները, եթե դրանք առաջանան աշխատանքի ընթացքում:
Նշում
Կարևոր է հիշել, որ այս կարգավորումը նվազեցնում է Spark կլաստերի անվտանգության մակարդակը: Այն պետք է օգտագործվի միայն անհրաժեշտության դեպքում և անվտանգ ցանցային միջավայրում: Եթե օգտագործում եք այս կարգավորումը, դիտարկեք SSL միացումների կարգավորումը Spark-ի ներսում կամ այլ անվտանգության միջոցառումների իրականացումը՝ կլաստերը պաշտպանելու համար:
Ուղիների հարմարեցում¶
- Դադարեցրեք Docker կոնտեյները՝ կատարելով
docker compose up downհրամանը/root/nginxթղթապանակում: - Կատարեք անհրաժեշտ խմբագրումները Nginx-ի կարգավորման ֆայլում.
/data/nginx/user_conf.d/spark{Server_ID_from_Invapi}.hostkey.in.conf: - Կրկին մեկնարկեք Docker կոնտեյները
/root/nginxթղթապանակից՝ օգտագործելովdocker compose up -dհրամանը:
Նշում
Apache Spark-ի հիմնական կարգավորումների մանրամասն տեղեկատվությունը կարելի է գտնել զարգացնողի փաստաթղթերում: