技術概述|安裝|配置|碼頭工人|貢獻|許可證|幫助和資源
使用 JupyterHub,您可以建立一個多用戶集線器,用於產生、管理和代理單用戶 Jupyter 筆記本伺服器的多個實例。
Jupyter 專案創建了 JupyterHub 來支援許多使用者。該中心可以為學生班級、企業資料科學工作小組、科學研究專案或高效能運算小組提供筆記型電腦伺服器。
JupyterHub 的三個主要參與者:
操作的基本原則是:
JupyterHub 也提供 REST API 用於管理 Hub 及其使用者。
基於 Linux/Unix 的系統
Python 3.8 或更高版本
節點js/npm
如果您使用conda
,conda 將為您安裝 nodejs 和 npm 依賴項。
如果您使用pip
,請安裝最新版本(至少 12.0)的 nodejs/npm。
如果使用預設的 PAM 驗證器,則為可插入驗證模組 (PAM)。
用於 HTTPS 通訊的 TLS 憑證和金鑰
網域
conda
若要安裝 JupyterHub 及其相依性(包括 nodejs/npm):
conda install -c conda-forge jupyterhub
如果您打算在本機上運行筆記型電腦伺服器,請安裝 JupyterLab 或 Jupyter Notebook:
conda install jupyterlab
conda install notebook
pip
JupyterHub 可以使用pip
安裝,代理程式使用npm
:
npm install -g configurable-http-proxy
python3 -m pip install jupyterhub
如果您打算在本機上運行筆記型電腦伺服器,則需要安裝 JupyterLab 或 Jupyter Notebook:
python3 -m pip install --upgrade jupyterlab
python3 -m pip install --upgrade notebook
若要啟動 Hub 伺服器,請執行以下命令:
jupyterhub
在瀏覽器中造訪http://localhost:8000
,並使用您的系統使用者名稱和密碼登入。
注意:要允許多個使用者登入伺服器,您需要以特權使用者(例如 root)身分執行jupyterhub
指令。 wiki 描述如何以權限較低的使用者身分執行伺服器,這需要對系統進行更多配置。
文件的入門部分解釋了設定 JupyterHub 的常見步驟。
JupyterHub 教學提供了 JupyterHub 的深入影片和範例配置。
若要產生包含設定和描述的預設設定檔:
jupyterhub --generate-config
若要使用https在特定 url 和連接埠10.0.1.2:443
上啟動集線器:
jupyterhub --ip 10.0.1.2 --port 443 --ssl-key my_ssl.key --ssl-cert my_ssl.cert
驗證器 | 描述 |
---|---|
PAM驗證器 | 預設內建身份驗證器 |
O認證器 | OAuth + JupyterHub 驗證器 = OAuthenticator |
LDAP驗證器 | 適用於 JupyterHub 的簡單 LDAP 驗證器插件 |
kerber身份驗證器 | JupyterHub 的 Kerberos 驗證器插件 |
產卵者 | 描述 |
---|---|
本地進程生成器 | 預設情況下,內建生成器會將單一用戶伺服器作為本機進程啟動 |
碼頭工人 | 在 Docker 容器中產生單一用戶伺服器 |
庫貝斯普納 | JupyterHub 的 Kubernetes 產生器 |
須多斯普納 | 無需 root 即可產生單一用戶伺服器 |
系統產生器 | 使用 systemd 產生單一用戶筆記本伺服器 |
批量生成器 | 專為使用大量調度軟體的叢集而設計 |
紗線產卵者 | 產生分佈在 Hadoop 叢集上的單一使用者筆記本伺服器 |
包裹產卵者 | WrapSpawner 和 ProfilesSpawner 支援生成器的執行時間配置 |
JupyterHub 的入門 docker 映像提供了使用 Docker 進行 JupyterHub 的基準部署。
重要提示:此quay.io/jupyterhub/jupyterhub
映像僅包含 Hub 本身,沒有任何設定。一般來說,需要製作衍生鏡像,至少有一個jupyterhub_config.py
設定 Authenticator 和/或 Spawner。若要執行單一使用者伺服器(可能與集線器位於同一系統或不同系統上),必須安裝 Jupyter Notebook 版本 4 或更高版本。
JupyterHub docker 映像可以使用以下命令啟動:
docker run -p 8000:8000 -d --name jupyterhub quay.io/jupyterhub/jupyterhub jupyterhub
此命令將建立一個名為jupyterhub
的容器,您可以使用docker stop/start
停止和還原該容器。
Hub 服務將偵聽連接埠 8000 上的所有接口,這使其成為在桌上型電腦或筆記型電腦上測試 JupyterHub 的好選擇。
如果您想在具有公用 IP 的電腦上執行 docker,那麼您應該(如必須)透過向 docker 配置新增 ssl 選項或使用啟用 ssl 的代理程式來使用ssl 保護它。
安裝磁碟區將允許您將資料儲存在 docker 映像(主機系統)之外,因此即使您啟動新映像,資料也將是持久的。
指令docker exec -it jupyterhub bash
將在 docker 容器中產生一個 root shell。您可以使用 root shell 在容器中建立系統使用者。這些帳戶將用於 JupyterHub 預設配置中的驗證。
如果您想為此專案做出貢獻,請閱讀我們的貢獻者文件和CONTRIBUTING.md
。 CONTRIBUTING.md
檔案說明如何設定開發安裝、如何執行測試套件以及如何撰寫文件。
有關專案願景和下一步方向的高階視圖,請參閱 JupyterHub 社群路線圖。
JupyterHub 在基於 Linux/Unix 的系統上支援。
JupyterHub 官方不支援 Windows。如果您使用可在 Windows 上執行的 Spawner 和 Authenticator,您也許可以在 Windows 上使用 JupyterHub,但 JupyterHub 預設設定不會。在 Windows 上報告的錯誤將不被接受,並且測試套件不會在 Windows 上運行。但是,可以接受修復較小的 Windows 相容性問題(例如基本安裝)的小修補程式。對於基於 Windows 的系統,我們建議在 Docker 容器或 Linux VM 中執行 JupyterHub。
其他參考:Tornado 有關 Windows 平台支援的文檔
我們使用共享版權模型,使所有貢獻者都能維護其貢獻的版權。
所有代碼均根據修訂後的 BSD 許可證條款獲得許可。
我們鼓勵您在 Jupyter 社群論壇上提出問題並分享想法。您也可以在我們的 JupyterHub Gitter 頻道上與我們交談。
JupyterHub 遵循 Jupyter 社群指南。
技術概述|安裝|配置|碼頭工人|貢獻|許可證|幫助和資源