jupyterhub:jupyter笔记本的多用户服务器

jupyterhub的Python项目详细描述


技术概述| 安装| 配置| 码头工人| 贡献| 许可证| 帮助和资源

jupyterhub

pypidocumentation status构建状态circlecodecov.iogithubdiscussiongitterjupyter项目创建了jupyterhub以支持许多 用户。该中心可以为一班学生、一家公司提供笔记本服务器 数据科学工作组、科研项目或高绩效 计算组。

技术概述

三个主要演员组成了Jupyterhub:

  • 多用户轮毂(龙卷风过程)
  • 可配置http代理(节点-http代理)
  • 多个单用户jupyter笔记本服务器(python/jupyter/tornado)

操作的基本原则是:

  • 集线器启动代理。
  • 默认情况下,代理将所有请求转发到集线器。
  • 集线器处理登录,并根据需要生成单用户服务器。
  • 集线器将代理配置为将URL前缀转发到单用户笔记本 服务器。

Jupyterhub还提供 rest api 用于管理集线器及其用户。

安装

检查先决条件

  • 基于linux/unix的系统

  • 巨蟒3.5或更高版本

  • nodejs/npm

    • 如果您使用conda,nodejs和npm依赖项将安装为 由康达提供。

    • 如果您使用的是pip,请安装最新版本的 nodejs/npm。 例如,在linux(debian/ubuntu)上使用:

      sudo apt-get install npm nodejs-legacy
      

      nodejs legacy包安装可执行的节点 NPM在Debian/Ubuntu上工作所必需的。

  • 用于https通信的tls证书和密钥

  • 域名

安装软件包

使用conda

要安装jupyterhub及其依赖项(包括nodejs/npm):

conda install -c conda-forge jupyterhub

如果计划在本地运行笔记本服务器,请安装jupyter笔记本 或朱庇特实验室:

conda install notebook
conda install jupyterlab

使用pip

jupyterhub可以用pip安装,代理可以用npm安装:

npm install -g configurable-http-proxy
python3 -m pip install jupyterhub    

如果计划在本地运行笔记本服务器,则需要安装 Jupyter笔记本 包装:

python3 -m pip install --upgrade notebook

运行中心服务器

要启动集线器服务器,请运行命令:

jupyterhub

在浏览器中访问https://localhost:8000,并使用UNIX登录 PAM凭证。

注意:要允许多个用户登录到服务器,您需要 以特权用户(如根用户)的身份运行jupyterhub命令。 wikiwiki 描述如何以特权较低的用户身份运行服务器,这需要 系统的更多配置。

配置

开始部分 文档说明了设置jupyterhub的常见步骤。

jupyterhub教程 提供JupyterHub的深入视频和示例配置。

创建配置文件

生成包含设置和说明的默认配置文件:

jupyterhub --generate-config

启动轮毂

在特定的url和端口上启动集线器10.0.1.2:443使用https

jupyterhub --ip 10.0.1.2 --port 443 --ssl-key my_ssl.key --ssl-cert my_ssl.cert

验证器

<表><广告>验证器说明 < /广告><正文>Pamauthenticator默认,内置验证器oauthenticatoroauth+jupyterhub authenticator=oauthenticatorldapauthenticatorjup的简单ldap身份验证器插件ytHub kerberosauthenticator认证者用于jupyterhub的kerberos身份验证器插件

产卵者

<表><广告>产卵器说明 < /广告><正文>本地进程生成器默认情况下,内置的派生程序将单用户服务器作为本地进程启动dockerspowner在Docker容器中生成单用户服务器kubespownerJupyterhub的Kubernetes产卵器sudospowner生成没有根用户的单用户服务器systemdspawner使用systemd生成单用户笔记本服务器 批生成器为使用批量调度软件的群集设计yarnspawner生成分布在Hadoop群集上的单用户笔记本服务器包装雨篷wrappsweer和profilesspawner启用生成程序的运行时配置

码头工人

启动程序Jupyterhub的Docker映像 使用Docker提供Jupyterhub的基线部署。

重要信息:jupyterhub/jupyterhub图像仅包含中心本身, 没有配置。一般来说,我们需要制作一个派生图像 至少ajupyterhub_config.py设置身份验证器和/或生成程序。 运行可能与集线器在同一系统上的单用户服务器,或者 不是,必须安装Jupyter笔记本4或更高版本。

jupyterhub docker映像可以使用以下命令启动:

docker run -p 8000:8000 -d --name jupyterhub jupyterhub/jupyterhub jupyterhub

此命令将创建名为jupyterhub的容器 停止并继续使用Docker停止/启动

集线器服务将监听端口8000的所有接口,这使得 这是在台式机或笔记本电脑上测试jupyterhub的好选择。

如果你想在有公共IP的计算机上运行Docker,那么你应该 (必须如此)通过向Docker添加SSL选项来使用SSL保护它 配置或使用启用SSL的代理。

装入卷将 允许您将数据存储在Docker映像(主机系统)之外,这样即使您启动 新图像。

docker exec-it jupyterhub bash命令将在docker中生成一个根shell 容器。您可以使用根shell在容器中创建系统用户。 这些帐户将用于jupyterhub默认配置中的身份验证。

贡献

如果你想为这个项目做贡献,请阅读我们的 参与者文档 以及contribution.mdcontribution.md文件 解释如何设置开发安装,如何运行测试套件, 以及如何为文档做出贡献。

有关项目远景和下一个方向的高级视图,请参见 Jupyterhub社区路线图

关于平台支持的说明

基于linux/unix的系统支持jupyterhub。

jupyterhub正式不支持windows。你也许可以使用 如果您使用的是 windows,但jupyterhub默认值不会。Windows上报告的错误不会 被接受,测试套件将不会在Windows上运行。修补的小补丁 可能会接受Windows兼容性的小问题(如基本安装), 然而。对于基于Windows的系统,我们建议在 Docker容器或Linux虚拟机。

其他参考资料:tornado关于Windows平台支持的文档

许可证

我们使用共享版权模型,使所有贡献者能够维护 版权所有。

所有代码都是根据修订后的BSD许可证的条款获得许可的。

帮助和资源

我们鼓励您在jupyter邮件列表。 要参与开发讨论或获得帮助,请与我们讨论 我们的jupyterhub频道

jupyterhub遵循jupyter社区指南。


技术概述| 安装| 配置| 码头工人| 贡献| 许可证| 帮助和资源

欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
java为什么这段代码要打印空字符串?   java未知错误:由于标签页崩溃,会话被删除   布尔型上的java函数if-else   java最佳蚂蚁教程/快速入门?   JAVAutil。java中的扫描程序跳过do while循环中的扫描程序输入   java我们可以在selenium中使用ExpectedConditions和FluentWait来实现通用等待方法吗?   java如何使用gson库解析JSONObject   java GWT模拟Android LinearLayout的布局重量属性?   Java正则表达式重写日期表达式   java MediaPlayer播放我的MP3文件,但非常安静   java背景不显示javaFX   用于CLI的java quarkus开发模式,如何重新启动应用程序   websphere WSJdbcDataSource的java Jar文件   java Spring 4对象不会自动连接变量   java从Dbpedia定制本体/RDF图