Apache Spark¶
Այս հոդվածում
Տեղեկատվություն
Apache Spark-ը հզոր և արագ շարժիչ է մեծ տվյալների (big data) մշակման համար, որը կարող է օգտագործվել տարբեր առաջադրանքների համար, ինչպիսիք են տվյալների իրական ժամանակի հոսքերի մշակումը, մեքենայական ուսուցումը և տվյալների բազաների վերլուծությունը: Spark-ն ապահովում է ճկուն API բազմաթիվ ծրագրավորման լեզուներով, ներառյալ Scala, Java, Python և R:
Apache Spark-ի հիմնական հնարավորությունները¶
- Բարձր արտադրողականություն: Spark-ն օգտագதுցում է տվյալների բաշտված մշակում և օպտիմալացված ալգորիթմներ, ինչը թույլ է տալիս մշակել մեծ ծավալի տվյալներ ավելի արագ, քան ավանդական լուծումները:
- Բաշտվածություն: Spark-ը կարող է գործել բազմաթիվ հանգույցներից (nodes) կազմված կլաստերներում՝ թույլ տալով մասշտաբավորել տվյալների մշակումը՝ ըստ անհրաժեշտության:
- Բազմազան 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 | Ոչ | ՊԱՏՎԻՐԵԼ |
Control panel-ին հասանելի է՝ https://spark{Server_ID_from_Invapi}.hostkey.in
Նշում
Եթե այլ բան նախատեսված չէ, ապա ռեժիմում մենք տեղադրում ենք ծրագրի վերջին թողարկված տարբերակը՝ ծրագրավորողի կայքից կամ օպերացիոն համակարգի պահեստներից:
Apache Spark-ի տեղակայումից հետո սկսել աշխատանքը¶
Ձեր պատվերը վճարելուց հետո, երբ սերվերը պատրաստ կլինի օգտագործման համար, դուք կստանաք Ծանուցում էլեկտրոնային փոստով (այն հասցեին, որը նշված է գրանցման ժամանակ): Այդ ծանուցումը կներառի VPS IP հասցեն և մուտքի տվյալները: Մեր ընկերության հաճախորդները կառավարում են իրենց սարքավորումները the server control panel and API - Invapi միջոցով:
Դուք կարող եք գտնել նույնականացման տվյալները, որոնք տեղադրված են սերվերի կառավարման վահանակի Configuration >> Tags պատուհանում կամ ձեզ ուղարկված էլեկտրոնային նամակում՝ սերվերի պատրաստ լինելուց հետո:
- Թողարկում Apache Spark web interface-ին մուտք գործելու համար: tag webpanel-ի մեջ;
- Login և Password: տրամադրվում են ձեր գրանցված էլեկտրոնային հասցեին ուղարկված նամակում, երբ սերվերը պատրաստ է օգտագործման համար:
Apache Spark-ի կարգավորումը¶
Spark-ը կարող է գործարկվել տեղային համակարգչով կամ բաշտված միջավայրում: Նախքան webpanel tag-ի հղման վրա սեղմելը, դուք պետք է՝
Կապ հաստատեք սերվերի հետ SSH-ի միջոցով՝
Այնուհետև գործարկեք անհրաժեշտ հավելվածը՝ օգտագործելով Launching Components բաժնի աղյուսակի հրամանը:
Հակառակ դեպքում, հղման վրա սեղմելը կհայտարարի 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-ի ինտերֆեյսի օրինակը.

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