jupyterhub/jupyterhub

Multi-user server for Jupyter notebooks

解决的问题

JupyterHub 是一个多用户服务器,允许多个用户拥有各自独立的 Jupyter notebook 服务器。它解决了为学生群体、企业数据科学团队或研究项目提供集中管理环境的问题,使每个用户无需手动设置自己的服务器即可访问交互式计算环境。

工作原理

JupyterHub 由三个主要组件组成:

  1. The Hub:一个中央 Tornado 进程,负责处理身份验证并按需启动单用户服务器。
  2. The Proxy:一个可配置的 HTTP 代理 (node-http-proxy),将请求转发到 Hub 或相应的单用户服务器。
  3. Single-user Servers:每个用户独立的 Python/Jupyter/Tornado 实例的 Jupyter notebook 服务器。

当用户登录时,Hub 会配置代理,将流量路由到该用户特定的笔记本服务器。

适用对象

专为需要在共享基础设施上为大量用户提供交互式计算环境的组织、教育工作者和研究小组设计。

亮点

  • 灵活的身份验证:支持包括 PAM、OAuth、LDAP 和 Kerberos 在内的各种身份验证器。
  • 可扩展的启动:可以通过 Docker、Kubernetes、systemd 和 Hadoop 集群 (YARN) 等 spawner 在各种环境中启动服务器。
  • 管理控制:提供用于管理 Hub 及其用户的 REST API。
  • Docker 支持:提供基础 Docker 镜像以实现简化部署。

相关

  • 项目
  • 项目
  • 项目
  • 项目
  • Dispatch