重點摘要
- JupyterHub 是一款免費工具,可讓您與他人同時使用 Jupyter Notebook。
- 使用它,在資料科學專案上協作變得更容易,且能輕鬆擴展專案規模。
- 要準備好它,您需要設定類似虛擬電腦空間的環境,並調整 JupyterHub 以符合您的需求。
- 安裝 JupyterHub 的方法有多種,例如使用 Docker、Conda 或 Pip。
- 使用 JupyterHub 時,通常需要 GPU 來提升效能。
簡介
JupyterHub 是資料科學家和機器學習愛好者的實用工具。它促進了透過網際網路在 Jupyter Notebook 上的協作,讓使用者無需在本地安裝,即可透過網頁瀏覽器存取共享的 Notebook。這個集中式平台使團隊能夠透過共享程式碼和工具,有效率地協作進行資料科學專案。此外,JupyterHub 簡化了專案擴展的過程,能夠順暢地容納更多使用者和更高的運算需求。我們的指南提供了在本地端機器上設定 JupyterHub 的逐步說明,涵蓋安裝、設定和最佳化,適用於從初學者到資料科學專家的不同使用者層級。此外,您也可以使用 Novita AI GPU Pods 來執行 Jupyter 框架,以獲得更高的效能。
理解 JupyterHub
在深入設定 JupyterHub 之前,讓我們先了解其運作機制。JupyterHub 是一款免費工具,用於建立 Jupyter Notebook 的共享空間,作為管理多個使用者個別 Notebook 伺服器的中樞。它是一個可透過網頁瀏覽器或命令列存取的線上應用程式,負責處理使用者登入、伺服器設定以及使用者與其 Notebook 之間的通訊。
當使用者透過瀏覽器登入 JupyterHub 時,中樞伺服器會驗證他們並設定一個個人 Notebook 伺服器。這讓使用者能夠在熟悉的介面中執行 Python 腳本或分析資料,使其能夠無縫地繼續工作,就像在本地端執行 Jupyter 一樣。

探索 JupyterHub 的元件
要理解 JupyterHub,讓我們探索其關鍵元件。中樞伺服器無縫地管理使用者登入、個別伺服器設定以及使用者與其 Notebook 之間的資料傳輸。
為了增強安全性和隱私,JupyterHub 在使用者伺服器內執行 Docker 容器。這種設定確保每個使用者的工作區保持組織化且隔離,促進大數據專案的順利協作。
Jupyter Notebook 是魔法發生的地方。它提供一個用於編寫程式碼、建立視覺化以及記錄資料分析步驟的線上空間。使用者可以輕鬆地將他們的工作分享為結合程式碼、說明和視覺效果的互動式文件。

JupyterHub vs. JupyterLab vs. Jupyter Notebook
雖然 JupyterHub 提供一個用於託管和管理 Jupyter Notebook 伺服器的平台,但了解 JupyterHub、JupyterLab 和 Jupyter Notebook 之間的差異很重要。
Jupyter Notebook 是 JupyterHub 提供的原始介面,允許使用者建立和執行 Notebook。它提供了使用者友善的介面,用於編寫程式碼、建立視覺化以及記錄資料分析工作流程。另一方面,JupyterLab 是 Jupyter Notebook 的擴展版本,提供更強大、更靈活的使用者介面。它為資料科學任務提供了一個模組化且可擴展的環境,允許使用者將多個 Notebook、程式碼編輯器和其他工具安排在單一工作區中。
以下是比較表格,突顯 JupyterHub、JupyterLab 和 Jupyter Notebook 之間的差異:

雖然 JupyterHub 為多個使用者提供了基礎設施和管理能力,但 JupyterLab 和 Jupyter Notebook 是使用者用來編寫和執行程式碼的介面。
為什麼要使用 JupyterHub?
JupyterHub 為共同進行資料科學或機器學習專案的人們帶來了許多優勢,尤其是在擴展營運方面。以下是您可能想考慮使用 JupyterHub 的原因:
簡化協作式資料科學工作流程
共同進行資料科學專案非常重要,而 JupyterHub 透過讓每個人使用同一個中樞伺服器,使其變得更加容易。這樣一來,當人們透過網頁瀏覽器登入時,每個人都可以各自在自己的 Jupyter Notebook 上處理專案的一部分。
有了這個設定,團隊成員可以輕鬆地與他人分享他們正在進行的工作,並協助分析資料或修復程式碼,而無需等待。由於 JupyterHub 負責管理誰可以存取什麼以及資源如何在使用者之間分配,每個人的工作都能保持安全且順暢運行。
其中一個很大的優點是,您無需為每個人分別設定 Jupyter Notebook。相反地,任何人都可以從任何地方,只需點擊幾下滑鼠登入中樞伺服器,就能直接跳入他們的專案——無論他們使用的是哪種電腦或作業系統。
擴展您的資料科學專案
擴展您的資料科學專案可能會變得棘手,尤其是當您處理大型資料集或需要大量運算能力的複雜任務時。有了 JupyterHub,這個過程會變得順暢許多,因為它作為一個中央中樞伺服器,旨在支援多個使用者及其龐大的運算需求。
對於那些真正的大型專案,JupyterHub 會與 Kubernetes 合作。這種合作關係意味著您可以更好地分配和管理資料科學工作所需的資源。歸功於 Kubernetes,使用容器有助於保持每個使用者的環境分離,以便一切運行得更有效率。

有了 JupyterHub 和 Kubernetes 的組合,根據專案需求進行擴展變得簡單明瞭。無論您的團隊規模變大,還是您正在處理更大的資料塊,這些工具都能提供所需的靈活性和能力,以順利管理資料科學工作的各個方面。
準備 JupyterHub 安裝
在開始設定 JupyterHub 之前,檢查您的電腦是否已準備好至關重要。以下是您需要了解的系統準備事項:
系統需求與先決條件
在開始設定 JupyterHub 之前,您的電腦需要具備一些條件。讓我們來看看您需要什麼:
- 作業系統:您需要一個 Linux 或 Unix 基礎的系統,因為 JupyterHub 在這些系統上運行最佳。在此之前,請檢查您的作業系統是否符合此設定的要求。
- 命令列:設定 JupyterHub 意味著您需要大量使用命令列介面。如果您還不熟悉它,現在就是時候熟悉一下了,因為所有安裝步驟都在這裡進行。
- JupyterHub 版本:在開始之前,下載最新版本的 JupyterHub 至關重要。這樣,您就不會錯過任何新功能,並能避免遇到已在較新版本中修復的已知問題。
- 本地端機器:是僅在您自己的電腦上為自己安裝,還是為多個使用者在伺服器上設定,完全取決於哪種情況更適合您。只需確保您選擇的任何設備都滿足順利運行 JupyterHub 所需的所有要求。
選擇正確的安裝方法
根據您的喜好和電腦的能力,主要有三種方法可以讓 JupyterHub 上線執行:
- 使用 Docker,您會看到一個很酷的工具,它讓 JupyterHub 在自己的空間中運行。設定起來相當直接,如果您需要將不同的 Jupyter Notebook 專案彼此分開,這非常完美。
- 透過 Conda,它主要是為了讓軟體準備好更簡單。您用它來為 JupyterHub 在電腦上建立一個特殊的位置,在那裡可以找到它所需的一切,而不會影響其他任何東西。
- 使用 Pip 意味著以傳統方式將 JupyterHub 直接安裝到您的系統中。如果您是喜歡透過 Pip 管理 Python 相關工具的人,這可能是您的選擇。
初學者 JupyterHub 安裝指南
要開始,首先在您的本地端機器上建立一個虛擬環境。接下來,在此環境中,使用 pip 或 conda 設定好 JupyterHub 及所有需要的元件。完成後,透過修改組態檔中的選項來深入調整 JupyterHub。然後,在命令列中鍵入命令來啟動您的 JupyterHub 伺服器。最後,透過管理員介面,您可以新增使用者並管理誰能做什麼。
這個簡單易懂的方法確保為您的資料科學專案設定 JupyterHub 變得輕而易舉。
步驟 1:設定虛擬環境
在您開始使用 JupyterHub 之前,建立一個虛擬環境是個好主意。這樣,您可以保持一切整潔,並避免弄亂您電腦上已有的任何 Python 工具。將虛擬環境視為您自己的小空間,JupyterHub 可以在其中安身而無需碰撞任何其他東西。
對於建立這個特殊空間,Conda 或 virtualenv 是大多數人會選擇的工具。使用 Conda,設定起來相當直接——它幫助輕鬆管理這些環境。另一方面,如果您更傾向於使用一個歷史悠久且受到信賴的工具,virtualenv 也能很好地完成建立這些隔離空間的工作。
如果您覺得 Conda 路線適合您,以下是從命令列開始的方法:
conda create --name myenv
只需將 “myenv” 替換為您覺得適合新家基礎的任何名稱。設定完成後,使用以下命令啟用它:
conda activate myenv
但如果您覺得 virtualenv 更適合您的風格,別擔心!透過輸入以下內容開始:
python -m venv myenv
同樣,將 “myenv” 更改為您喜歡的任何名稱。設定完成後,要進入行動狀態,請使用:
source myjson/bin/activate
在深入安裝 JupyterHub 之前採取這些步驟,可確保一切在其整潔的角落中順利運行。
步驟 2:安裝 JupyterHub 及必要的依賴項
一旦您的虛擬環境準備就緒,下一步就是設定 JupyterHub 及其所需的所有東西。您可以使用 Pip 或 Conda 等工具來完成此操作。
使用 Pip,只需在您的虛擬環境中輸入:
pip install jupyter
此命令會為您取得最新版本的 JupyterHub 及其運作所需的任何其他東西。
另一方面,如果您覺得 Conda 更舒適,請改用以下命令:
conda install -c conda-forge jupyterhub
這基本上做同樣的事情,但從稱為 conda-forge 的頻道獲取 JupyterHub。
除了安裝 JupyterHub 本身之外,您還需要一些額外的部分,例如 npm 和 Node.js。這些很重要,因為它們有助於運行稱為可設定 HTTP 代理的東西,這是 JupyterHub 運作的一部分。npm 幫助管理 JavaScript 套件,而 Node.js 則讓這些套件按預期運行。
要安裝 npm 和 Node.js,請遵循其官方網站告訴您的說明。
在設定包括這些額外依賴項在內的所有內容之後,現在是開始深入配置您希望 JupyterHub 以何種方式行為的好時機。
步驟 3:配置 JupyterHub
設定 JupyterHub 讓您可以調整其運作方式以符合您的需求。JupyterHub 有一個組態檔,允許您選擇不同的選項。
要開始,建立一個名為 jupyterhub_config.py 的設定檔。您應該將此文件放在 JupyterHub 可以找到它的地方,例如您正在工作的資料夾或一個專門用於設定檔的特殊資料夾。
此設定檔使用 Python 語言。因此,使用 Python 的方式,您可以決定諸如使用者如何登入、設定他們可以使用的資源限制、控制誰可以存取什麼,以及設定運行 Jupyter Notebook 伺服器的環境。
在您的設定檔準備好之後:
jupyterhub --config jupyterhub_config.py
從您的終端機執行上述命令。它會使用您在設定檔中選擇的所有設定來啟動 JupyterHub。然後,前往您的網頁瀏覽器;現在,您將能夠使用您選擇的登入方法登入 JupyterHub。
透過以自己的方式設定 JupyterHub,您可以讓它完全按照您想要的方式運作。
步驟 4:啟動您的 JupyterHub 伺服器
一旦您完成所有設定,就是時候讓您的 JupyterHub 伺服器運行了。為此,請前往終端機或命令列,並輸入啟動伺服器的必要命令。您必須提供 JupyterHub 所在網路的 IP 位址或主機名稱。啟動伺服器後,打開網頁瀏覽器,並輸入該 IP 位址或主機名稱以及提供的連接埠號碼。此操作會將您帶到 JupyterHub 的登入畫面。在這裡,透過輸入您的使用者名稱和密碼,您就可以開始探索 JupyterHub 為您提供的功能。
步驟 5:新增使用者與管理權限
要設定您的 JupyterHub 伺服器,以便您可以新增人員並決定他們能做什麼,您需要處理一個稱為驗證器的東西。標準配備的驗證器稱為 PAM(可插入式驗證模組)。使用此模組,執行 JupyterHub 的伺服器上已有的帳戶會用於登入。這意味著每個人都有自己的使用者名稱和密碼來進入 JupyterHub 伺服器。還有其他無需使用多個密碼的登入方式,例如 OAuth 和 GitHub,它們讓使用者只需登入一次即可存取不同的服務。透過管理誰獲得何種權限或存取級別,您基本上就是在決定誰能在您的 JupyterHub 伺服器上做什麼以及使用其功能。
在 GPU 雲端上執行 JupyterHub
在像 Novita AI GPU Pods 這樣的 GPU 雲端伺服器上執行 JupyterHub,可以顯著增強資料科學和機器學習工作流程的能力。使用 Novita AI GPU Pods,使用者可以在雲端中獲得強大的 GPU 資源,這些資源可用於為協作專案執行 JupyterHub 實例。這些 GPU 雲端服務兼具成本效益和靈活性,使團隊能夠擴展其 AI 創新,而無需承擔高昂的前期成本。
透過使用 Novita AI GPU Pods,您可以按使用量付費,每小時起價僅為 $0.35,使其成為適合各種預算的經濟實惠選擇。該平台提供即時存取 Jupyter 的功能,預先安裝了流行的機器學習框架,確保使用者無需花費太多設定時間即可直接投入工作。此外,Novita AI GPU Pods 提供免費的大容量儲存空間,且無傳輸費用,允許儲存大量資料和模型,例如 Llama-3-13b 模型。

此服務還提供快速附加和擴展磁碟區的功能,範圍從 5GB 到 PB 級,促進了容器和虛擬機器之間的無縫遷移。憑藉全球部署選項以及透過易於使用的 API 管理資源的能力,Novita AI GPU Pods 使得啟動、終止和重新啟動實例變得簡單明瞭,為執行 JupyterHub 提供了可靠且對開發者友善的 GPU 雲端解決方案。
加入社群以了解產品的最新變更!
結論
總結來說,JupyterHub 是一個很棒的協作資料科學專案工具,能讓您的工作流程處理更多任務。了解其運作方式以及如何正確設定,是有效使用它的關鍵。您可以透過按照自己的喜好設定使用者區域以及將其他工具整合進來,使事情變得更好。修復任何常見問題有助於一切順利運行。立即開始探索 JupyterHub 能為您的資料科學工作做些什麼!
Novita AI,一個提供無限創造力的一站式平台,讓您存取 100 多個 API。從圖像生成、語言處理到音訊增強和影片操作,按使用量付費且價格低廉,讓您在建立自己的產品時無需擔心 GPU 維護的麻煩。立即免費試用。
推薦閱讀:
