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如何获取实体A的不同记录,该实体A与另一个实体B有一对多的关联,并按B记录的最新时间戳的最大值排序   JavaJSF导航参数依赖关系   具有短密文的java SecretKey匿名IBE   鼠标事件“找不到符号”错误的java解决方案   调用mediaplayer后使用java。停止我不能再发出声音了。为我解释开发参考?   java如何在序列化Avro消息时传递空值   java Sip Servlet未发送邀请请求   java根据规则访问节点,并删除链表中所有未访问的节点   Java 6上的jmockit测试用例必须使用Java代理吗?   JSF转换器f:convertDateTime是如何工作的?   java如何清除Firebase云数据库中的数组?   基于日期的列表java自定义排序   测量Java对象的内存消耗(完全“在应用程序中”)   故障终止/崩溃时的javafx Java(FX)故障保护警报?   java访问名称编码未知的文件   java如何在BlackBerry中绘制实心正方形?   java从JTextArea中删除边框   java可以使用另一个bean的属性来引用spring容器XML配置   数据透视表中具有相同列索引的java计数列