Poznámka:
Přístup k této stránce vyžaduje autorizaci. Můžete se zkusit přihlásit nebo změnit adresáře.
Přístup k této stránce vyžaduje autorizaci. Můžete zkusit změnit adresáře.
Tunel Azure Databricks SSH (Secure Shell) propojuje Visual Studio Code, Cursor nebo váš terminál s pracovním prostředím Azure Databricks a bezserverovými výpočetními prostředky Azure Databricks, AI Runtime nebo klasickým výpočetním systémem. Použijte ho k úpravě souborů v pracovním prostoru a spuštění nebo ladění skriptů Python a poznámkových bloků, přičemž vaše prostředí Python a spouštění kódu jsou na vzdáleném výpočetním zařízení. Připojte se přímo k serverless výpočetnímu systému nebo nastavte znovupoužitelné SSH připojení k dedikovanému klasickému clusteru.
Požadavky
Spusťte SSH spojení z místního počítače. Tunel nelze spustit z jiného vzdáleného prostředí ani z Docker kontejneru.
Pro připojení k serverless nebo klasickým výpočetním prostředkům musíte mít:
- Rozhraní příkazového řádku Databricks verze 1.5.0 nebo vyšší nainstalované na místním počítači a nakonfigurované ověřování Zkontrolujte nainstalovanou verzi pomocí
databricks --version. Viz Instalaci nebo aktualizaci rozhraní příkazového řádku Databricks. - Jednu z následujících možností:
- Visual Studio Code verze 1.110.0 (Universal) nebo vyšší a nainstalované rozšíření Remote - SSH (1.0.46+).
- Cursor verze 2.6.11 (Universal) nebo vyšší.
Pro připojení k bezserverovému výpočetnímu prostředí musí být povoleno přesměrování portů do bezserverového výpočetního prostředí. Přečtěte si Správa přesměrování portů pro serverless compute.
Pokud se chcete připojit k výpočetním prostředkům GPU bez serveru, musí být povolená funkce AI Runtime. Viz AI Runtime.
Další požadavky pro classic compute
Připojení ke klasickému výpočetnímu prostředí (vyhrazenému pro jednoho uživatele):
- Výpočetní prostředky musí používat Databricks Runtime 17.0 nebo vyšší. Viz Přehled vyhrazených výpočetních prostředků.
- Musí být povolen katalog Unity.
- Pokud existuje výpočetní politika, nesmí zakazovat provádění úloh.
- Při použití služby Databricks Container Services pro vyhrazené výpočetní prostředky musí být
openssh-servernainstalovaná image Dockeru.
Vyberte SSH spojení
Použijte metodu připojení pro typ výpočetní instance:
| Compute | Metoda připojení | Požadavek na nastavení |
|---|---|---|
| Výpočetní prostředí bez serveru | databricks ssh connect |
Není potřeba samostatný krok nastavení SSH. Přidejte --ide vscode nebo --ide cursor pro spuštění IDE. |
| Provozní prostředí AI | databricks ssh connect --accelerator <accelerator> |
Není potřeba samostatný krok nastavení SSH. Přidejte --ide vscode nebo --ide cursor pro spuštění IDE.Podporované akcelerátory najdete v --accelerator. |
| Klasické vyhrazené jednouživatelské výpočetní prostředí | Spusťte databricks ssh setup --name <connection-name> v terminálu.Pak spusťte SSH relaci z IDE nebo spusťte ssh <connection-name>. |
Vyberte dedikovaný jednouživatelský cluster, který splňuje klasické výpočetní požadavky. Sdílené clustery nejsou podporovány. |
Pro srovnání s Databricks Connect a dalšími vývojovými možnostmi viz Připojení z vašeho IDE.
Připojení k výpočetním prostředkům bez serveru
Po splnění výše uvedených požadavků spusťte databricks ssh connect ze svého terminálu nebo IDE.
Hodnota --ide určuje, který editor se spustí, bez ohledu na to, z kterého editoru nebo terminálu příkaz spustíte.
Visual Studio Code
databricks ssh connect --ide vscode
CLI otevírá okno Visual Studio Code připojené k vzdálenému výpočetnímu prostředí.
Cursor
databricks ssh connect --ide cursor
CLI otevře okno Cursor připojené ke vzdálenému výpočetnímu prostředí.
Terminal
databricks ssh connect
CLI spustí interaktivní SSH relaci.
Pro možnosti příkazů, včetně pojmenovaných připojení a autentizačních profilů, viz databricks ssh connect.
Po připojení otevřete svůj projekt v pracovním prostoru a vyberte prostředí Python. Pokud připojení selže, viz Řešení problémů s připojeními tunelu SSH.
Připojte se k bezserverovým výpočetním prostředkům GPU pomocí AI Runtime
S povoleným AI Runtime přidejte --accelerator pro výpočty na GPU:
databricks ssh connect --accelerator GPU_1xA10
databricks ssh connect poskytuje interaktivní relaci na jednom uzlu. Pro dlouhotrvající trénovací úlohy nebo víceuzlové distribuované trénování odešlete úlohu místo toho pomocí databricks air. Viz Use the Databricks CLI with AI Runtime.
Připojení ke klasickému výpočetnímu prostředí
Pro znovupoužitelné připojení ke klasickému dedikovanému clusteru nastavte název SSH hostitele, poté ho vyberte ve svém IDE nebo se připojte z terminálu.
Nastavení připojení SSH
Poznámka:
Nastavení připojení SSH se vyžaduje jenom v případě, že se připojujete ke klasickému výpočetnímu prostředí.
Spusť na svém lokálním počítači příkaz databricks ssh setup. Nahraďte <connection-name> jménem pro toto připojení, například my-connection:
databricks ssh setup --name <connection-name>
CLI vás vyzve k výběru clusteru a přidá položku hostitele do vaší SSH konfigurace. Můžete také přímo vybrat cluster. Nahraďte <cluster-id> ID vašeho dedikovaného clusteru:
databricks ssh setup --name <connection-name> --cluster <cluster-id>
Pro konfiguraci, jak dlouho SSH tunel čeká po odpojení posledního klienta, přidejte --shutdown-delay do příkazu setup. Výchozí hodnota je 10 minut. Například pro nastavení 30minutového zpoždění pro spojení přes tento záznam hostitele SSH:
databricks ssh setup --name <connection-name> --cluster <cluster-id> --shutdown-delay 30m
Poznámka:
Pro uživatele IntelliJ doporučuje Databricks přidat --auto-start-cluster=false do instalačního příkazu a spustit cluster ručně před připojením. Důvodem je to, že integrované vývojové prostředí JetBrains spouští všechny nakonfigurované clustery při spuštění, což může vést k neočekávaným poplatkům za výpočetní prostředky.
Připojení pomocí editoru Visual Studio Code nebo kurzoru
Pro Visual Studio Code nainstalujte rozšíření SSH pro vzdálený přístup. Kurzor obsahuje vzdálené rozšíření SSH ve výchozím nastavení.
V hlavní nabídce integrovaného vývojového prostředí klepněte na příkaz Zobrazit>paletu příkazů. Vyberte Remote-SSH: Nastavení. Případně můžete vybrat Předvolby: Otevřít uživatelská nastavení (JSON) a upravit
settings.jsonho přímo.V části Remote.SSH: Výchozí rozšíření (nebo
remote.SSH.defaultExtensionsvsettings.json), přidatms-Python.Pythonams-toolsai.jupyter.Pokud upravujete
settings.json:"remote.SSH.defaultExtensions": [ "ms-Python.Python", "ms-toolsai.jupyter" ]Poznámka:
Volitelně můžete zvýšit hodnotu Remote.SSH: Časový limit připojení (nebo
remote.SSH.connectTimeoutvsettings.json) a tím se dále sníží pravděpodobnost chyb časového limitu. Výchozí časový limit je 360.Na paletě příkazů vyberte Remote-SSH: Připojit k hostiteli.
V rozevírací nabídce vyberte připojení, které jste nastavili v prvním kroku. Integrované vývojové prostředí se bude připojovat v novém okně.
Připojení pomocí prostředí IntelliJ IDEs
- Postupujte podle kurzu vzdáleného serveru a nastavte se.
- Na nové obrazovce připojení zadejte:
-
Uživatelské jméno:
root -
Hostitel:
<connection-name>
-
Uživatelské jméno:
Připojte se ke klasickému výpočtu z terminálu
Použijte název připojení, který jste nastavili pomocí databricks ssh setup:
ssh <connection-name>
Pro přímé připojení bez opakovaně použitelného SSH hostu můžete také použít CLI. Nahraďte <cluster-id> svým dedikovaným ID clusteru:
databricks ssh connect --cluster <cluster-id>
Otevřít projekty pracovního prostoru přes SSH
Ve výchozím nastavení se databricks ssh connect příkaz otevře v dočasném adresáři. Pokud chcete získat přístup k souborům pracovního prostoru, přejděte do adresáře pracovního prostoru z integrovaného vývojového prostředí nebo terminálu:
- V Visual Studio Code nebo kurzoru v paletě příkazů (Cmd/Ctrl+Shift+P) vyberte Otevřít složku a přejděte na
/Workspace/Users/<your-username>. - V okně terminálu změňte adresář:
cd /Workspace/Users/<your-username>.
Poznámka:
Soubory v /Workspace, /Volumes a /dbfs přetrvávají napříč restartováním clusteru. Soubory v /home, /roota další místní cesty jsou dočasné a ztraceny při restartování.
Spusťte Python a notebooky v SSH relaci
Před spuštěním kódu vyberte Python prostředí, které poskytuje vaše SSH relace. Pro klasické výpočty toto prostředí zahrnuje vestavěné knihovny Databricks Runtime a knihovny vázané na výpočetní prostředek.
Otevřete paletu příkazů (Cmd/Ctrl+Shift+P) a vyberte Python: Vybrat interpret.
pythonEnv-xxxZe seznamu vyberte virtuální prostředí. Pokud nastavíte závislosti Pythonu pomocí příznaku--base-environment, vyberte v seznamu možností delší název virtuálního prostředí. Pokud se virtuální prostředí nezobrazí:Spusťte
echo $DATABRICKS_VIRTUAL_ENVz terminálu v integrovaném vývojovém prostředí (IDE).Příklad výstupu:
/local_disk0/.ephemeral_nfs/envs/pythonEnv-xxx/bin/pythonCelý výstup vložte jako cestu interpreta do výzvy Python: Vybrat interpret.
Otevřete nový terminál a virtuální prostředí by se mělo aktivovat automaticky.
Pokud chcete spustit poznámkový blok Jupyter, ujistěte se, že je virtuální prostředí vybrané jako jádro. V pravém horním rohu poznámkového bloku klikněte na Vybrat jádro .
Spouštějte a laděte soubory Pythonu a .ipynb poznámkové bloky pomocí standardních rozšíření Python a Jupyter.
Chcete-li použít Spark v souboru Pythonu v bezserverových výpočetních prostředích, inicializujte relaci explicitně:
from databricks.connect import DatabricksSession
spark = DatabricksSession.builder.serverless().profile("DEFAULT").getOrCreate()
Správa závislostí pro SSH relace
Vyberte správu závislostí podle typu vašeho výpočtu:
- Pro serverless výpočetní techniku použijte základní prostředí pracovního prostoru s podporovanou verzí serverless prostředí.
- Pro klasické výpočty použijte knihovny clusteru pro závislosti, které přetrvávají při restartování.
- Pro závislosti v rámci relace projektu použijte setup notebook.
Pro balíčky mimo Python viz Závislosti mimo Python.
Základní prostředí pracovního prostoru (doporučeno pro bezserverové prostředí a AI Runtime)
Poznámka:
Tato funkce vyžaduje, aby byla povolena podpora bezserverového základního prostředí pracovního prostoru v úlohách ve verzi Preview. Viz Manage Azure Databricks preview.
Použijte základní prostředí pracovního prostoru s bezserverovým prostředím ve verzi 4 nebo nižší k předběžné konfiguraci závislostí Pythonu. SSH tunel nepodporuje --base-environment v serverless prostředí ve verzi 5 a vyšší. Vytvořte základní prostředí pomocí uživatelského rozhraní workspace nebo příkazu Databricks CLI databricks environments create-workspace-base-environment.
Při připojování zadejte prostředí pomocí --base-environment možnosti:
databricks ssh connect --base-environment my-workspace-env
Možnost --base-environment přijímá zobrazovací jméno, cestu YAML pracovního prostoru nebo ID zdroje. Nelze ji kombinovat s --cluster. Viz databricks ssh connect.
Knihovny clusteru (doporučeno pro klasické výpočetní prostředí)
Nainstalujte závislosti pomocí uživatelského rozhraní pracovního prostoru v části Výpočetní > knihovny. Ty přetrvávají i po restartu clusteru a jsou k dispozici v pythonEnv-xxx. Viz knihovny klastru.
Závislosti, které nejsou Python
Pokud chcete zachovat závislosti, které nejsou Python, použijte inicializační skript, který nainstaluje balíčky při spuštění výpočetních prostředků. Volitelně můžete balíčky uložit do svazku katalogu Unity a odkazovat na ně ze skriptu inicializace. Viz Co jsou inicializační skripty?.
nastavení poznámkového bloku specifického pro Project
Pro projektové závislosti spusťte notebook obsahující %pip install příkazy na začátku každé relace:
# 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 Příkazy zahrnují mantinely specifické pro Databricks a šíří závislosti do uzlů exekutoru Sparku. To umožňuje uživatelem definované funkce (UDF) s vlastními závislostmi.
Další příklady najdete v tématu Správa knihoven pomocí %pip příkazů.
Není nutné znovu spouštět setup notebook, pokud se znovu připojíte před tím, než se SSH tunel vypne. Ve výchozím nastavení se tunel vypne 10 minut po odpojení posledního klienta. Ke změně tohoto zpoždění použijte --shutdown-delay s příkazem pro váš způsob připojení:
- Pro znovupoužitelné klasické výpočetní připojení nastavte zpoždění pomocí databricks ssh setup. Generovaný záznam hostitele SSH uplatní zpoždění, když se připojíte z IDE nebo spustíte
ssh <connection-name>. - Pro přímé připojení CLI nastavte prodlevu pomocí databricks ssh connect.
Poznámka:
Několik relací SSH ve stejném clusteru sdílí jedno virtuální prostředí.
Použijte Git v SSH relaci
Důležité
Tato funkce je ve verzi Public Preview. Správci pracovních prostorů můžou řídit přístup k podpoře Git CLI pro složky Git ze stránky Previews . Viz Manage Azure Databricks preview.
Git CLI můžete použít v SSH tunelu s nově vytvořenými složkami Git a přihlašovacími údaji, které jste nastavili v pracovním prostoru Azure Databricks. Viz Použít příkazy Git CLI.
Pokud CLI místo toho, aby je automaticky načetlo, vyžaduje přihlašovací údaje, musíte připojit svého poskytovatele Git k Azure Databricks. Viz Připojení poskytovatele Gitu k Databricks.
Udržujte oddělené procesy v chodu
Ve výchozím nastavení, když se SSH tunel vypne, zastaví všechny procesy, které relace spustila, včetně procesů, které jste odpojili od relace pomocí tmux, setsid, nebo nohup. Než je zastaví, tunel zaznamená varování s jejich procesními ID ve výstupu spuštění úlohy tunelu.
databricks ssh connect při spuštění tunelu vytiskne ID běhu úlohy.
Aby odpojený proces běžel i po odpojení, použijte příznak --keep-detached-processes. Nastavte příznak na spojení, které spustí tunel, než začnete práci, kterou chcete ponechat aktivní. Viz Napojení na existující tunel.
- Serverless nebo klasické výpočty: Předejte přepínač příkazu databricks ssh connect.
- Klasický výpočetní systém s konfigurovaným SSH hostitelem: Předejte příznak do databricks ssh setup. Vygenerovaná položka hostitele SSH se použije pokaždé, když se připojíte. Serverless připojení nevyžadují nastavování, takže tato možnost platí jen pro klasické výpočetní prostředky.
Následující příklad udržuje oddělené procesy běžící ve výpočetním prostředí bez serverů:
databricks ssh connect --keep-detached-processes
Následující příklad udržuje oddělené procesy běžící na dedikovaném clusteru:
databricks ssh connect --cluster 0123-456789-abcdefgh --keep-detached-processes
Když použijete tento příznak a poslední klient se odpojí, tunel se chová následovně:
- Po uplynutí období
--shutdown-delaytunel kontroluje odpojené procesy. Dokud některý z nich běží, tunel běží dál místo toho, aby se vypnul. - Odpojené procesy si udržují přístup k
/Workspacea/Volumes. - Po ukončení posledního odděleného procesu se tunel uzavře a jeho běh úlohy končí.
Zatímco tunel běží, můžete se znovu připojit ke stejnému výpočetnímu prostředku a znovu připojit k odpojené relaci, například pomocí tmux attach. Při serverless výpočetním režimu se znovu připojte se stejným názvem připojení. Pokud vynecháte --name, CLI odvozuje název spojení z vašeho pracovního prostoru a příznaků --accelerator a --base-environment, takže změna kteréhokoli příznaku spustí samostatné připojení.
Napojení na stávající tunel
Režim tunelu je při spuštění fixován a pozdější spojení jej řeší následovně:
- Pokud se s příznakem připojíte k tunelu, který byl spuštěn bez něj, CLI spustí nový tunel. Procesy, které jste odpojili v existujícím tunelu, se neuchovávají a stejně se zastaví, když se tunel vypne. Na dedikovaném clusteru nový tunel okamžitě zastaví ten stávající, čímž ukončí jeho otevřené relace a zastaví jeho oddělené procesy.
- Pokud se bez příznaku připojíte k tunelu, který byl spuštěn s tímto příznakem, CLI tento tunel znovu použije a tunel běží dál, zatímco odpojené procesy zůstávají. To platí také pro připojení z jiných položek hostitele SSH nebo relací IDE ke stejné výpočetní instanci.
Náklady a maximální životnost
Mějte na paměti následující skutečnosti:
- Zatímco tunel běží, výpočetní prostředek běží dál a vznikají náklady. Klasický cluster se automaticky neukončí. Nečinná
tmuxrelace se počítá jako běžící oddělený proces, takže ji zavřete, až ji už nepotřebujete. - Spuštění úlohy se stále zastaví, když dosáhne maximální životnosti nastavené pomocí
--server-timeout, i když běží oddělené procesy. Tato životnost se počítá od začátku spuštění úlohy, nikoli od okamžiku, kdy se poslední klient odpojí. Po ukončení běhu úlohy ztrácejí oddělené procesy přístup k/Workspacea/Volumes. Ve serverless computingu se oddělené procesy zastaví. V Classic Compute mohou běžet bez tohoto přístupu, dokud cluster neskončí. Pro zachování výstupu dlouho běžící odpojené úlohy jej ukládejte pomocí Azure Databricks SDK nebo REST API místo zápisu do cest/Workspacenebo/Volumes. Viz Práce se soubory ve svazcích katalogu Unity. - Pro dlouhodobější práci používejte místo toho úlohy nebo balíčky.
Spusť kódovací agenty v SSH relaci
Claude Code a Codex můžete spustit v SSH relacích bez jakékoli instalace nebo konfigurace. Agenti posílají modelové požadavky přes Unity Gateway ve vašem pracovním prostoru a autentizují se přihlašovacími údaji vaší SSH relace.
Požadavky na kódující agenty
Databricks CLI verze 1.23.0 nebo vyšší na vašem lokálním počítači.
Unity Gateway je zapnutý pro váš pracovní prostor s přístupem k modelům, které chcete použít. Podívejte se na požadavky na rychlý start kódovacího agenta.
Odchozí HTTPS přístup z výpočetního prostředí na následující hostitele. Při prvním spuštění se odtud stáhnou nástroje agenta:
-
github.comanodejs.org - PyPI:
pypi.orgafiles.pythonhosted.org - npm registr:
registry.npmjs.org
Pokud výpočetní obraz už obsahuje
uvnebonpm, launcher ho nestahuje.-
Spustit agenta pro kódování
Připojte se ke svému výpočetnímu prostředku. Viz Vyberte připojení SSH pro různé způsoby připojení.
V terminálu SSH relace spusťte agenta:
claudenebo
codexJakékoliv argumenty, které přidáte, jsou předány agentovi beze změny.
Pro spuštění agenta bez otevření interaktivní relace předejte příkaz agenta za --. Vzdálený shell interpretuje příkaz, takže celý příkaz zabalte do jednoduchých uvozovek, aby zůstaly citované argumenty nedotčené. Například pro spuštění Claude Code v neinteraktivním režimu:
databricks ssh connect -- 'claude -p "Summarize the notebooks in my workspace home folder"'
Příkazy zadané za -- se spouštějí ve vašem domovském adresáři ve výpočetním prostředí, nikoli ve vaší domovské složce workspace.
Poprvé, když spustíte agenta na výpočetním prostředku, launcher automaticky stáhne a nainstaluje nástroje agenta.
Omezení agenta pro psaní kódu
- Nástroje agenta, historie konverzací a nastavení agenta jsou uloženy ve vašem domácím adresáři na výpočetním prostředku. V bezserverovém výpočetním prostředí je tento adresář ztracen, když se výpočetní prostředí vypne. Na dedikovaném clusteru přetrvává napříč SSH relacemi, dokud se cluster nerestartuje nebo neukončí. Pro uchování práce ukládejte soubory do
/Workspacenebo/Volumes. Viz Soubory zmizí nebo se prostředí resetuje po restartu clusteru. - Pokud si
claudenebocodexsami nainstalujete na výpočetní uzel, tato instalace má přednost a není nastavena pro Unity Gateway.
Omezení SSH tunelu
Tunel SSH poskytovaný službou Databricks má následující omezení:
- Sdílené clustery nejsou podporovány.
- Soubory upravované mimo
/Workspacea/Volumes/dbfspři restartování clusteru se ztratí. - Pro každý cluster je povoleno maximálně 10 připojení SSH.
- Neaktivní relace mohou být po 1 hodině nečinnosti odpojeny.
- Tunel SSH nelze spustit z jiných vzdálených prostředí ani kontejnerů Dockeru.
- Pokud jsou současně otevřené tři nebo více poznámkových bloků Jupyter, může dojít k problémům s výkonem nebo připojením.
Chování zápisníku v SSH relacích
Při použití tunelu SSH existují některé rozdíly v noteboocích:
- Soubory Pythonu nedefinují žádné globální objekty Databricks (například
sparknebodbutils). Je nutné je naimportovat explicitně pomocífrom databricks.sdk.runtime import spark. - Pro ipynb notebooky jsou k dispozici tyto funkce:
- Globální Databricks:
display,displayHTML,dbutils,table,sql,udf,getArgument,sc,sqlContext,spark -
%sqlmagický příkaz ke spouštění buněk SQL
- Globální Databricks:
Práce se zdrojovými poznámkovými bloky Pythonu:
Vyhledejte
jupyter.interactiveWindow.cellMarker.codeRegexa nastavte ho na:^# COMMAND ----------|^# Databricks notebook source|^(#\\s*%%|#\\s*\\<codecell\\>|#\\s*In\\[\\d*?\\]|#\\s*In\\[ \\])Vyhledejte
jupyter.interactiveWindow.cellMarker.defaulta nastavte ho na:# COMMAND ----------
Řešení problémů s připojením přes tunel SSH
Začněte projevem, který odpovídá selhání:
| Symptom | První kontrola |
|---|---|
| Připojení SSH selže nebo vyprší časový limit. | Zkontrolujte přístup k pracovnímu prostoru přes HTTPS a WebSocket. Pro klasické výpočty také zkontrolujte stav clusteru a časový limit IDE. Viz připojení SSH selže nebo dojde k vypršení časového limitu. |
CLI uvádí, že nemůže najít code. |
Nainstalujte příkaz shellu Visual Studio Code ve svém místním prostředí PATH.
code nebyl nalezen. |
| Ověření CLI selhává. | Zkontrolujte CLI profil a pro klasické výpočty i clusterová oprávnění. Vizte chyby ověřování CLI. |
CLI hlásí invalid_grant s Refresh token is invalid. |
Znovu se přihlaste do pracovního prostoru se stejným CLI profilem a pak znovu zkuste připojení. Viz Refresh token je neplatný. |
| Python kód nebo poznámkové bloky selžou po připojení. | Zkontrolujte vybraný interpreter nebo kernel notebooku. Viz Selhání kódu Pythonu nebo poznámkových bloků v relaci SSH. |
| Soubory zmizí po restartu clusteru. | Zkontrolujte, zda soubory byly uloženy na dočasné lokální cestě. Viz Soubory zmizí nebo se prostředí resetuje po restartu clusteru. |
claude nebo codex se nepodaří spustit. |
Zkontrolujte, že je Unity Gateway povolený a že váš token a oprávnění umožňují přístup. Viz Kódovací agent se nespustí. |
SSH spojení selže nebo vyprší časový limit
- U klasických výpočtů v uživatelském rozhraní pracovního prostoru ověřte, že cluster běží.
- Zkontrolujte, zda vaše síť, VPN a firewall umožňují HTTPS a WebSocket provoz do vaší pracovní domény. SSH tunel nepoužívá port 22. Tuneluje veškerý provoz přes stejný HTTPS endpoint jako ostatní příkazy Databricks CLI. Viz Konfigurovat pravidla brány firewall pro názvy domén.
- Pokud proxy nebo firewall kontroluje TLS provoz, zkontrolujte, zda povoluje požadavek na aktualizaci WebSocketu. Prostředník, který zablokuje nebo odstraní upgrade, způsobí selhání nebo časový výpadek spojení. Požádejte svého síťového administrátora, aby povolil aktualizace WebSocketu na vaší pracovní doméně, nebo aby obešel TLS inspekci pro tuto doménu.
- Pokud se připojujete přes firemní HTTP proxy, nastavte proměnnou prostředí
HTTPS_PROXY, nebo proměnnouNO_PROXY, aby se proxy pro doménu vašeho pracovního prostoru obešla. SSH tunel používá stejnou konfiguraci proxy jako ostatní příkazy Databricks CLI. Viz konfigurace proxy serveru. - Zkontrolujte, že váš lokální počítač má přístup přes HTTPS k
github.comarelease-assets.githubusercontent.com. - Zvyšte časový limit pro SSH Viz Připojení pomocí editoru Visual Studio Code nebo kurzoru.
- V případě chyb neshod klíčů odstraňte
~/.databricks/ssh-tunnel-keysa znovu spusťtedatabricks ssh setup. - V případě chyb "Identifikace vzdáleného hostitele se změnila" zkontrolujte
~/.ssh/known_hostssoubor a odstraňte položky související s vaším clusterem. - Relace SSH se mohou po 1 hodině odpojit a k jednomu clusteru nelze navázat více než 10 připojení SSH. Viz omezení SSH tunelu.
code příkaz nenalezen
Pokud se zobrazí Error: exec: "code": executable file not found in $PATH, otevřete paletu příkazů (Cmd/Ctrl+Shift+P), vyberte příkaz prostředí Shell: Install 'code' command in PATH a restartujte své IDE nebo relaci terminálu.
Chyby při ověřování CLI
- Přihlaste se do svého pracovního prostoru pomocí databricks auth login.
- Pro klasické výpočty si ověřte, že máte
CAN ATTACH TOoprávnění na clusteru, neboCAN RESTART, pokud cluster neběží.
Refresh token je neplatný
Pokud databricks ssh connect selže s chybami error getting token, invalid_grant a Refresh token is invalid, autorizační server odmítl uložený OAuth obnovovací token CLI. Přihlaste se znovu a získejte novou relaci:
Identifikujte konfigurační profil pro pracovní prostor, ke kterému se chcete připojit:
databricks auth profiles --skip-validatePřihlaste se znovu pomocí daného profilu. Nahraďte
<workspace-url>adresou URL pracovního prostoru bez cesty/oidc/v1/tokena<profile-name>odpovídajícím názvem profilu:databricks auth login --host <workspace-url> --profile <profile-name>Dokončete tok přihlášení v prohlížeči.
Zkuste znovu spojení se stejným profilem:
databricks ssh connect --ide vscode --profile <profile-name>Použít
--ide cursorpro kurzor nebo vynechat--idepro terminálovou relaci.
Pokud chyba přetrvává, zkontrolujte, že neúspěšný příkaz cílí na stejný pracovní prostor a profil, do kterého jste se právě přihlásili. Viz autentizace OAuth user-to-machine (U2M).
Python kód nebo notebooky selžou v relaci SSH
- Vyberte Python prostředí poskytované SSH relací. Pro notebook vyberte toto prostředí jako kernel. Podívejte se na Spouštění Pythonu a poznámkových bloků v relaci SSH.
- Poznámkové bloky IPYNB a
*.pypoznámkové bloky Databricks mají přístup ke globálním datům Databricks, ale soubory Python*.pyne. Viz Chování zápisníku v SSH relacích.
Soubory zmizí nebo se prostředí resetuje po restartu clusteru
- Soubory v
/Workspace,/Volumesa/dbfspřipojených svazcích se zachovají napříč restartováním clusteru. Soubory v/home,/roota další místní cesty jsou dočasné a ztraceny při restartování. - Používejte správu knihovny clusteru pro trvalé závislosti. V případě potřeby automatizujte přeinstalace pomocí inicializačních skriptů. Viz Co jsou inicializační skripty?.
Kódovací agent se nespustí
Když spustíte claude nebo codex, launcher ověří, že je možné se připojit k Unity Gateway dříve, než stáhne agentní nástroje. Pokud nemáte přístup k Unity Gateway, vestavění agenti nemohou běžet. Přiřaďte chybovou zprávu k příčině:
- Unity Gateway není na tomto pracovním prostoru povolen: Požádejte správce pracovního prostoru, aby Unity Gateway povolil. Viz Požadavky.
- Přístup k modelové službě nelze ověřit: Zkontrolujte, že splňujete předpoklady Unity Gateway, nebo požádejte správce pracovního prostoru o přístup k modelům.
-
Krok instalace se nezdaří, například
✗ Installing Node.jsnásledovanýfailed to download: Zkontrolujte, zda se výpočetní prostředek dostane kgithub.com,nodejs.org,pypi.org,files.pythonhosted.orgaregistry.npmjs.orgpřes HTTPS. Viz Požadavky na agenty pro psaní kódu.
Pokud se claude nebo codex nenajde, zkontrolujte, že vaše lokální Databricks CLI má verzi 1.23.0 nebo vyšší, a pak se znovu připojte. Viz Požadavky na agenty pro psaní kódu.
Instalace SSH selže na Windows (WSL)
Spusťte databricks ssh setup přímo na Windows, ne v rámci WSL. Instance Windows Visual Studio Code nemůže najít konfigurace SSH vytvořené na straně WSL.
časté otázky
Vyžadují bezserverové výpočty nastavení SSH?
No. Po instalaci a autentizaci Databricks CLI použijte databricks ssh connect pro serverless výpočetní výkon. Příkaz databricks ssh setup konfiguruje znovupoužitelné položky hostitele SSH pro classic dedicated compute.
Vyžaduje Databricks SSH tunel port 22?
No. SSH tunel přenáší provoz přes HTTPS do vaší domény pracovního prostoru a vyžaduje podporu WebSocketu. Vaše síť, VPN, firewall a proxy musí tento provoz umožňovat. Viz připojení SSH selže nebo dojde k vypršení časového limitu.
Jak se tunel SSH liší od Databricks Connect?
Databricks Connect umožňuje psát kód pomocí rozhraní Spark API a spouštět je vzdáleně na výpočetních prostředcích Databricks místo v místní relaci Sparku. Rozšíření Databricks Visual Studio Code používá Databricks Connect k zajištění integrovaného ladění uživatelského kódu v Databricks.
SSH tunel vám umožňuje přístup do pracovního prostoru z vašeho IDE a přesouvá celé vývojové prostředí na výpočetní infrastrukturu. Python, jádro a spuštění kódu běží na Azure Databricks s přístupem k výpočetním zdrojům.
Jak je můj kód a data zabezpečená?
SSH provoz je šifrovaný end-to-end a kód běží na výpočetním systému Azure Databricks, ke kterému se připojíte. Autentizace využívá Databricks CLI a váš konfigurovaný profil pracovního prostoru. Viz Jaké metody ověřování jsou podporovány?.
Které ides se podporují?
Visual Studio Code a kurzor jsou oficiálně podporovány. Jakékoli integrované vývojové prostředí s funkcemi SSH je kompatibilní, ale testují se pouze VS Code a Cursor.
Mohu použít kódovací agenty v SSH relaci?
Yes. V SSH relaci v serverless výpočetním prostředí nebo dedikovaném clusteru spusťte claude nebo codex. Agenti používají Unity Gateway bez dalšího nastavení. Viz Spustit kódovací agenty v SSH relaci.
Jsou všechny funkce poznámkového bloku Databricks dostupné v integrovaném vývojovém prostředí (IDE)?
Některé funkce, jako display(), dbutils a %sql, jsou k dispozici s omezeními nebo manuálním nastavením. Viz Chování zápisníku v SSH relacích.
Spustí se cluster automaticky, když se připojím pomocí tunelu SSH?
Ano, ale pokud spuštění clusteru trvá déle, než je časový limit připojení, pokus o připojení selže. Chcete-li tomu zabránit, zvyšte hodnotu Remote.SSH: Časový limit připojení z palety příkazů (nebo remote.SSH.connectTimeout v settings.json) pro další snížení pravděpodobnosti chyb časového limitu.
Jak poznám, jestli je cluster spuštěný?
Přejděte do výpočetního prostředí v uživatelském rozhraní pracovního prostoru Databricks a zkontrolujte stav clusteru. Aby fungovalo připojení SSH, musí se u clusteru zobrazit Running.
Jak můžu odpojit relaci SSH/IDE?
Relaci můžete odpojit tak, že zavřete okno integrovaného vývojového prostředí (IDE), použijete možnost Odpojit v IDE, zavřete terminál SSH nebo spustíte příkaz exit v terminálu.
Jak zastavím cluster a vyhnem se poplatkům, když nepracuji?
Pokud chcete cluster okamžitě zastavit, ukončete ho z uživatelského rozhraní pracovního prostoru. V uživatelském rozhraní pracovního prostoru Databricks přejděte na Výpočetní prostředky , vyhledejte cluster a klikněte na Ukončit nebo Zastavit.
Nastavte v clusteru krátké zásady automatického ukončení z uživatelského rozhraní pracovního prostoru. Po odpojení SSH tunel čeká po dobu shutdown-delay (výchozí: 10 minut), pak se aplikuje časový limit nečinnosti clusteru. Pokud použijete --keep-detached-processes, cluster se automaticky neukončí, zatímco běží oddělené procesy. To platí i pro spojení bez příznaku, která znovu používají tunel spuštěný s tímto příznakem. Viz Napojení na existující tunel.
Jak mám zpracovávat trvalé závislosti?
Po restartování clusteru dojde ke ztrátě závislostí nainstalovaných během relace. Pro požadavky a instalační skripty použijte trvalé úložiště (/Workspace/Users/<your-username>). Pro automatizaci používejte knihovny clusteru nebo inicializační skripty.
Jaké metody ověřování se podporují?
Ověřování používá rozhraní příkazového řádku Databricks a váš ~/.databrickscfg soubor profilů. Klíče SSH se zpracovávají tunelem SSH.
Můžu se z clusteru připojit k externím databázím nebo službám?
Ano, pokud vaše síť clusteru umožňuje odchozí připojení a máte potřebné knihovny.
Můžu použít další rozšíření IDE?
Většina rozšíření funguje při instalaci ve vzdálené relaci SSH v závislosti na integrovaném vývojovém prostředí a clusteru. Visual Studio Code ve výchozím nastavení nenainstaluje na vzdálené hostitele místní rozšíření. Můžete je ručně nainstalovat tak, že otevřete panel rozšíření a povolíte místní rozšíření na vzdáleném hostiteli. Visual Studio Code můžete také nakonfigurovat tak, aby vždy vzdáleně nainstalovala určitá rozšíření. Viz Připojení k Databricks.
Podporuje tunel SSH Private Link?
Ano, správci pracovního prostoru však musí přidat na seznam povolených adresy URL tržišť rozšíření pro Visual Studio Code a Cursor. Místní počítač musí mít také možnost přistupovat k internetu.