JupyterHub是一款支持多用户的Jupyter笔记本服务器,它能为多个用户提供独立的交互式计算环境,允许用户通过网页浏览器访问并运行Jupyter笔记本,广泛应用于教学、科研团队协作及企业数据科学项目,方便管理员集中管理用户账户、分配资源和维护计算环境,确保不同用户在共享服务器资源时既能高效协作又能保持各自工作的独立性与安全性。
收藏数: 347
下载次数: 6342115
类型:
jupyterhub/jupyterhubJupyterHub 是一个多用户 Hub 系统,可用于启动、管理多个单用户 Jupyter 笔记本服务器实例并提供代理服务。它由 Project Jupyter 开发,适用于学生班级、企业数据科学团队、科研项目或高性能计算小组等多用户场景,支持多人同时使用 Jupyter 笔记本。
JupyterHub 包含三个核心组件:
基本运行流程:
此外,JupyterHub 提供 REST API 用于 Hub 和用户的管理。
安装 JupyterHub 及其依赖(含 nodejs/npm):
bashconda install -c conda-forge jupyterhub
若需本地运行笔记本服务器,需额外安装 JupyterLab 或 Jupyter Notebook:
bashconda install jupyterlab # 或 conda install notebook
先安装代理,再安装 JupyterHub:
bashnpm install -g configurable-http-proxy # 安装代理 python3 -m pip install jupyterhub # 安装 JupyterHub
若需本地运行笔记本服务器,安装 JupyterLab 或 Jupyter Notebook:
bashpython3 -m pip install --upgrade jupyterlab # 或 python3 -m pip install --upgrade notebook
运行以下命令启动 Hub:
bashjupyterhub
访问 `[***]
注意:若需支持多用户登录,需以特权用户(如 root)身份运行
jupyterhub命令。如需以非特权用户运行,需额外配置系统环境,详见 官方文档。
生成默认配置文件(含配置项说明):
bashjupyterhub --generate-config
指定 IP、端口及 HTTPS 证书启动 Hub(示例):
bashjupyterhub --ip 10.0.1.2 --port 443 --ssl-key my_ssl.key --ssl-cert my_ssl.cert
| 认证器名称 | 说明 |
|---|---|
| PAMAuthenticator | 默认内置认证器 |
| OAuthenticator | 基于 OAuth 的认证器 |
| ldapauthenticator | LDAP 认证插件 |
| kerberosauthenticator | Kerberos 认证插件 |
| 启动器名称 | 说明 |
|---|---|
| LocalProcessSpawner | 默认内置,以本地进程形式启动单用户服务器 |
| dockerspawner | 在 Docker 容器中启动单用户服务器 |
| kubespawner | 基于 Kubernetes 的启动器 |
| sudospawner | 无需 root 权限即可启动单用户服务器 |
| systemdspawner | 使用 systemd 启动单用户服务器 |
| batchspawner | 适用于批处理调度集群 |
| yarnspawner | 在 Hadoop 集群中分布式启动单用户服务器 |
| wrapspawner | 支持运行时配置启动器的包装器 |
JupyterHub 提供基础 Docker 镜像 quay.io/jupyterhub/jupyterhub,但仅包含 Hub 本身,无默认配置。通常需基于此镜像构建衍生镜像,添加 jupyterhub_config.py 以配置认证器和启动器。单用户服务器需安装 Jupyter Notebook 4.0 及以上版本。
bashdocker run -p 8000:8000 -d --name jupyterhub quay.io/jupyterhub/jupyterhub jupyterhub
jupyterhub,可通过 docker stop/start jupyterhub 停止/恢复docker exec -it jupyterhub bash 进入容器,创建系统用户用于认证若需参与项目贡献,可参考 贡献者文档 和 CONTRIBUTING.md,内容包括开发环境搭建、测试套件运行及文档贡献方法。项目愿景和 roadmap 详见 JupyterHub 社区路线图。
JupyterHub 官方支持 Linux/Unix 系统,不支持 Windows。Windows 环境下可能需通过 Docker 容器或 Linux 虚拟机运行。
项目采用共享版权模式,所有代码基于 BSD 修订许可证 开源。
技术概览 | 安装 | 配置 | Docker 部署 | 贡献指南 | 许可证 | 帮助与资源
以下是 jupyterhub/jupyterhub 相关的常用 Docker 镜像,适用于 不同场景 等不同场景:
您可以使用以下命令拉取该镜像。请将 <标签> 替换为具体的标签版本。如需查看所有可用标签版本,请访问 版本下载页面。
manifest unknown 错误
TLS 证书验证失败
DNS 解析超时
410 错误:版本过低
402 错误:流量耗尽
身份认证失败错误
429 限流错误
凭证保存错误
来自真实用户的反馈,见证轩辕镜像的优质服务