美文网首页
多用户 JupyterHub 部署及 GitHub 用户认证 (

多用户 JupyterHub 部署及 GitHub 用户认证 (

作者: 吴聊有料 | 来源:发表于2021-04-13 12:00 被阅读0次

    最近工作上,领导希望将分析师在各自电脑上的分析环境和任务脚本进行统一管理,要求我给出一个解决方案。而分析师使用的工具是

    Jupyter,我自然而然的想到了官方的 JupyterHub。经过调研,发现 JupyterHub

    完全能满足需求,而且对分析师来说学习成本几乎为零。于是我便花了一天的时间部署了一个多用户 JupyterHub 测试环境,并配置好 GitHub

    认证。下面和大家分享一下我的部署过程。

    01/ 环境

    根据 JupyterHub 安装要求,我准备好了如下环境:

    系统环境:CentOS 7.6

    语言环境:Python 3.6,NodeJS 14.16

    02/ 安装 JupyterHub 及配置 Nginx 反向代理

    JupyterHub 安装非常简单,可以直接使用 pip 进行安装。按如下命令即可进行安装:

    npminstall-g configurable-http-proxy

    python3 -m pipinstalljupyterhub

    安装完成后,创建一个 JupyterHub 运行目录,进入该目录,先生成配置文件,然后启动:

    jupyterhub --generate-configjupyterhub

    启动后,在浏览器输入:

    http://127.0.0.1:8000

    就能访问 JupyterHub 了,此时会自动跳转到登录页。

    JupyterHub 支持多种账号身份认证,你甚至可以自己实现一个认证器。我使用的是 GitHub 认证器进行账号认证,后面我再讲如何对接 GitHub 认证对接。

    为了让分析师更好的使用 JupyterHub,我申请了一个域名,使用 Nginx 反向代理到 JupyterHub 到 8000 服务上。我使用 Linux 的 Systemd 来启动 JupyterHub 的守护进程,创建一个名为 jupyterhub.service 的 Unit 配置,如下:

    [Unit]
    Description=The JupyterHub Service
    After=syslog.target network.target

    [Service]
    User=root
    Restart=always
    WorkingDirectory=/path/to/jupyterhub
    PrivateTmp=yes
    PrivateDevices=yes
    ExecStart=/usr/bin/python3 -m jupyterhub -f jupyterhub_config.py --upgrade-db

    [Install]
    WantedBy=multi-user.target

    配置好 JupyterHub 的 Systemd 服务后,就可以使用如下命令来管理 JupyterHub 服务了。

    systemctl start jupyterhub.service
    systemctl stop jupyterhub.service

    接着就可以配置 Nginx 反向代理了.....

    详情移步阅读:《多用户 JupyterHub 部署及 GitHub 用户认证》

    相关文章

      网友评论

          本文标题:多用户 JupyterHub 部署及 GitHub 用户认证 (

          本文链接:https://www.haomeiwen.com/subject/xtgqlltx.html