Notitie
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen u aan te melden of de directory te wijzigen.
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen de mappen te wijzigen.
Belangrijk
Deze functie bevindt zich in de bètaversie.
Kosten en prijzen voor functies in Beta kunnen veranderen.
De Azure Databricks SSH (Secure Shell) tunnel verbindt Visual Studio Code, Cursor of je terminal met de Azure Databricks workspace en Azure Databricks serverless compute, AI Runtime of classic compute. Gebruik het om workspacebestanden te bewerken en Python-scripts en notebooks uit te voeren of te debuggen, met je Python-omgeving en code-uitvoering op de externe compute. Maak direct verbinding met serverless compute, of zet een herbruikbare SSH-verbinding op naar een dedicated classic cluster.
Requirements
Start de SSH-verbinding vanaf je lokale machine. De tunnel kan niet worden gestart vanuit een andere remote omgeving of een Docker-container.
Om verbinding te maken met serverless of klassieke compute, moet je het volgende hebben:
- Databricks CLI versie 1.5.0 of hoger geïnstalleerd op uw lokale computer en verificatie geconfigureerd. Controleer uw geïnstalleerde versie met
databricks --version. Zie De Databricks CLI installeren of bijwerken. - Een van de volgende opties:
- Visual Studio Code versie 1.110.0 (Universal) of hoger en de Remote - SSH-extensie (1.0.46+) zijn geïnstalleerd.
- Cursor versie 2.6.11 (Universal) of hoger.
Als u verbinding wilt maken met serverloze GPU-rekenkracht, moet de AI Runtime-functie zijn ingeschakeld. Zie AI Runtime.
Aanvullende vereisten voor klassieke compute
Verbinding maken met klassieke (toegewezen, individuele gebruikers) rekenkracht:
- De compute moet Databricks Runtime 17.0 of hoger uitvoeren. Zie het overzicht van toegewezen rekenkracht.
- Unity Catalog moet zijn ingeschakeld.
- Als er een rekenbeleid bestaat, mag het de uitvoering van taken niet verbieden.
- Wanneer u Databricks Container Services voor toegewezen rekenresources gebruikt, moet
openssh-serverin uw Docker-image zijn geïnstalleerd.
Kies een SSH-verbinding
Gebruik de verbindingsmethode voor je computetype:
| Compute | Verbindingsmethode | Installatievereiste |
|---|---|---|
| Serverloze rekenkracht | databricks ssh connect |
Geen aparte SSH-installatiestap. Voeg --ide vscode of --ide cursor toe om een IDE te starten. |
| AI-uitvoeringstijd | databricks ssh connect --accelerator <accelerator> |
Geen aparte SSH-installatiestap. Voeg --ide vscode of --ide cursor toe om een IDE te starten.Zie --accelerator voor ondersteunde versnellers. |
| Klassieke toegewijde rekenkracht voor één gebruiker | Voer databricks ssh setup --name <connection-name> deze uit in uw terminal.Start dan de SSH-sessie vanuit de IDE of voer ssh <connection-name> uit. |
Kies een toegewijde, single-user cluster die voldoet aan de klassieke rekenvereisten. Gedeelde clusters worden niet ondersteund. |
De SSH-tunnel en de Databricks IDE-extensie zijn niet compatibel en mogen niet samen worden gebruikt. Voor een vergelijking met Databricks Connect en andere ontwikkelopties, zie Verbinding maken vanuit je IDE.
Verbinding maken met serverloze rekencapaciteit
Als je aan bovenstaande eisen voldoet, voer je databricks ssh connect uit vanaf je terminal of IDE.
De --ide waarde selecteert de te openen editor, ongeacht van welke editor of terminal je het commando uitvoert.
Visual Studio code
databricks ssh connect --ide vscode
De CLI opent een Visual Studio Code-venster dat verbonden is met de externe compute-omgeving.
Cursor
databricks ssh connect --ide cursor
De CLI opent een Cursor-venster dat verbonden is met de externe compute-omgeving.
Terminal
databricks ssh connect
De CLI start een interactieve SSH-sessie.
Voor commando-opties, inclusief benoemde verbindingen en authenticatieprofielen, zie databricks ssh connect.
Na het verbinden open je je werkruimteproject en selecteer je de Python-omgeving. Als de verbinding faalt, raadpleeg Troubleshoot SSH tunnel connections.
Maak verbinding met serverless GPU-rekenkracht via AI Runtime
Met AI Runtime ingeschakeld, voeg --accelerator toe om GPU-berekening te gebruiken:
databricks ssh connect --accelerator GPU_1xA10
databricks ssh connect geeft u een interactieve sessie op één knooppunt. Voor langlopende trainingstaken of gedistribueerde training op meerdere knooppunten dient u de werklast in plaats daarvan in met databricks air. Zie Gebruik de Databricks CLI met AI Runtime.
Verbinding maken met klassieke compute
Voor een herbruikbare verbinding met een klassieke dedicated cluster, stel je een SSH-hostnaam in en selecteer je die host in je IDE of maak je verbinding vanaf een terminal.
De SSH-verbinding instellen
Opmerking
Het instellen van de SSH-verbinding is alleen vereist als u verbinding maakt met klassieke berekeningen.
Voer databricks ssh setup uit op je lokale machine. Vervang <connection-name> door een naam voor deze verbinding, zoals my-connection:
databricks ssh setup --name <connection-name>
De CLI vraagt je een cluster te selecteren en voegt een hostinvoer toe aan je SSH-configuratie. Je kunt ook direct een cluster selecteren. Vervang <cluster-id> door de ID van je dedicated cluster:
databricks ssh setup --name <connection-name> --cluster <cluster-id>
Om te configureren hoe lang de SSH-tunnel wacht nadat de laatste client de verbinding heeft verbroken, voeg --shutdown-delay toe aan het setup-commando. De standaardwaarde is 10 minuten. Bijvoorbeeld, om een vertraging van 30 minuten in te stellen voor verbindingen via deze SSH-hostinvoer:
databricks ssh setup --name <connection-name> --cluster <cluster-id> --shutdown-delay 30m
Opmerking
Voor IntelliJ-gebruikers raadt Databricks aan om --auto-start-cluster=false toe te voegen aan de installatieopdracht en het cluster handmatig te starten voordat u verbinding maakt. Dit komt doordat JetBrains IDE's alle geconfigureerde clusters starten bij het starten, wat kan leiden tot onverwachte rekenkosten.
Verbinding maken met Visual Studio Code of Cursor
Installeer voor Visual Studio Code de externe SSH-extensie. Cursor bevat standaard een externe SSH-extensie.
Klik in het hoofdmenu van IDE opOpdrachtpalet>. Selecteer Remote-SSH: Instellingen. U kunt ook Voorkeuren selecteren: Gebruikersinstellingen (JSON) openen om rechtstreeks te wijzigen
settings.json.Onder Remote.SSH: Standaardextensies (of
remote.SSH.defaultExtensionsinsettings.json), voegms-Python.Pythonenms-toolsai.jupytertoe.Als u het volgende wijzigt
settings.json:"remote.SSH.defaultExtensions": [ "ms-Python.Python", "ms-toolsai.jupyter" ]Opmerking
Verhoog eventueel de waarde van Remote.SSH: Connect Timeout (of
remote.SSH.connectTimeoutinsettings.json) om de kans op time-outfouten verder te verminderen. De standaardtime-out is 360.Selecteer in het opdrachtpalet de optie Remote-SSH: Verbinding maken met host.
Selecteer in de vervolgkeuzelijst de verbinding die u in de eerste stap hebt ingesteld. De IDE gaat verbinding maken in een nieuw venster.
Verbinding maken met intelliJ IDE's
- Volg de zelfstudie over de externe server om de installatie uit te voeren.
- Voer in het nieuwe verbindingsscherm het volgende in:
-
Gebruikersnaam:
root -
Host:
<connection-name>
-
Gebruikersnaam:
Verbind met classic compute vanaf een terminal
Gebruik de verbindingsnaam die je hebt geconfigureerd met databricks ssh setup:
ssh <connection-name>
Voor een directe verbinding zonder een herbruikbare SSH-hostinvoer kun je ook de CLI gebruiken. Vervang <cluster-id> door je dedicated cluster ID:
databricks ssh connect --cluster <cluster-id>
Open werkruimteprojecten via SSH
Standaard wordt de opdracht databricks ssh connect geopend in een tijdelijke map. Als u toegang wilt krijgen tot werkruimtebestanden, gaat u vanuit de IDE of terminal naar uw werkruimtemap:
- Kies in Visual Studio Code of Cursor in het Opdrachtpalet (Cmd/Ctrl+Shift+P) Map openen en navigeer naar
/Workspace/Users/<your-username>. - Wijzig uw map vanuit een terminalvenster:
cd /Workspace/Users/<your-username>.
Opmerking
Bestanden in /Workspace, /Volumesen /dbfs blijven behouden tijdens het opnieuw opstarten van het cluster. Bestanden in /home, /rooten andere lokale paden zijn kortstondig en verloren bij opnieuw opstarten.
Voer Python en notebooks uit in de SSH-sessie
Selecteer de Python-omgeving die door je SSH-sessie wordt geleverd voordat je code uitvoert. Voor klassieke compute omvat deze omgeving de ingebouwde Databricks Runtime-bibliotheken en compute-scoped libraries.
Open het opdrachtenpalet (Cmd/Ctrl+Shift+P) en selecteer Python: Interpreter selecteren.
Selecteer de
pythonEnv-xxxvirtuele omgeving in de lijst. Als u Python afhankelijkheden instelt met behulp van de--base-environmentvlag, selecteert u de langere naam van de virtuele omgeving in de lijst met opties. Als de virtuele omgeving niet wordt weergegeven:Uitvoeren
echo $DATABRICKS_VIRTUAL_ENVvanuit een terminal in de IDE.Voorbeelduitvoer:
/local_disk0/.ephemeral_nfs/envs/pythonEnv-xxx/bin/pythonPlak de volledige uitvoer als interpreterpad in de prompt Python: Select Interpreter.
Open een nieuwe terminal en de virtuele omgeving moet automatisch worden geactiveerd.
Als u een Jupyter-notebook wilt uitvoeren, moet u ervoor zorgen dat de virtuele omgeving is geselecteerd als de kernel. Klik op Kernel selecteren in de rechterbovenhoek van het notitieblok.
Voer Python-bestanden en .ipynb notebooks uit en debug deze met de standaardextensies voor Python en Jupyter.
Als u Spark wilt gebruiken in een Python-bestand op serverloze compute, initialiseert u een sessie expliciet:
from databricks.connect import DatabricksSession
spark = DatabricksSession.builder.serverless().profile("DEFAULT").getOrCreate()
Beheer afhankelijkheden voor SSH-sessies
Kies afhankelijkheidsbeheer voor je computetype:
- Voor serverless compute gebruik je een werkruimtebasisomgeving met een ondersteunde serverless omgevingsversie.
- Voor klassieke compute gebruik je clusterbibliotheken voor afhankelijkheden die blijven bestaan tijdens herstarts.
- Voor afhankelijkheden die zijn beperkt tot een projectsessie, gebruik een setup-notebook.
Voor niet-Python-pakketten, zie Niet-Python-afhankelijkheden.
Basisomgevingen voor werkruimten (aanbevolen voor serverloze en AI Runtime)
Opmerking
Voor deze functie is vereist dat de preview van ondersteuning voor de basisomgeving van serverloze werkruimten in Jobs is ingeschakeld. Zie Azure Databricks previews beheren.
Gebruik een werkruimtebasisomgeving met serverloze omgeving versie 4 of lager om Python afhankelijkheden vooraf te configureren. De SSH-tunnel ondersteunt geen --base-environment met serverloze omgevingsversie 5 of hoger. Maak een basisomgeving met behulp van de werkruimte-UI of de Databricks CLI-opdracht databricks environments create-workspace-base-environment.
Geef de omgeving op met de optie --base-environment bij het verbinden:
databricks ssh connect --base-environment my-workspace-env
De --base-environment optie accepteert een weergavenaam, een YAML-pad voor de werkruimte of een resource ID. Je kunt het niet combineren met --cluster. Zie databricks ssh connect.
Clusterbibliotheken (aanbevolen voor klassieke rekenkracht)
Installeer afhankelijkheden met behulp van de gebruikersinterface van de werkruimte onder Compute-bibliotheken>. Deze blijven behouden tijdens het opnieuw opstarten van het cluster en zijn beschikbaar in pythonEnv-xxx. Zie Clusterbibliotheken.
Niet-Python afhankelijkheden
Als u niet-Python afhankelijkheden wilt behouden, gebruikt u een init-script waarmee de pakketten worden geïnstalleerd wanneer de berekening wordt gestart. Sla de pakketten desgewenst op in een Unity Catalog-volume en verwijs ernaar vanuit het init-script. Zie Wat zijn init-scripts?
Project-specifieke notebookinstelling
Voer voor projectafhankelijkheden een notebook met %pip install opdrachten uit aan het begin van elke sessie:
# Install from pyproject.toml
%pip install .
# Install from a requirements file
%pip install -r requirements.txt
# Install a wheel from Volumes or Workspace
%pip install /Volumes/catalog/schema/volume/your_library.whl
%pip opdrachten bevatten Databricks-specifieke kaders en propageren afhankelijkheden naar Spark-uitvoerknooppunten. Dit maakt door de gebruiker gedefinieerde functies (UDF's) mogelijk met aangepaste afhankelijkheden.
Zie Bibliotheken beheren met %pip opdrachten voor meer voorbeelden.
Je hoeft het setup-notebook niet opnieuw te draaien als je opnieuw verbinding maakt voordat de SSH-tunnel wordt uitgeschakeld. Standaard wordt de tunnel 10 minuten nadat de laatste client de verbinding heeft verbroken afgesloten. Om deze vertraging te veranderen, gebruik je het commando --shutdown-delay voor je verbindingsmethode:
- Voor een herbruikbare klassieke compute-verbinding stel je de wachttijd in met databricks ssh setup. De gegenereerde SSH-hostvermelding veroorzaakt de vertraging wanneer je verbinding maakt vanuit je IDE of
ssh <connection-name>uitvoert. - Voor een directe CLI-verbinding stel je de time-out in met databricks ssh connect.
Opmerking
Meerdere SSH-sessies in hetzelfde cluster delen één virtuele omgeving.
Gebruik Git in een SSH-sessie
Belangrijk
Deze functie bevindt zich in openbare preview-versie. Werkruimtebeheerders kunnen de toegang tot Git CLI-ondersteuning voor Git-mappen beheren via de pagina Previews . Zie Azure Databricks previews beheren.
Je kunt de Git CLI gebruiken in de SSH-tunnel met nieuw aangemaakte Git-mappen en de Git-inloggegevens die je hebt geconfigureerd in de Azure Databricks werkruimte. Zie Git CLI-opdrachten gebruiken.
Als de CLI om inloggegevens vraagt in plaats van ze automatisch op te pikken, moet je je Git-provider verbinden met Azure Databricks. Zie Uw Git-provider verbinden met Databricks.
Houd losgekoppelde processen draaiende
Standaard stopt de SSH-tunnel bij het afsluiten elk proces dat door de sessie is gestart, inclusief processen die je met setsid, nohup of tmux van de sessie hebt losgekoppeld. De tunnel geeft een waarschuwing die de ontkoppelde processen noemt die hij op het punt staat te stoppen. Om losgekoppelde taken draaiende te houden nadat de tunnel is gesloten, gebruik je de --keep-detached-processes-vlag:
- Serverless of klassieke compute: Geef de vlag door aan databricks ssh connect.
- Klassieke compute met een geconfigureerde SSH-host: Geef de vlag door aan databricks ssh setup. De gegenereerde SSH-hostinvoer wordt elke keer toegepast wanneer je verbinding maakt. Serverless verbindingen vereisen geen installatie, dus deze optie geldt alleen voor classic compute.
Het volgende voorbeeld houdt losgekoppelde processen draaiend op serverless compute:
databricks ssh connect --keep-detached-processes
Het volgende voorbeeld houdt losgekoppelde processen draaiende op een toegewijde cluster:
databricks ssh connect --cluster 0123-456789-abcdefgh --keep-detached-processes
Wanneer je deze vlag gebruikt, wordt de tunnel als volgt uitgeschakeld:
- Alleen de SSH-tunnel en haar
sshdprocessen worden gestopt. Losgekoppelde processen blijven draaien. - Alle losgekoppelde processen die nog draaien, behouden hun toegang tot
/Workspaceen/Volumes. - Elke taakuitvoering eindigt wanneer het laatst losgekoppelde proces wordt beëindigd.
Bij je volgende verbinding met dezelfde compute kun je opnieuw koppelen aan losgekoppeld werk, bijvoorbeeld met tmux attach. De modus van de SSH-tunnel wordt ingesteld wanneer deze start. Als je verbinding maakt met de optie terwijl de verbinding oorspronkelijk zonder die optie is gestart, start de CLI een nieuwe verbinding.
Houd rekening met het volgende:
- Hoewel de jobuitvoering open blijft, wordt het cluster niet automatisch beëindigd. Een idle-sessie
tmuxtelt als een lopend losgekoppeld proces, dus sluit het als je het niet meer nodig hebt. - De jobrun stopt nog steeds wanneer deze de maximale levensduur bereikt die door
--server-timeoutis ingesteld. Deze levensduur telt vanaf het moment dat de jobuitvoering begint, niet vanaf het moment dat de tunnel wordt afgesloten. Voor langdurig werk gebruik je jobs of bundels in plaats daarvan.
Beperkingen van SSH-tunnels
De SSH-tunnel van Databricks heeft de volgende beperkingen:
- Gedeelde clusters worden niet ondersteund.
- De Databricks IDE-extensie en de SSH-tunnel zijn nog niet compatibel en mogen niet samen worden gebruikt.
- Bestanden die buiten
/Workspace,/Volumesen/dbfszijn bewerkt, gaan verloren bij het opnieuw opstarten van het cluster. - Er zijn maximaal 10 SSH-verbindingen per cluster toegestaan.
- Inactieve sessies kunnen na 1 uur afnemen.
- De SSH-tunnel kan niet worden gestart vanuit andere externe omgevingen of Docker-containers.
- Er kunnen prestatie- of verbindingsproblemen optreden wanneer drie of meer Jupyter-notebooks gelijktijdig zijn geopend.
Notebookgedrag in SSH-sessies
Er zijn enkele verschillen in notebooks bij het gebruik van de SSH-tunnel:
- Python-bestanden definiëren geen globals van Databricks (zoals
sparkofdbutils). U moet ze expliciet importeren metfrom databricks.sdk.runtime import spark. - Voor ipynb-notebooks zijn deze functies beschikbaar:
- Databricks globale variabelen:
display,displayHTML,dbutils,table,sql,udf,getArgument,sc,sqlContext,spark -
%sqlmagic-opdracht om SQL-cellen uit te voeren
- Databricks globale variabelen:
Werken met Python-bron 'notebooks':
Zoek naar
jupyter.interactiveWindow.cellMarker.codeRegexen stel dit in op:^# COMMAND ----------|^# Databricks notebook source|^(#\\s*%%|#\\s*\\<codecell\\>|#\\s*In\\[\\d*?\\]|#\\s*In\\[ \\])Zoek naar
jupyter.interactiveWindow.cellMarker.defaulten stel dit in op:# COMMAND ----------
Problemen met SSH-tunnelverbindingen oplossen
Begin met het symptoom dat overeenkomt met het falen:
| Symptoom | Eerste controle |
|---|---|
| De SSH-verbinding valt uit of er treedt een time-out op. | Controleer HTTPS- en WebSockettoegang tot de werkruimte. Voor klassieke compute, controleer ook de clusterstatus en IDE-time-out. Zie SSH-verbinding faalt of een time-out krijgt. |
De CLI meldt dat het code niet kan vinden. |
Installeer het Visual Studio Code shell-commando in je lokale PATH. Zie code opdracht niet gevonden. |
| CLI-authenticatie mislukt. | Controleer het CLI-profiel en, voor classic compute, clusterrechten. Zie CLI-authenticatiefouten. |
De CLI rapporteert invalid_grant met Refresh token is invalid. |
Log opnieuw in op de werkruimte met hetzelfde CLI-profiel en probeer dan de verbinding opnieuw. Zie Refresh token is ongeldig. |
| Python-code of notebooks werken niet meer nadat er verbinding is gemaakt. | Controleer de geselecteerde interpreter of notebook-kernel. Zie Python-code of notebooks werken niet in de SSH-sessie. |
| Bestanden verdwijnen na een herstart van de cluster. | Controleer of de bestanden op een vluchtig lokaal pad zijn opgeslagen. Zie Bestanden verdwijnen of de omgeving wordt gereset na een herstart van de cluster. |
SSH-verbinding faalt of er treedt een time-out op
- Controleer voor klassieke compute of de cluster draait in de workspace-interface.
- Controleer of je netwerk, VPN en firewall HTTPS- en WebSocket-verkeer toestaan naar je werkruimtedomein. De SSH-tunnel gebruikt poort 22 niet. Het tunnelt al het verkeer over hetzelfde HTTPS-eindpunt als andere Databricks CLI-commando's. Zie Firewallregels voor domeinnaam configureren.
- Als een proxy of firewall het TLS-verkeer inspecteert, controleer dan of het WebSocket-upgradeverzoek is toegestaan. Een tussenpersoon die de upgrade blokkeert of verwijdert, zorgt ervoor dat de verbinding uitvalt of een time-out krijgt. Vraag je netwerkbeheerder om WebSocket-upgrades naar je werkruimtedomein toe te staan, of om TLS-inspectie voor dat domein te omzeilen.
- Als je verbinding maakt via een corporate HTTP-proxy, stel dan de
HTTPS_PROXYomgevingsvariabele in, ofNO_PROXYom de proxy voor je workspacedomein te omzeilen. De SSH-tunnel gebruikt dezelfde proxyconfiguratie als andere Databricks CLI-commando's. Zie Proxyserverconfiguratie. - Controleer of je lokale machine HTTPS-toegang heeft tot
github.comenrelease-assets.githubusercontent.com. - Verhoog de SSH-time-out. Zie Verbinding maken met Visual Studio Code of Cursor.
- Voor sleutelafstemmingsfouten, verwijder
~/.databricks/ssh-tunnel-keysen voerdatabricks ssh setupopnieuw uit. - Controleer bij fouten met de melding 'verandering van externe hostidentificatie' het
~/.ssh/known_hosts-bestand en verwijder vermeldingen die betrekking hebben op uw cluster. - SSH-sessies kunnen na 1 uur afnemen en er kunnen maximaal 10 SSH-verbindingen naar één cluster worden gemaakt. Zie beperkingen van SSH-tunnels.
code opdracht niet gevonden
Als u het opdrachtpalet (Error: exec: "code": executable file not found in $PATH) ziet, selecteert u Shell Command: Installeer de opdracht 'code' in PATH en start u de IDE- of terminalsessie opnieuw.
CLI-authenticatiefouten
- Log in op je werkruimte met databricks auth login.
- Voor klassieke compute, bevestig dat je
CAN MANAGEmachtigingen op de cluster hebt.
Refresh token is ongeldig
Als databricks ssh connect mislukt met error getting token, invalid_grant en Refresh token is invalid, heeft de autorisatieserver het opgeslagen OAuth-ververstoken van de CLI afgewezen. Log opnieuw in om een nieuwe sessie te krijgen:
Identificeer het configuratieprofiel van de werkruimte waarmee je wilt verbinden:
databricks auth profiles --skip-validateLog opnieuw in met dat profiel. Vervang
<workspace-url>door de workspace-URL, zonder het/oidc/v1/tokenpad, en<profile-name>met de bijbehorende profielnaam:databricks auth login --host <workspace-url> --profile <profile-name>Voltooi het aanmeldingsproces in uw browser.
Probeer de verbinding opnieuw met hetzelfde profiel:
databricks ssh connect --ide vscode --profile <profile-name>Gebruik
--ide cursorvoor Cursor, of laat weg--idevoor een terminalsessie.
Als de fout blijft bestaan, controleer dan of het mislukte commando hetzelfde werkgebied en profiel aanwijst waarop je net bent ingelogd. Zie OAuth user-to-machine (U2M) authenticatie.
Python-code of notebooks mislukken in de SSH-sessie
- Selecteer de Python-omgeving die door de SSH-sessie wordt aangeboden. Selecteer voor een notebook die omgeving als kernel. Zie Python uitvoeren en notebooks in de SSH-sessie.
- IPYNB-notebooks en
*.pyDatabricks-notebooks hebben toegang tot databricks globals, maar Python-bestanden*.pyniet. Zie Notebook-gedrag in SSH-sessies.
Bestanden verdwijnen of de omgeving reset na het herstarten van de cluster
- Bestanden in
/Workspace,/Volumesen/dbfsmounts blijven behouden tijdens het opnieuw opstarten van het cluster. Bestanden in/home,/rooten andere lokale paden zijn kortstondig en verloren bij opnieuw opstarten. - Gebruik clusterbibliotheekbeheer voor permanente afhankelijkheden. Automatiseer indien nodig opnieuw installeren met behulp van init-scripts. Zie Wat zijn init-scripts?
SSH-installatie mislukt op Windows (WSL)
Voer databricks ssh setup rechtstreeks uit op Windows, niet in WSL. Het Windows Visual Studio Code exemplaar kan geen SSH-configuraties vinden die aan de WSL-zijde zijn gemaakt.
Veelgestelde vragen
Vereist serverless compute een SSH-setup?
No. Na het installeren en authenticeren van de Databricks CLI, gebruik databricks ssh connect voor serverless compute. Het databricks ssh setup commando configureert herbruikbare SSH-hostvermeldingen voor klassieke dedicated compute.
Vereist de SSH-tunnel van Databricks poort 22?
No. De SSH-tunnel vervoert verkeer via HTTPS naar je werkruimtedomein en vereist WebSocket-ondersteuning. Je netwerk, VPN, firewall en proxy moeten dat verkeer toestaan. Zie SSH-verbinding faalt of een time-out krijgt.
Hoe verschilt de SSH-tunnel van Databricks Connect?
Met Databricks Connect kunt u code schrijven met behulp van Spark-API's en deze op afstand uitvoeren op Databricks Compute in plaats van in de lokale Spark-sessie. De Databricks Visual Studio Code-extensie maakt gebruik van Databricks Connect om ingebouwde foutopsporing van gebruikerscode op Databricks te bieden.
De SSH-tunnel stelt je in staat om toegang te krijgen tot de werkruimte vanuit je IDE en verplaatst je volledige ontwikkelomgeving op de compute-omgeving. Python, de kernel en code-uitvoering draaien op Azure Databricks met toegang tot de rekenbronnen.
Hoe worden mijn code en gegevens beveiligd?
SSH-verkeer is end-to-end versleuteld, en code draait op de Azure Databricks compute waarmee je verbinding maakt. Authenticatie gebruikt de Databricks CLI en je geconfigureerde workspace-profiel. Zie Welke authenticatiemethoden worden ondersteund?.
Welke IDE's worden ondersteund?
Visual Studio Code en Cursor worden officieel ondersteund. Elke IDE met SSH-mogelijkheden is compatibel, maar alleen VS Code en Cursor worden getest.
Zijn alle Databricks-notebookfuncties beschikbaar via de IDE?
Sommige functies, zoals display(), dbutilsen %sql zijn beschikbaar met beperkingen of handmatige installatie. Zie Notebook-gedrag in SSH-sessies.
Wordt mijn cluster automatisch gestart wanneer ik verbinding maak met behulp van de SSH-tunnel?
Ja, maar als het langer duurt om het cluster te starten dan de time-out voor de verbinding, mislukt de verbindingspoging. Om dit te voorkomen, verhoogt u de waarde van Remote.SSH: Connect Timeout vanuit het opdrachtpalet (of remote.SSH.connectTimeout in settings.json) om de kans op time-outfouten verder te verminderen.
Hoe weet ik of mijn cluster draait?
Navigeer naar Compute in de gebruikersinterface van de Databricks-werkruimte en controleer de status van het cluster. Het cluster moet Running weergeven voordat de SSH-verbinding werkt.
Hoe verbreek ik de verbinding met mijn SSH/IDE-sessie?
U kunt een sessie verbreken door het IDE-venster te sluiten met behulp van de optie Verbinding verbreken in uw IDE, uw SSH-terminal te sluiten of de exit opdracht uit te voeren in de terminal.
Hoe stop ik het cluster en vermijd ik kosten wanneer ik niet werk?
Als u het cluster onmiddellijk wilt stoppen, beëindigt u het cluster vanuit de gebruikersinterface van de werkruimte. Navigeer naar Compute in de gebruikersinterface van de Databricks-werkruimte, zoek uw cluster en klik op Beëindigen of Stoppen.
Stel een kort beleid voor automatische beëindiging in op uw cluster vanuit de gebruikersinterface van de werkruimte. Nadat je de verbinding verbreekt, wacht de SSH-tunnel op de shutdown-delay periode (standaard: 10 minuten), waarna de idle-timeout van de cluster van kracht wordt. Als je --keep-detached-processes gebruikt, wordt het cluster niet automatisch beëindigd terwijl losgekoppelde processen draaien. Zie Losgekoppelde processen actief houden.
Hoe kan ik permanente afhankelijkheden verwerken?
Afhankelijkheden die tijdens een sessie zijn geïnstalleerd, gaan verloren nadat het cluster opnieuw is opgestart. Gebruik permanente opslag (/Workspace/Users/<your-username>) voor vereisten en installatiescripts. Gebruik clusterbibliotheken of init-scripts voor automatisering.
Welke verificatiemethoden worden ondersteund?
Verificatie maakt gebruik van de Databricks CLI en uw ~/.databrickscfg profielbestand. SSH-sleutels worden beheerd door de SSH-tunnel.
Kan ik verbinding maken met externe databases of services vanuit het cluster?
Ja, zolang uw clusternetwerken uitgaande verbindingen toestaat en u over de benodigde bibliotheken beschikt.
Kan ik extra IDE-extensies gebruiken?
De meeste extensies werken wanneer ze zijn geïnstalleerd in uw externe SSH-sessie, afhankelijk van uw IDE en cluster. Visual Studio Code installeert standaard geen lokale extensies op externe hosts. U kunt ze handmatig installeren door het deelvenster extensies te openen en uw lokale extensies in te schakelen op de externe host. U kunt Visual Studio Code ook zo configureren dat bepaalde extensies altijd extern worden geïnstalleerd. Zie Verbinding maken met Databricks.
Ondersteunt de SSH-tunnel Private Link?
Ja, maar werkruimtebeheerders moeten URL's van Visual Studio Code en Cursor-extensie-marketplaces toestaan. Uw lokale computer moet ook toegang hebben tot internet.