Zephyrnet-logo

Installeer en gebruik JupyterHub (TLJH) op AWS EC2

Datum:

[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). 
 

Installeer en gebruik JupyterHub (TLJH) op AWS EC2

 

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.
 

Installeer en gebruik JupyterHub (TLJH) op AWS EC2

 

De officiële zelfstudie benadrukt dat u een AWS-regio moet kiezen op basis van waar uw JupyterHub-gebruikers zich bevinden. 
 

Installeer en gebruik JupyterHub (TLJH) op AWS EC2

 

2). Klik op EC2. Als je het niet ziet, gebruik dan de zoekbalk bovenaan het scherm en typ EC2. 
 

Installeer en gebruik JupyterHub (TLJH) op AWS 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
 

Installeer en gebruik JupyterHub (TLJH) op AWS EC2

 
4). Klik op Start instanties (de knop kan ook worden gelabeld Start exemplaar).  
 
Installeer en gebruik JupyterHub (TLJH) op AWS EC2

 
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). 
 
Installeer en gebruik JupyterHub (TLJH) op AWS EC2

 

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. 
 

Installeer en gebruik JupyterHub (TLJH) op AWS EC2

 

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). 
 

Installeer en gebruik JupyterHub (TLJH) op AWS EC2
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. 
 

Installeer en gebruik JupyterHub (TLJH) op AWS EC2

 

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).
 

Installeer en gebruik JupyterHub (TLJH) op AWS EC2

 

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.

 

Installeer en gebruik JupyterHub (TLJH) op AWS EC2

 

Optioneel kunt u deze beveiligingsgroepen ook bekijken door op Bewerken te klikken. Hiermee kunt u ook de naam van uw beveiligingsgroep wijzigen. 

 

Installeer en gebruik JupyterHub (TLJH) op AWS EC2
 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.

 

Installeer en gebruik JupyterHub (TLJH) op AWS EC2

 

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. 

 

Installeer en gebruik JupyterHub (TLJH) op AWS EC2

 

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. 

 

Installeer en gebruik JupyterHub (TLJH) op AWS EC2

 

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. 

 

Installeer en gebruik JupyterHub (TLJH) op AWS EC2

 

13). Op de Startstatus meldingsscherm, klik op de link. Het brengt je naar de EC2-beheerconsole

 

Installeer en gebruik JupyterHub (TLJH) op AWS EC2

 

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).

 

Installeer en gebruik JupyterHub (TLJH) op AWS EC2
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). 
 

Installeer en gebruik JupyterHub (TLJH) op AWS EC2

 

Kopieer na een paar minuten het Publiekelijk adres naar een nieuw tabblad en u wordt gevraagd in te loggen. 

 

Installeer en gebruik JupyterHub (TLJH) op AWS EC2
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. 

 

Installeer en gebruik JupyterHub (TLJH) op AWS EC2

 

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! 

 

Installeer en gebruik JupyterHub (TLJH) op AWS EC2

 

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

 

Installeer en gebruik JupyterHub (TLJH) op AWS EC2

 

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

 

Installeer en gebruik JupyterHub (TLJH) op AWS EC2

 

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.
 

spot_img

Laatste intelligentie

spot_img