JupyterHub 安装:一步步指南

JupyterHub 安装:一步步指南

关键亮点

  • JupyterHub 是一款免费工具,可让您与他人同时使用 Jupyter Notebook。
  • 借助它,数据科学项目的协作变得更加轻松,并且可以轻松扩展这些项目。
  • 要准备好它,您需要设置类似虚拟计算机空间的东西,并根据需要调整 JupyterHub。
  • 安装 JupyterHub 的方法有多种;使用 Docker、Conda 或 Pip 是其中一些方法。
  • 使用 JupyterHub 时,通常需要 GPU 来提升性能。

简介

JupyterHub 是数据科学家和机器学习爱好者的实用工具。它通过互联网促进 Jupyter Notebook 的协作工作,允许通过 Web 浏览器访问共享笔记本,无需本地安装。这个集中式平台使团队能够通过共享代码和工具高效地协作数据科学项目。此外,JupyterHub 通过无缝容纳更多用户和增加的计算需求,简化了项目扩展。我们的指南提供了在本地机器上设置 JupyterHub 的分步说明,涵盖安装、配置和优化,适用于从数据科学初学者到专家的各个用户水平。此外,您还可以使用 Novita AI GPU Pods 运行 Jupyter 框架以获得更高性能。

理解 JupyterHub

在深入设置 JupyterHub 之前,让我们了解它的机制。JupyterHub 是一款免费工具,它创建了一个共享的 Jupyter Notebook 空间,充当管理多个用户个人笔记本服务器的中心枢纽。它作为可通过 Web 浏览器或命令行访问的在线应用程序运行,处理用户登录、服务器设置以及用户与其笔记本之间的通信。

当用户通过浏览器登录 JupyterHub 时,集线器服务器会验证他们并设置一个个人笔记本服务器。这允许用户在一个熟悉的界面中运行 Python 脚本或分析数据,使得无缝继续工作变得容易,就像他们本地运行 Jupyter 一样。

探索 JupyterHub 的组件

为了理解 JupyterHub,让我们探讨其关键组件。集线器服务器无缝管理用户登录、个人服务器设置以及用户和其笔记本之间的数据传输。

为了增强安全性和隐私性,JupyterHub 在 Docker 容器中运行用户服务器。这种设置确保每个用户的工作区保持有序和隔离,促进大数据项目上的顺利协作。

Jupyter Notebook 是魔法发生的地方。它提供了一个在线空间,用于编码、创建可视化以及记录数据分析步骤。用户可以轻松地将他们的工作作为结合代码、解释和视觉效果的交互式文档共享。

JupyterHub 与 JupyterLab 与 Jupyter Notebook

虽然 JupyterHub 提供了一个用于托管和管理 Jupyter Notebook 服务器的平台,但理解 JupyterHub、JupyterLab 和 Jupyter Notebook 之间的区别很重要。

Jupyter Notebook 是 JupyterHub 提供的原始界面,允许用户创建和运行笔记本。它提供了一个用户友好的界面,用于编写代码、创建可视化以及记录数据分析工作流。另一方面,JupyterLab 是 Jupyter Notebook 的扩展版本,提供了更强大和灵活的用户界面。它提供了一个模块化和可扩展的数据科学任务环境,允许用户在一个工作区中排列多个笔记本、代码编辑器和其他工具。

以下是比较表,突出显示 JupyterHub、JupyterLab 和 Jupyter Notebook 之间的差异:

虽然 JupyterHub 为多个用户提供基础设施和管理能力,但 JupyterLab 和 Jupyter Notebook 是用户与之交互以编写和执行代码的界面。

为什么使用 JupyterHub?

对于在数据科学或机器学习项目上合作的团队,特别是在扩大操作规模时,JupyterHub 带来了许多优势。以下是您可能考虑使用 JupyterHub 的原因:

简化协作数据科学工作流

在数据科学项目中合作非常重要,JupyterHub 通过让每个人都使用同一个集线器服务器,使得合作变得更加容易。这样一来,当用户通过他们的 Web 浏览器登录时,每个人都可以使用 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 myenv/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。然后,打开您的 Web 浏览器;现在,您将能够使用您选择的任何登录方法登录 JupyterHub。

通过按照您的方式设置 JupyterHub,您可以让它完全按照您的需要运行。

步骤 4:启动您的 JupyterHub 服务器

一旦您完成了所有设置,就该启动您的 JupyterHub 服务器了。为此,请打开终端或命令行,输入启动服务器所需的命令。您需要提供 JupyterHub 在网络上所在的 IP 地址或主机名。启动服务器后,打开一个 Web 浏览器,输入该 IP 地址或主机名以及给定的端口号。此操作会将您带到 JupyterHub 的登录屏幕。在这里,通过输入您的用户名和密码,您就可以开始探索 JupyterHub 为您提供的功能了。

步骤 5:添加用户和管理权限

要设置您的 JupyterHub 服务器以便添加人员并决定他们可以做什么,您需要使用称为认证器的东西。默认的认证器是 PAM(可插拔认证模块)。使用此模块,JupyterHub 运行的服务器上的现有账户将用于登录。这意味着每个人都将有自己的用户名和密码来访问 JupyterHub 服务器。还有其他无需多个密码的登录方式,如 OAuth 和 GitHub,它们允许用户只需一次登录即可访问不同的服务。通过处理谁获得什么级别的权限或访问权,您基本上决定了谁可以在您的 JupyterHub 服务器上做什么以及如何使用其功能。

在 GPU 云上运行 JupyterHub

在 GPU 云服务器(如 Novita AI GPU Pods)上运行 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 维护烦恼。免费试用。

推荐阅读:

  1. GPU 供电:通过这些技巧最大化性能
  2. RTX A2000 与 RTX 3090 GPU 性能对比