Megjegyzés
Az oldalhoz való hozzáféréshez engedély szükséges. Megpróbálhat bejelentkezni vagy módosítani a címtárat.
Az oldalhoz való hozzáféréshez engedély szükséges. Megpróbálhatja módosítani a címtárat.
Fontos
Ez a funkció bétaverzióban érhető el.
A Databricks által biztosított SSH alagút lehetővé teszi, hogy hozzáférj a munkaterületedhez, és interaktívan futtatd a munkaterheléseket Databricks számításán IDE-kből, egy SSH (Secure Shell) alagúton keresztül. Egyszerűen beállítható, szükségtelenné teszi a környezetkezelést, és minden kódot és adatot biztonságosan tart a Databricks-munkaterületen.
Requirements
Ha az SSH-alagutat kiszolgáló nélküli vagy klasszikus Databricks-számításhoz szeretné használni, a következőkkel kell rendelkeznie:
- A Databricks CLI 1.5.0-s vagy újabb verziója telepítve van a helyi gépen, és a hitelesítés konfigurálva van. Lásd : A Databricks parancssori felület telepítése vagy frissítése.
- Az alábbiak bármelyike:
- Visual Studio Code verzió: 1.110.0 (univerzális) vagy újabb, és a távoli SSH-bővítmény (1.0.46+) telepítve van.
- Kurzor verziója: 2.6.11 (univerzális) vagy újabb.
A kiszolgáló nélküli GPU-számításhoz való csatlakozáshoz engedélyezni kell az AI Futtatókörnyezet funkciót. Lásd az AI-futtatókörnyezetet.
Csatlakozás klasszikus (dedikált, egyfelhasználós) számításhoz:
- A számításnak a Databricks Runtime 17.0-s vagy újabb verzióját kell futtatnia. Lásd a dedikált számítási áttekintést.
- A Unity-katalógust engedélyezni kell.
- Ha létezik számítási szabályzat, nem tilthatja meg a feladatok végrehajtását.
- Ha a Databricks Container Servicest dedikált számításhoz használja, a Docker-rendszerképnek telepítve kell lennie
openssh-server.
Csatlakozás kiszolgáló nélküli számításhoz
A kiszolgáló nélküli számításhoz való csatlakozáshoz futtassa a parancsot egy databricks ssh connect terminálból az IDE-ben. Nincs szükség külön beállítási lépésre.
A parancsról további információt a databricks ssh connectparancscsoportban találssh.
databricks ssh connect
--accelerator A következő beállítással csatlakozhat az AI-futtatókörnyezethez:
databricks ssh connect --accelerator=GPU_1xA10
databricks ssh connect interaktív munkamenetet biztosít egyetlen csomóponton. Hosszú ideig futó betanítási feladatokhoz vagy többcsomópontos elosztott betanításhoz küldje el helyette a számítási feladatot a parancssori air felülettel. Lásd : AI Runtime CLI.
A csatlakozás után fejezze be a fejlesztési környezet beállítását. Lásd: Projektek megnyitása.
A kiszolgáló nélküli számításhoz való csatlakozáshoz és a munkamenet Visual Studio Code vagy kurzor használatával történő elindításához használja a --ide lehetőséget. A parancssori felület megnyit egy IDE ablakot, amely a kezdőlap-munkaterület mappára mutat.
databricks ssh connect --ide=vscode
Csatlakozás a klasszikus számításhoz
A klasszikus számításhoz való csatlakozáshoz először állítsa be az SSH-kapcsolatot, majd csatlakozzon az IDE használatával vagy a terminálról.
Az SSH-kapcsolat beállítása
Megjegyzés:
Az SSH-kapcsolat beállítása csak akkor szükséges, ha klasszikus számításhoz csatlakozik.
Először állítsa be az SSH-alagutat a databricks ssh setup parancs segítségével. Adjon nevet a kapcsolatnak, például cserélje le <connection-name> a következőre my-connection:
databricks ssh setup --name <connection-name>
A CLI megkéri, hogy válasszon ki egy fürtöt. Közvetlenül a következőkkel --cluster <cluster-id>is megadhat egyet:
databricks ssh setup --name <connection-name> --cluster <cluster-id>
Megjegyzés:
IntelliJ-felhasználók számára a Databricks azt javasolja, hogy a csatlakozás előtt adja hozzá --auto-start-cluster=false a telepítő parancsot, és indítsa el manuálisan a fürtöt. Ennek az az oka, hogy a JetBrains IDE-k indításkor elindítanak minden konfigurált fürtöt, ami váratlan számítástechnikai költségeket eredményezhet.
Csatlakozás a Visual Studio Code vagy a Kurzor használatával
Visual Studio Code esetén telepítse a távoli SSH-bővítményt. A kurzor alapértelmezés szerint tartalmaz egy távoli SSH-bővítményt.
Az IDE főmenüjében kattintson aParancskatalógus>. Válassza a Remote-SSH: Settings (Távoli SSH: Beállítások) lehetőséget. Másik lehetőségként válassza a Beállítások: Felhasználói beállítások megnyitása (JSON) lehetőséget a közvetlen módosításhoz
settings.json.A Remote.SSH: Default Extensions (vagy
remote.SSH.defaultExtensionsasettings.json), hozzáadms-Python.Pythonésms-toolsai.jupyter.Ha módosítja a következőt
settings.json:"remote.SSH.defaultExtensions": [ "ms-Python.Python", "ms-toolsai.jupyter" ]Megjegyzés:
Ha szeretné, növelje a Remote.SSH: Connect Timeout (vagy
remote.SSH.connectTimeoutinsettings.json) értékét az időtúllépési hibák esélyének további csökkentése érdekében. Az alapértelmezett időtúllépés 360 másodperc.A parancskatalógusban válassza a Remote-SSH: Csatlakozás gazdagéphez lehetőséget.
A legördülő menüben válassza ki az első lépésben beállított kapcsolatot. Az IDE egy új ablakban folytatja a csatlakozást.
Csatlakozás IntelliJ IDE-k használatával
- A beállításhoz kövesse a távoli kiszolgáló oktatóanyagát .
- Az új kapcsolati képernyőn adja meg a következőt:
-
Felhasználónév:
root -
Szerver:
<connection-name>
-
Felhasználónév:
Csatlakozás terminállal
ssh <connection-name>
Projektek megnyitása
Alapértelmezés szerint a databricks ssh connect parancs egy rövid élettartamú könyvtárba nyílik meg. A munkaterület fájljainak eléréséhez keresse meg a munkaterület könyvtárát az IDE-ből vagy a terminálból:
- A Visual Studio Code vagy a kurzor parancskatalógusában (Cmd/Ctrl+Shift+P) válassza a Mappa megnyitása lehetőséget, és lépjen a következőre
/Workspace/Users/<your-username>. - A terminálablakban módosítsa a könyvtárat:
cd /Workspace/Users/<your-username>.
Megjegyzés:
A benne lévő /Workspace/Volumesfájlok és /dbfs a fürtök újraindítása során is megmaradnak. A /home, /rootés más helyi elérési utak fájljai rövid élettartamúak, és az újraindításkor elvesznek.
Futtatási kód (Visual Studio Code vagy kurzor)
Az SSH-alagút használatával történő kódfuttatáshoz be kell állítani a Databricks virtuális környezetet. Ez a környezet tartalmazza az összes beépített DBR-kódtárat és számítási hatókörű kódtárat.
Nyissa meg a parancskatalógust (Cmd/Ctrl+Shift+P), és válassza a Python: Értelmező kiválasztása lehetőséget.
Válassza ki a
pythonEnv-xxxvirtuális környezetet a listából. Ha a jelölővel--base-environmentPython függőségeket állít be, válassza ki a hosszabb virtuális környezet nevét a beállítások listájából. Ha a virtuális környezet nem jelenik meg:Az IDE-ben található terminálból futtassa a
echo $DATABRICKS_VIRTUAL_ENVparancsot.Példakimenet:
/local_disk0/.ephemeral_nfs/envs/pythonEnv-xxx/bin/pythonIllessze be a teljes kimenetet értelmezői útvonalként a Python: Értelmező kiválasztása mezőbe.
Nyisson meg egy új terminált, és a virtuális környezetnek automatikusan aktiválnia kell.
Jupyter-jegyzetfüzet futtatásához győződjön meg arról, hogy a virtuális környezet van kiválasztva kernelként. Kattintson a jegyzetfüzet jobb felső sarkában található Kernel kijelölése elemre .
Python fájlok és jegyzetfüzetek futtatása és .ipynb hibakeresése a standard Python és Jupyter-bővítmények használatával.
Ha a Sparkot kiszolgáló nélküli számításon Python fájlban szeretné használni, inicializáljon egy munkamenetet explicit módon:
from databricks.connect import DatabricksSession
spark = DatabricksSession.builder.serverless().profile("DEFAULT").getOrCreate()
Függőségek kezelése
Függőségek kezelése munkaterületi alapkörnyezet, fürttárak, init-szkriptek vagy jegyzetfüzetek használatával, a számítási típustól és a követelményektől függően.
Munkaterületi alapkörnyezetek (kiszolgáló nélküli és AI-futtatókörnyezetekhez ajánlott)
Megjegyzés:
Ehhez a funkcióhoz engedélyezni kell a Kiszolgáló nélküli munkaterület alapkörnyezetének támogatását a Feladatok előzetes verzióban . Lásd: Az Azure Databricks előzetes verziójának kezelése.
A kiszolgáló nélküli környezet 4-es vagy újabb verziójával használjon munkaterületi alapkörnyezetet Python függőségek előzetes konfigurálásához. Hozzon létre egy alapkörnyezetet a munkaterület felhasználói felületén vagy a Databricks CLI databricks-környezetek create-workspace-base-environment parancsával.
Kapcsolódáskor adja meg a környezetet a(z) --base-environment opcióval:
databricks ssh connect --base-environment my-workspace-env
Az elfogadott formátumokról további információt a databricks ssh connectben talál.
Fürtkódtárak (klasszikus számításhoz ajánlott)
Telepítse a függőségeket a munkaterület felhasználói felületén a Számítási > kódtárak területen. Ezek a fürt újraindításai között megmaradnak, és elérhetők a következő helyen pythonEnv-xxx: . Lásd Cluster könyvtárak.
Nem Python függőségek
A nem Python függőségek megőrzéséhez használjon egy init szkriptet, amely telepíti a csomagokat a számítás indításakor. Ha szeretné, tárolja a csomagokat egy Unity Catalog-kötetben, és hivatkozzon rájuk az init szkriptből. Lásd: Mik azok az init szkriptek?.
Projektalapú jegyzetfüzet beállítása
Projekthatókörű függőségek esetén futtasson egy parancsokat tartalmazó %pip install jegyzetfüzetet az egyes munkamenetek elején:
# 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 a parancsok közé tartoznak a Databricks-specifikus védőkorlátok, és a függőségek propagálása a Spark-végrehajtó csomópontokra. Ez egyéni függőségekkel rendelkező, felhasználó által definiált függvényeket (UDF-eket) tesz lehetővé.
További példákért lásd: Kódtárak kezelése parancsokkal%pip.
Ha a munkamenet 10 percen belül újracsatlakozik, nem kell újra futtatnia a jegyzetfüzetet. Ez az SSH-konfigurációban beállítható -shutdown-delay.
Megjegyzés:
Ugyanazon a fürtön több SSH-munkamenet osztozik egy virtuális környezetben.
A Git használata
Megjegyzés:
Ehhez a funkcióhoz engedélyezni kell a Git-mappák előzetes verziójának Git CLI-támogatását . Lásd: Az Azure Databricks előzetes verziójának kezelése.
Az SSH-alagútban található Git CLI-t használhatja az újonnan létrehozott Git-mappákkal és a Databricks-munkaterületen konfigurált Git-hitelesítő adatokkal. Lásd: Git CLI-parancsok használata.
Ha a parancssori felület hitelesítő adatokat kér ahelyett, hogy automatikusan felveszi őket, a Git-szolgáltatót a Databrickshez kell csatlakoztatnia. Lásd : A Git-szolgáltató csatlakoztatása a Databrickshez.
Korlátozások
A Databricks által biztosított SSH-alagútra a következő korlátozások vonatkoznak:
- A megosztott fürtök nem támogatottak.
- A Databricks IDE kiterjesztés és az SSH alagút még nem kompatibilisek, és nem szabad együtt használni.
- A
/Workspace,/Volumes, és/dbfskívül szerkesztett fájlok elvesznek a fürt újraindításakor. - Fürtönként legfeljebb 10 SSH-kapcsolat engedélyezett.
- Az inaktív munkamenetek 1 óra elteltével csökkenhetnek.
- Az SSH-alagút nem indítható el más távoli környezetekből vagy Docker-tárolókból.
- Teljesítménybeli vagy kapcsolati problémákat tapasztalhat, ha egyszerre három vagy több Jupyter-jegyzetfüzet van megnyitva. Ezt a korlátozást egy későbbi kiadásban fogjuk kezelni.
A Databricks Notebooks különbségei
Az SSH-alagút használatakor a jegyzetfüzetek között van néhány különbség:
- A Python-fájlok nem definiálnak Databricks-globálisokat (például
sparkvagydbutils). Ezeket explicit módon kell importálnia a .-valfrom databricks.sdk.runtime import spark. - Az ipynb-jegyzetfüzetek esetében az alábbi funkciók érhetők el:
- Databricks globális elemek:
display,displayHTML,dbutils,table,sql,udf,getArgument,sc,sqlContext,spark -
%sqlvarázsutasítás SQL cellák végrehajtásához
- Databricks globális elemek:
Python-forrás "jegyzetfüzetek" használata:
Keresse meg
jupyter.interactiveWindow.cellMarker.codeRegexés állítsa be a következőre:^# COMMAND ----------|^# Databricks notebook source|^(#\\s*%%|#\\s*\\<codecell\\>|#\\s*In\\[\\d*?\\]|#\\s*In\\[ \\])Keresse meg
jupyter.interactiveWindow.cellMarker.defaultés állítsa be a következőre:# COMMAND ----------
Hibaelhárítás
Ez a szakasz a gyakori problémák megoldásával kapcsolatos információkat tartalmaz.
Az SSH-kapcsolat meghiúsul vagy túllépi az időkorlátot
- Ellenőrizze, hogy a fürt fut-e a munkaterület felhasználói felületén.
- Ellenőrizd, hogy a hálózatod, a VPN és a tűzfal engedélyezi-e a HTTPS és WebSocket forgalmat a munkaterület domainjére. Az SSH alagút nem használja a 22-es portot. Az összes forgalmat ugyanazon a HTTPS-végponton keresztül továbbítja, mint a többi Databricks CLI-parancs. Lásd: Tartománynév tűzfalszabályainak konfigurálása.
- Ha egy proxy vagy tűzfal ellenőrzi a TLS forgalmat, ellenőrizd, hogy engedélyezi-e a WebSocket frissítési kérést. Az a közvetítő, amely blokkolja vagy lehúzza a frissítést, a kapcsolat meghibásodását vagy időlejárását okozza. Kérd meg a hálózati adminisztrátorodat, hogy engedélyezze a WebSocket frissítést a munkaterület domainjén, vagy hogy kerülje meg a TLS ellenőrzést az adott domainnél.
- Ha vállalati HTTP proxyn keresztül csatlakozol, állítsd be a
HTTPS_PROXYkörnyezeti változót, vagyNO_PROXYkerüld meg a proxyt a munkaterületi domainedben. Az SSH alagút ugyanazt a proxy-konfigurációt használja, mint más Databricks CLI parancsok. Lásd a Proxy szerver konfigurációt. - Ellenőrizd, hogy a helyi gépednek HTTPS hozzáférése van-e a
github.comésrelease-assets.githubusercontent.com. - Növelje az SSH időtúllépését. Lásd: Csatlakozás a Visual Studio Code vagy a Kurzor használatával.
- Kulcseltérési hibák esetén törölje
~/.databricks/ssh-tunnel-keysés futtassa újra az elemetdatabricks ssh setup. - Ha a távoli gazdagép azonosítója megváltozott, ellenőrizze a
~/.ssh/known_hostsfájlt, és törölje a fürthöz kapcsolódó bejegyzéseket. - Az SSH-munkamenetek 1 óra elteltével csökkenhetnek, és egyetlen fürthöz legfeljebb 10 SSH-kapcsolat hozható létre. Lásd: Korlátozások.
Az code parancs nem található
Ha megjelenik Error: exec: "code": executable file not found in $PATH, nyissa meg a parancskatalógust (Cmd/Ctrl+Shift+P), válassza a Shell Parancs: Kód telepítése a PATH-ban, majd indítsa újra az IDE- vagy terminálmunkamenetet.
CLI-hitelesítési hibák
- Ellenőrizze, hogy a Databricks CLI-profil érvényes-e a
databricks auth loginhasználatával. - Győződjön meg arról, hogy rendelkezik
CAN MANAGEa fürtre vonatkozó engedélyekkel.
A kód nem működik
- Győződjön meg arról, hogy beállította a Databricks virtuális környezetet, lásd: Kód futtatása (Visual Studio Code vagy kurzor)
- Az IPYNB-jegyzetfüzetek és
*.pya Databricks-jegyzetfüzetek hozzáférnek a Databricks globális fájljaihoz, a Python-fájlok*.pyazonban nem. Lásd a Databricks-jegyzetfüzetek eltéréseit.
A fájlok eltűnnek, vagy a környezet visszaáll az alapértelmezett állapotba a fürt újraindítása után
- A
/Workspace,/Volumesés/dbfscsatolmányok megmaradnak a fürt újraindítása során is. A/home,/rootés más helyi elérési utak fájljai rövid élettartamúak, és az újraindításkor elvesznek. - Klaszter könyvtárkezelés használata tartós függőségekhez. Szükség esetén init-szkriptekkel automatizálhatja az újratelepítéseket. Lásd: Mik azok az init szkriptek?.
Az SSH beállítása sikertelen Windows (WSL)
Futtassa databricks ssh setup közvetlenül a Windowson, nem pedig a WSL-en belül. A Windows Visual Studio Code példány nem találja a WSL oldalán létrehozott SSH-konfigurációkat.
GYIK
Miben különbözik az SSH-alagút a Databricks Connecttől?
A Databricks Connect lehetővé teszi kód írását Spark API-k használatával, és távolról futtathatja őket a Databricks számítási felületén a helyi Spark-munkamenet helyett. A Databricks Visual Studio Code bővítmény a Databricks Connect használatával biztosítja a felhasználói kód beépített hibakeresését a Databricksen.
Az SSH-alagút lehetővé teszi a munkaterület elérését az IDE-ből, és a teljes fejlesztői környezetet a számításba helyezi át – Python, kernel és minden végrehajtás a Databricksen fut, teljes hozzáféréssel a számítási erőforrásokhoz.
Hogyan védik a kódot és az adatokat?
Minden kód a Databricks felhőbeli VPC-n belül fut. Egyetlen adat vagy kód sem hagyhatja el a biztonságos környezetet. Az SSH-forgalom teljes mértékben titkosítva van.
Mely fejlesztői környezetek támogatottak?
Visual Studio Code és a Kurzor hivatalosan támogatott. Az SSH-képességekkel rendelkező IDE-k kompatibilisek, de csak a VS Code és a Kurzor tesztelése történik.
Minden Databricks-jegyzetfüzet-funkció elérhető az IDE-ből?
Néhány funkció, például display()a , dbutilsés %sql korlátozásokkal vagy manuális beállítással érhető el. Lásd a Databricks-jegyzetfüzetek eltéréseit.
Automatikusan elindul a fürt, amikor az SSH-alagút használatával csatlakozom?
Igen, de ha a fürt elindítása hosszabb időt vesz igénybe, mint a csatlakozási időkorlát, a csatlakozási kísérlet meghiúsul. Annak elkerülése érdekében, hogy időtúllépési hibák forduljanak elő, növelje a Remote.SSH: Csatlakozás időtúllépése értékét a parancskatalógusból (vagy remote.SSH.connectTimeoutsettings.json), így tovább csökkentheti az időtúllépési hibák lehetőségét.
Honnan tudhatom, hogy fut-e a fürt?
Lépjen a Databricks-munkaterület felhasználói felületén található Compute elemre, és ellenőrizze a fürt állapotát. A fürtnek futásban kell lennie az SSH-kapcsolat működéséhez.
Hogyan lehet leválasztani az SSH-/IDE-munkamenetet?
A munkameneteket az IDE-ablak bezárásával, az IDE Leválasztás lehetőségével, az SSH-terminál bezárásával vagy a exit parancs terminálon való futtatásával szakíthatja meg.
Hogyan állíthatom le a klasztert, és hogyan kerülhetem el a díjakat, mikor nem dolgozom?
Ha azonnal le szeretne állni, állítsa le a fürtöt a munkaterület felhasználói felületéről. Lépjen a Databricks-munkaterület felhasználói felületén a Számítás elemre, keresse meg a fürtöt, és kattintson a Leállítás vagy Szolgáltatás megszüntetése gombra.
Állítson be egy rövid automatikus megszüntetési szabályzatot a fürtre a munkaterület felhasználói felületén. A leválasztást követően az SSH-kiszolgáló vár az shutdown-delay időszakra (alapértelmezés: 10 perc), majd lép érvénybe a fürt tétlenségi időtúllépése.
Hogyan kezeljem az állandó függőségeket?
A munkamenet során telepített függőségek elvesznek a fürt újraindítása után. Használjon állandó tárterületet (/Workspace/Users/<your-username>) a követelményekhez és a beállítási szkriptekhez. Klaszterkönyvtárak vagy init-szkriptek használata automatizáláshoz.
Milyen hitelesítési módszerek támogatottak?
A hitelesítés a Databricks CLI-t és a profilokat tartalmazó fájlt ~/.databrickscfg használja. Az SSH-kulcsokat az SSH-alagút kezeli.
Csatlakozhatok külső adatbázisokhoz vagy szolgáltatásokhoz a fürtből?
Igen, mindaddig, amíg a fürt hálózatkezelése engedélyezi a kimenő kapcsolatokat, és megvannak a szükséges könyvtárak.
Használhatok további IDE-bővítményeket?
A legtöbb bővítmény akkor működik, ha telepítve van egy távoli SSH munkamenetre, az IDE-től és a környezettől függően. A Visual Studio Code alapértelmezés szerint nem telepíti a helyi bővítményeket távoli gazdagépekre. A bővítmények manuális telepítéséhez nyissa meg a bővítmények panelt, és engedélyezze a helyi bővítményeket a távoli gazdagépen. A Visual Studio Code-ot úgy is konfigurálhatja, hogy mindig távolról telepítsen bizonyos bővítményeket. Lásd: Csatlakozás a Databrickshez.
Támogatja az SSH-alagút a Private Link?
Igen, azonban a munkaterület rendszergazdáinak engedélyeznie kell a Visual Studio Code és a kurzorbővítmény-piacterek URL-címeit. A helyi gépnek képesnek kell lennie az internet elérésére is.