Amazon EMR Amazon EKS: ssä tarjoaa käyttöönottovaihtoehdon Amazonin EMR jonka avulla voit suorittaa analyysityökuormia Amazonin elastisten kuberneettien palvelu (Amazon EKS). Tämä on houkutteleva vaihtoehto, koska sen avulla voit ajaa sovelluksia yhteisellä resurssivarastolla ilman infrastruktuuria. Lisäksi voit käyttää Amazon EMR Studio rakentaa analyysikoodia, joka toimii Amazon EKS -klustereissa. EMR Studio on verkkopohjainen integroitu kehitysympäristö (IDE), joka käyttää täysin hallittuja Jupyter-muistikirjoja, jotka voidaan liittää mihin tahansa EMR-klusteriin, mukaan lukien EMR EKS: ssä. Se käyttää AWS kertakirjautuminen (SSO) tai yhteensopiva identiteettitoimittaja (IdP) kirjautuaksesi suoraan EMR Studioon suojatun URL -osoitteen kautta käyttämällä yrityksen tunnistetietoja.
EMR Studion käyttöönotto liitettäväksi EMR: ään EKS: ssä edellyttää useiden AWS -palvelujen integrointia:
Lisäksi sinun on asennettava seuraava EMR EKS -komponentteihin:
Tämä viesti auttaa sinua rakentamaan kaikki tarvittavat komponentit ja yhdistämään ne yhteen suorittamalla yhden komentosarjan. Kerromme myös tämän kokoonpanon arkkitehtuurista ja siitä, miten komponentit toimivat yhdessä.
Arkkitehtuurin yleiskatsaus
Kun EMR on käytössä EKS: ssä, voit käyttää Spark -sovelluksia muun tyyppisten sovellusten rinnalla samassa Amazon EKS -klusterissa, mikä parantaa resurssien kohdistamista ja yksinkertaistaa infrastruktuurin hallintaa. Lisätietoja Amazon EMR: n toiminnasta Amazon EKS -klusterin sisällä on osoitteessa Uutta - Amazon EMR Amazon Elastic Kubernetes Service (EKS) -palvelussa. EMR Studio tarjoaa verkkopohjaisen IDE: n, jonka avulla on helppo kehittää, visualisoida ja korjata EMR-sovelluksia. Lisätietoja on kohdassa Amazon EMR Studio (esikatselu): Uusi kannettavan ensimmäinen IDE-kokemus Amazon EMR: n kanssa.
Spark -ytimet ovat ajoitettuja palkoja Amazon EKS -klusterin nimitilassa. EMR Studio käynnistää Jupyter Enterprise Gatewayn (JEG) Spark -ytimien käynnistämiseksi Amazon EKS: ssä. Hallittu päätepiste, joka on tyyppiä JEG, on varustettu Kubernetes -käyttöönotolla EMR -virtuaaliklusterin asiaankuuluvassa nimitilassa ja paljastettu Kubernetes -palveluna. Jokainen EMR -virtuaaliklusteri kartoitetaan Amazon EKS -klusteriin rekisteröityyn Kubernetes -nimitilaan; virtuaaliset klusterit eivät hallitse fyysistä laskentaa tai tallennustilaa, mutta osoittavat Kubernetes -nimitilaan, jossa työmäärä on ajoitettu. Jokaisella virtuaaliklusterilla voi olla useita hallittuja päätepisteitä, joista jokaisella on omat ytimet eri käyttötapauksia ja tarpeita varten. JEG-hallinnoidut päätepisteet tarjoavat HTTPS-päätepisteitä, joita palvelee Application Load Balancer (ALB), jotka ovat tavoitettavissa vain EMR Studiosta ja itse isännöidyistä kannettavista, jotka on luotu Amazon EKS VPC: n yksityiseen aliverkkoon.
Seuraava kaavio kuvaa ratkaisuarkkitehtuuria.
Hallittu päätepiste luodaan virtuaaliklusterin Amazon EKS -nimitilassa (tässä tapauksessa sparkns
) ja HTTPS -päätepisteitä palvellaan yksityisistä aliverkkoista. Ytimen palkit suoritetaan hallittavassa päätepisteessä määritetyn työn suorituksen IAM-roolin kanssa. Hallitun päätepisteen luomisen aikana EKS: n EMR käyttää AWS Load Balancer Controlleria kube-system
nimiavaruuden avulla voit luoda ALB: n kohderyhmällä, joka muodostaa yhteyden JEG -hallittuun päätepisteeseen virtuaalisen klusterin Kubernetes -nimitilassa.
Voit määrittää kunkin hallitun päätepisteen ytimen eri tavalla. Esimerkiksi Spark -ytimen käytön salliminen AWS-liima luettelona voit käyttää seuraavaa määritys JSON -tiedostoa -configuration-overrides
lippu luotaessa hallittua päätepistettä:
Hallittu päätepiste on Kubernetes -käyttöönotto, jota edustaa palvelu määritetyssä nimitilassa (tässä tapauksessa sparkns
). Kun jäljitämme päätepistetietoja, voimme nähdä, miten Jupyter Enterprise Gateway -sovellus yhdistää ALB: hen ja kohderyhmään:
Jos haluat katsoa, miten tämä yhdistää, harkitse kahta EMR Studio -istuntoa. ALB altistaa portin 18888 EMR Studio -istunnoille. JEG -palvelu yhdistää ALB: n ulkoisen portin 18888 dynaamiseen NodePort
JEG -palvelussa (tässä tapauksessa 30091). JEG -palvelu välittää liikenteen edelleen TargetPort
9547, joka ohjaa liikenteen asianmukaiseen Spark -ohjainkoteloon. Jokaisella muistikirjaistunnolla on oma ytimensä, jolla on oma Spark -ohjain ja suorituspalkit, kuten seuraava kaavio havainnollistaa.
Liitä EMR Studio virtuaaliseen klusteriin ja hallittuun päätepisteeseen
Aina kun käyttäjä liittää virtuaalisen klusterin ja hallitun päätepisteen Studio -työtilaansa ja käynnistää Spark -istunnon, Spark -ohjaimet ja Spark -suorittajat ajoittuvat. Sen näkee kun juoksee kubectl
tarkistaa, mitkä palot käynnistettiin:
Jokaisessa muistikirjan Spark -ytimen istunnossa käytetään ohjainpalkkia ja suorituspalikoita, jotka jatkuvat käynnissä, kunnes ytimen istunto suljetaan.
Muistikirjan solujen koodi suoritetaan Amazon EKS -klusterin käyttöönotetuissa suorittajapalkeissa.
Ota EMR käyttöön EKS: ssä ja EMR Studiossa
Sekä EMR: n asettaminen EKS: ään että EMR Studioon edellyttää useita vaiheita ja osia. AWS SSO: n käyttöönotto on edellytys. Voit käyttää kahta tässä osiossa määritettyä käynnistysskriptiä tai ottaa sen käyttöön manuaalisesti myöhemmin tässä viestissä annettujen ohjeiden mukaisesti.
Tässä viestissä on kaksi käynnistysskriptiä. Yksi on bash -skripti, joka käyttää AWS-pilven muodostuminen, eksctl ja AWS-komentoriviliitäntä (AWS CLI) -komennot tarjoavat kokonaisratkaisun kokonaisvaltaisen käyttöönoton. Toinen käyttää AWS Cloud Development Kit (AWS CDK).
Seuraava kaavio näyttää käyttöönottamamme arkkitehtuurin ja komponentit.
Edellytykset
Varmista, että olet suorittanut seuraavat edellytykset:
Lisätietoja tuetuista IdP -palveluista on kohdassa Ota AWS-kertakirjautuminen käyttöön Amazon EMR Studiossa.
Bash-käsikirjoitus
Käsikirjoitus on saatavilla osoitteessa GitHub.
Edellytykset
Skripti vaatii käyttämistä AWS-pilvi9. Noudata kohdassa Amazon EKS -työpaja. Noudata näitä ohjeita huolellisesti:
Kun olet ottanut AWS Cloud9 -työpöydän käyttöön, jatka seuraaviin vaiheisiin.
Valmistelu
Kloonaa GitHub -repo ja valmistele AWS Cloud9 -edellytykset seuraavalla koodilla:
Ota pino käyttöön
Anna seuraavat tiedot ennen komentosarjan suorittamista:
- AWS -tilitunnus ja -alue, jos AWS Cloud9 -työpöytäsi ei ole samalla tilitunnuksella tai -alueella, jolle haluat ottaa EMR: n käyttöön EKS: ssä
- Nimi Amazonin yksinkertainen tallennuspalvelu (Amazon S3) ämpäri luoda
- AWS SSO -käyttäjä, joka liitetään EMR Studio -istuntoon
Kun komentosarja on ottanut pinon käyttöön, käyttöönotetun EMR Studion URL -osoite näytetään:
AWS CDK -skripti
AWS CDK -skriptit ovat saatavilla osoitteessa GitHub. Sinun täytyy tarkistaa main
haara. Pinot käyttävät Amazon EKS -klusteria ja EMR: ää EKS -virtuaaliryhmässä uudessa VPC: ssä, jossa on yksityiset aliverkot, ja valinnaisesti Amazonin hallinnoima Apache Airflow (Amazon MWAA) -ympäristö ja EMR Studio.
Edellytykset
Tarvitset AWS CDK -version 1.90.1 tai uudemman. Lisätietoja on kohdassa Aloittaminen AWS CDK: n kanssa.
Käytämme etuliiteluetteloa rajoittaaksemme joidenkin resurssien käytön hyväksymiisi verkon IP -alueisiin. Luo etuliiteluettelo jos sinulla ei vielä ole.
Jos aiot käyttää EMR Studiota, tarvitset AWS SSO: n määritetty tililläsi.
Valmistelu
Kun olet kloonannut arkiston ja tarkistanut main
haara, luo ja aktivoi uusi Python -virtuaalinen ympäristö:
Asenna nyt Python -riippuvuudet:
Käynnistä lopuksi AWS CDK:
Ota pinot käyttöön
Syntetisoi AWS CDK -pinot seuraavalla koodilla:
Tämä komento luo neljä pinoa:
- emr-eks-cdk - Pääpino
- mwaa-cdk - Lisää Amazon MWAA
- studio-cdk - Lisää EMR Studion edellytykset
- studio-cdk-live - Lisää EMR Studion
Seuraava kaavio havainnollistaa AWS CDK -pinoiden käyttämiä resursseja.
Aloita ottamalla käyttöön ensimmäinen pino:
Jos haluat käyttää Apache Airflowa orkestraattorina, ota tämä pino käyttöön:
Ota käyttöön ensimmäinen EMR Studio -pino:
Odota, että hallittu päätepiste tulee aktiiviseksi. Voit tarkistaa tilan suorittamalla seuraavan koodin:
Virtuaalisen klusterin tunnus on saatavana AWS CDK -lähdössä emr-eks-cdk-pinosta.
Kun päätepiste on aktiivinen, ota käyttöön toinen EMR Studio -pino:
Manuaalinen käyttöönotto
Jos haluat ottaa EMR: n käyttöön manuaalisesti EKS: ssä ja EMR Studiossa, noudata tämän osan ohjeita.
Määritä VPC
Jos käytät Amazon EKS -versiota 1.18, määritä VPC, jossa on myös yksityisiä aliverkkoja ja jotka on asianmukaisesti merkitty ulkoisille kuormituksen tasapainottajille. Katso merkinnät kohdasta: Sovellusten kuormituksen tasapainotus Amazon EKS: ssä ja Luo EMR Studio -palvelurooli.
Luo Amazon EKS -klusteri
Käynnistä Amazon EKS -klusteri, jossa on vähintään yksi hallittu solmuryhmä. Katso ohjeet kohdasta Asettaa ja Amazon EKS: n käytön aloittaminen.
Luo asiaankuuluvia IAM -käytäntöjä, rooleja, IdP- ja SSL/TLS -varmenteita
Luo IAM -käytännöt, roolit, IdP ja SSL/TLS -varmenne seuraavasti:
- Ota käyttöön klusterin käyttöoikeus EMR: lle EKS: ssä.
- Luo IdP IAM: ssä EKS OIDC -palveluntarjoajan URL -osoitteen perusteella.
- Luo SSL/TLS -varmenne ja aseta se sisään AWS-varmenteen hallinta.
- Luo asiaankuuluvat IAM -käytännöt ja -roolit:
- Työn toteutusrooli
- Päivitä luottamuskäytäntö työn suoritusroolille
- Ota käyttöön ja luo IAM -käytäntö AWS Load Balancer Controllerille
- EMR Studion palvelurooli
- EMR Studion käyttäjärooli
- EMR Studion käyttäjäkäytännöt liittyy AWS SSO -käyttäjiin ja -ryhmiin
- Rekisteröi Amazon EKS -klusteri Amazon EMR: ään luoda virtuaalinen EMR -klusteri
- Luo sopiva turvallisuusryhmät liitettäväksi jokaiseen luotuun EMR -studioon:
- Työtilan suojaryhmä
- Moottorin turvaryhmä
- Merkitse suojaryhmät sopivilla tunnisteilla. Katso ohjeet kohdasta Luo EMR Studio -palvelurooli.
Pakolliset asennukset Amazon EKS: ään
Ota käyttöön AWS -kuormantasauslaite Amazon EKS -klusterissa, jos et ole jo tehnyt niin.
Luo EMR EKS -osiin ja yhdistä käyttäjä EMR Studioon
Suorita seuraavat vaiheet:
- Luo ainakin yksi Amazon EKS -klusteriin liittyvä EMR -virtuaaliklusteri. Katso ohjeet kohdasta 1 Asenna Amazon EMR EKS: lle EMR Studiota varten.
- Luo vähintään yksi hallittu päätepiste. Katso ohjeet kohdasta 2 Asenna Amazon EMR EKS: lle EMR Studiota varten.
- Luo vähintään yksi EMR Studio; liittää EMR Studion Amazon EKS -klusterin kanssa määritettyihin yksityisiin aliverkkoihin. Katso ohjeet kohdasta Luo EMR -studio.
- Kun EMR Studio on käytettävissä, yhdistää AWS SSO -käyttäjän tai -ryhmän EMR Studioon ja käytä asianmukaista IAM -käytäntöä kyseiselle käyttäjälle.
Käytä EMR Studiota
Aloita EMR Studion käyttö seuraavasti:
- Etsi EMR Studion URL -osoite alueen studioiden mukaan:
- Kirjaudu luetellun URL -osoitteen avulla sisään käyttämällä aiemmin käyttämääsi AWS SSO -käyttäjätunnusta.
Todennuksen jälkeen käyttäjä ohjataan EMR Studion kojelautaan.
- Valita Luo työtila.
- varten Työtilan nimi, kirjoita nimi.
- varten aliverkon, valitse aliverkko, joka vastaa yhtä hallittujen solmuryhmien aliverkkoista.
- varten S3 sijainti, kirjoita S3 -ämpäri, johon voit tallentaa muistikirjan sisällön.
- Kun olet luonut työtilan, valitse
Ready
tila.
- Valitse sivupalkista EMR -klusterin kuvake.
- Alle Klusterin tyyppi¸ valitse EMR -klusteri EKS: ssä.
- Valitse käytettävissä oleva virtuaalinen klusteri ja käytettävissä oleva hallittu päätepiste.
- Valita Liittää.
Kun se on liitetty, EMR Studio näyttää hakemistossa olevat ytimet muistikirja ja Console osiossa.
- Valita PySpark (Kubernetes) käynnistääksesi kannettavan ytimen ja aloittaaksesi Spark -istunnon.
Koska päätepistemääritykset käyttävät AWS -liimaa tässä metastoressa, voit luetella AWS -liimatietoluetteloon liitetyt tietokannat ja taulukot. Voit testata asennusta seuraavan esimerkkikomentosarjan avulla. Muokkaa komentosarjaa tarvittavan tietokannan ja taulukon mukaan:
Puhdistaa
Voit välttää tulevien maksujen poistamisen poistamalla täältä julkaistut resurssit suorittamalla remove_setup.sh:
Yhteenveto
EKS: n EMR: n avulla voit käyttää sovelluksia Amazon EKS -klusterin yhteisessä resurssivarastossa ilman infrastruktuuria. EMR Studio on täysin hallittu Jupyter -muistikirja ja -työkalu, joka sisältää ytimiä, jotka toimivat EMR -klustereissa, mukaan lukien Amazon EKS: n virtuaaliset klusterit. Tässä viestissä kuvailimme arkkitehtuuria, jolla EMR Studio muodostaa yhteyden EMR: ään EKS: ssä, ja esittelimme skriptejä kaikkien komponenttien automaattiseen käyttöönottoon näiden kahden palvelun yhdistämiseksi.
Jos sinulla on kysymyksiä tai ehdotuksia, jätä kommentti.
Tietoja Tekijät
Randy DeFauw on Amazon Web Servicesin ratkaisujen arkkitehti. Hän työskentelee yhdessä AWS -asiakkaiden kanssa opastaakseen ja teknisesti avatakseen tietokantaprojekteja ja auttaakseen heitä parantamaan ratkaisujensa arvoa käytettäessä AWS: ää.
Matthew Tan on johtava analytiikkaratkaisujen arkkitehti Amazon Web Services -palvelussa ja opastaa asiakkaita, jotka kehittävät ratkaisuja AWS Analytics -palveluiden avulla, analyysitöistä.
- '
- "
- 100
- 7
- 9
- pääsy
- Tili
- aktiivinen
- Kaikki
- jako
- Amazon
- Amazon Web Services
- Analytics
- Apache
- Hakemus
- sovellukset
- arkkitehtuuri
- Authentication
- AWS
- swing
- rakentaa
- tapauksissa
- todistus
- maksut
- Kassa
- luokittelu
- pilvi
- koodi
- Yhteinen
- Laskea
- pitoisuus
- jatkaa
- ohjain
- Luominen
- Valtakirja
- Asiakkaat
- kojelauta
- tiedot
- tietokanta
- tietokannat
- kehittää
- Kehitys
- kuljettaja
- päätepiste
- yritys
- ympäristö
- teloitus
- experience
- tehdas
- Etunimi
- seurata
- fronted
- tulevaisuutta
- mennä
- GitHub
- Ryhmä
- Hadoop
- tätä
- Hive
- Miten
- HTTPS
- IAM
- ICON
- Identiteetti
- Mukaan lukien
- tiedot
- Infrastruktuuri
- IP
- IT
- Job
- Jupyter Notebook
- Kubernetes
- käynnistää
- käynnistää
- linja
- Lista
- kuormitus
- johto
- kartta
- Kartat
- verkko
- kannettavat tietokoneet
- Vaihtoehto
- Muut
- fyysinen
- palot
- politiikkaa
- politiikka
- pool
- preview
- Pääasiallinen
- yksityinen
- hankkeet
- Python
- vaatimukset
- resurssi
- Esittelymateriaalit
- ajaa
- juoksu
- turvallisuus
- Palvelut
- setti
- Yksinkertainen
- So
- Ratkaisumme
- SQL
- Alkaa
- alkoi
- Osavaltio
- Tila
- Levytila
- verkkokaupasta
- Tuetut
- Kohde
- Tekninen
- testi
- aika
- liikenne
- Luottamus
- Käyttäjät
- arvo
- Virtual
- verkko
- verkkopalvelut
- sisällä
- sanoja
- Referenssit
- toimii