[ingesloten inhoud][ingesloten inhoud]
Video Tutorial
Een Jupyter Notebook is een open source-toepassing die in de academische wereld en de industrie wordt gebruikt. De interactieve computertoepassing bestaat uit cellen die verklarende tekst weergeven die is geschreven met behulp van de Markdown-syntaxis en cellen die programmeercode uitvoeren (waaronder Python, R, Julia en Scala). Dit betekent dat notitieblokken tekst, code en visualisaties in hetzelfde document kunnen bevatten. Een Jupyter-notebook kan op uw lokale computer worden gebruikt of, zoals ik in een eerdere zelfstudie heb besproken, in de wolk. Het probleem is echter dat een Jupyter Notebook alleen is ontworpen voor enkele gebruikers. JupyterHub is ontworpen om dit probleem op te lossen. JupyterHub is een multi-user, containervriendelijke (bijv. Docker, Kubernetes, enz.) versie van de Jupyter Notebook, ontworpen voor organisaties met veel betekent inclusief de mogelijkheid om:
- Beheer gebruikers en authenticatie (bijv. PAM, OAuth, SSOEnz.).
- Creëer deelbare, schaalbare en aanpasbare computationele bronnen en data science-omgevingen in de cloud (bijv. AWS, Azure, Google Cloud, etc.) of op uw eigen hardware (on-premise)
- Ontlast gebruikers met installatie- en onderhoudstaken.
JupyterHub wordt geleverd in twee distributies:
- Zero-to-JupyterHub (ZTJH), een multi-node versie van JupyterHub gebaseerd op Kubernetes
- De Littlest JupyterHub (TLJH) is een versie met één knooppunt van JupyterHub.
Deze tutorial gaat een weinig verder dan de geweldige officiële JupyterHub-tutorial over het instellen van JupyterHub (TLJH) op AWS in de hoop dat de afbeeldingen en YouTube-video zal ervoor zorgen dat u minder snel problemen tegenkomt in dit proces van meer dan 15 stappen.
1). Ga naar het Amazon Web Services-website en klik op Aanmelden (maak een AWS-account aan als u er nog geen heeft).
Op de Inloggen pagina, kies een van beide Root-gebruiker (A) of IAM-gebruiker (B). Voer uw e-mailadres in. Als u een IAM-gebruiker bent, zorg er dan voor dat u over de juiste machtigingen beschikt, zodat u in ieder geval een AWS EC2-instantie kunt maken.
De officiële zelfstudie benadrukt dat u een AWS-regio moet kiezen op basis van waar uw JupyterHub-gebruikers zich bevinden.
2). Klik op EC2. Als je het niet ziet, gebruik dan de zoekbalk bovenaan het scherm en typ EC2.
3). Op het dashboard | EC2 Beheerconsole, klik op Gevallen. Als dit scherm er een beetje anders uitziet, houd er dan rekening mee dat ik heb geschakeld over nieuwe EC2-ervaring.
4). Klik op Start instanties (de knop kan ook worden gelabeld Start exemplaar).
5). Geef uw instantie een naam en voeg [optioneel] tags toe. AWS zegt dat "een tag een label is dat u toewijst aan een AWS-bron." Ik raad u aan uw instantie een naam en tags te geven die aangeven waarvoor de instantie zal worden gebruikt (bijv. MyJupyterHubTutorial).
6). Ga naar Applicatie- en OS-images (Amazon Machine Image) en kies Ubuntu versie 18.04 LTS, Ubuntu 20.04 LTS (wat deze tutorial gebruikt), Ubuntu 22.04 LTS (zie de Potentiële fouten sectie als u deze AMI wilt kiezen), of wat TLJH nog meer ondersteunt.
7). Ga naar Instantietype. Voordat u een exemplaar kiest, raad ik u ten zeerste aan om uit te checken hoeveel elke instantie kost plus de gids van JupyterHub over het schatten van hoeveel geheugen / GPU / schijfruimte die u nodig heeft op basis van het aantal gelijktijdige gebruikers. Kortom, je moet minimaal een server gebruiken met 1GB+ (eigenlijk t2.micro of meer) RAM, maar ik heb 8GB+ (t2.large of meer) gevonden om aan mijn behoeften te voldoen (datawetenschap onderwijzen en oefenen). Als ik weet dat mensen die JupyterHub gebruiken taken zullen uitvoeren waarvoor meerdere kernen nodig zijn (vooral met straal/Dask/Spark), kies ik iets dat meer vCPU heeft (t2.micro: 1 vCPU, t2.large: 2vCPU, t2.2xlarge: 8vCPU).
Vergeet niet dat het gebruik van AWS geld kost (tenzij je gratis credits hebt).
8). Ga naar Sleutelpaar (inloggen). Selecteer een bestaand sleutelpaar of Maak een nieuw sleutelpaar aan (weergegeven in de afbeeldingen hieronder). Als u een sleutelpaar maakt, zorg er dan voor dat u het downloadt en op een veilige plaats bewaart. Je zult het niet kunnen vervangen. Het selecteren van een sleutelpaar is een belangrijke stap, aangezien u een sleutel nodig heeft om via SSH naar uw instance te kunnen gaan of om eenvoudig bestanden te kunnen downloaden.
Na het klikken op Maak een nieuw sleutelpaar aan, typ de naam van uw sleutelpaar in (bijv. MyJupyterHubTutorial_pem) en klik op Sleutelpaar maken (rechtsonder in onderstaande schermafbeelding).
Opmerking: als u windows gebruikt, kunt u in plaats daarvan ppk kiezen. Ik ben echter een fan van het gebruik van GOW op Windows (zoals te zien in mijn maak verbinding met EC2-instantie met behulp van de SSH-zelfstudie) waardoor je een pem-bestand op Windows kunt gebruiken (in plaats van PuTTY nodig te hebben).
9). Ga naar Netwerkinstellingen. Dit is het gedeelte van de zelfstudie waarin u een beveiligingsgroep kunt maken of een bestaande beveiligingsgroep kunt selecteren. Dit heeft invloed op de manier waarop toegang tot uw instantie kan worden verkregen. In deze zelfstudie wilt u waarschijnlijk het volgende controleren
Als u op deze opties klikt, worden er 3 beveiligingsgroepen gemaakt.
Optioneel kunt u deze beveiligingsgroepen ook bekijken door op Bewerken te klikken. Hiermee kunt u ook de naam van uw beveiligingsgroep wijzigen.
In deze afbeelding staat beveiligingsgroep 1 SSHing toe met poort 22 (afbeelding van toen ik probeerde Ubuntu 22.04 te gebruiken in plaats van Ubuntu 20.04).
10). Ga naar Opslag configureren. Hiermee kunt u kiezen hoeveel opslagruimte u wilt (# van GiB) en de volumetype (bijv. gp2, gp3, io1, io2, sc1, st1, standaard). Voor deze zelfstudie ga ik met de standaardopslag (gp2) voor de AMI die ik in stap 6 heb gekozen.
In deze afbeelding staat beveiligingsgroep 1 SSHing toe met behulp van poort 22 (afbeelding van toen ik probeerde Ubuntu 22.04 te gebruiken in plaats van Ubuntu 20.04). Laat het me weten als je de voorkeur geeft aan een ander opslagtype voor JupyterHub, zoals gp3. Het lijkt kosteneffectiever te zijn dan GP2.
11) Ga naar Geavanceerde details en scrol omlaag naar Gebruikersgegevens.
Deze stap gaat over het leveren van een opdrachtscript dat wordt uitgevoerd wanneer u uw instantie start. Het onderstaande installatiescript installeert JupyterHub (wat doet de installateur). Voordat u doorgaat met het plakken van de tekst in gebruikersgegevens, moet u minimaal vervangen met de admin-gebruiker (bijv. mgalarnyk). Er is geen wachtwoord ingesteld in het script, aangezien dit later in deze zelfstudie wordt ingesteld. Het installatiescript kan echter wel aangepast om wachtwoorden toe te voegen, extra admin-gebruikers toe te voegen, python-pakketten in de gebruikersomgeving te installeren en plug-ins te installeren.
#!/bin/bash
curl -L https://tljh.jupyter.org/bootstrap.py | sudo python3 - --admin <admin-user-name> --show-progress-page
Codebijschrift: De code --show-progress-page
maakt kort nadat de instantie is gestart een tijdelijke voortgangspagina "TLJH is aan het bouwen", zodat u vrij snel kunt zien of de installatie goed verloopt.
Let op: als u wijzigingen wilt aanbrengen na het starten van JupyterHub, kunt u dat altijd doen extra conda-, pip- of apt-pakketten installerenevenals admin-gebruikers toevoegen/verwijderen.
12). Ga naar Samengevat en klik op Instantie starten.
13). Op de Startstatus meldingsscherm, klik op de link. Het brengt je naar de EC2-beheerconsole.
14). U bevindt zich nu in de EC2 Management Console. Deze stap vereist wat geduld, omdat u moet wachten tot de JupyterHub-installatie is voltooid. De officiële documentatie zegt dat dit meer dan 10 minuten kan duren (het was veel sneller voor mij).
Dit is een locatie waar u uw openbare adres kunt vinden
U kunt zien of uw server aan het instellen is door het Publiekelijk adres in uw browser (ik geef de voorkeur aan Chrome).
Kopieer na een paar minuten het Publiekelijk adres naar een nieuw tabblad en u wordt gevraagd in te loggen.
U kunt leren hoe u HTTPS en SSL instelt voor JupyterHub hier.
15). Voer de beheerdersgebruikersnaam in die u in stap 11 hebt opgegeven (bijv. mgalarnyk) en voer een wachtwoord in dat 7 tekens of langer kan zijn.
Note dat het installatiescript in stap 11 had kunnen zijn aangepast om wachtwoorden toe te voegen, extra admin-gebruikers toe te voegen, python-pakketten in de gebruikersomgeving te installeren en plug-ins te installeren.
Klik op Aanmelden en je bent welkom bij JupyterHub!
Als u wijzigingen wilt aanbrengen na het starten van JupyterHub, kan dat altijd extra conda-, pip- of apt-pakketten installerenevenals admin-gebruikers toevoegen/verwijderen.
Potentiële fouten
404 pagina niet gevonden
Er zijn veel redenen waarom u deze fout kunt krijgen. Als u deze foutmelding krijgt na het scherm 'Even geduld terwijl uw TLJH wordt ingesteld', het kan zo simpel zijn als het kopiëren van het adres naar een ander tabblad.
'Verbinding geweigerd'-fout na het herstarten van de server
Check out de officiële documentatie om te leren hoe u dit probleem kunt oplossen.
Deze site kan niet worden bereikt
Ik wilde deze tutorial oorspronkelijk maken met Ubuntu 22.04, maar ik kreeg deze foutmelding toen ik het IP-adres in de browser plaatste (er zijn natuurlijk andere redenen waarom je een foutmelding kunt krijgen). Als u Ubuntu 22.04 wilt gebruiken, is een mogelijke manier om dit op te lossen het controleren van het systeemlogboek in de EC2-beheerconsole om te controleren of het een curl-probleem is en om het installatiescript te wijzigen met behulp van advies van dit askubuntu-bericht.
Deze tutorial ging over het instellen van Jupyterhub (TLJH) op AWS. Installaties kunnen veel tijd kosten om op te zetten en nog meer tijd kosten om te beheren. Als u zich liever niet bezighoudt met het installeren en onderhouden van een server, kunt u een product als Saturnus Cloud. Hoe dan ook, als je vragen of gedachten hebt over de tutorial, neem dan gerust contact met ons op YouTube or Twitter.
Michaël Galarnyk is een Data Science Professional en werkt als Product Marketing Content Lead bij Parallel Domain.
- Door SEO aangedreven content en PR-distributie. Word vandaag nog versterkt.
- Platoblockchain. Web3 Metaverse Intelligentie. Kennis versterkt. Toegang hier.
- Bron: https://www.kdnuggets.com/2023/01/setup-jupyterhub-tljh-aws-ec2.html?utm_source=rss&utm_medium=rss&utm_campaign=setup-and-use-jupyterhub-tljh-on-aws-ec2