安装 JupyterHub 踩坑指南 —— 如何通过 JupyterHub 实现多用户管理
安装 JupyterHub 踩坑指南
- JupyterHub 简介
- Jupyter Notebook and JupyterLab
- Jupyter Notebook 简介
- JupyterLab 简介
- 安装 JupyterHub
- 启动 JupyterHub
- 配置 jupyterhub_config.py 小结
- 在原有基础上配置HTTPS服务
- 配置GitHub登入
- 更新 ing
- 关于作者
实验环境
Ubuntu / Debian
Python3.5+
JupyterHub 简介
JupyterHub是为多个用户提供Jupyter notebook / Jupyterlab的最佳方法。它可以用于一类学生,公司数据科学小组或科学研究小组。它是一个多用户集线器,可以生成,管理和代理单用户Jupyter notebook / Jupyterlab服务器的多个实例。
tips:JupyterHub是为多个用户提供 notebook / jupyterlab 的最佳方法,所以请确保notebook和jupyterhub是否安装成功。
Jupyter Notebook and JupyterLab
JupyterHub是管理Notebook / JupyterLab的工具,在了解JupyterHub之前,我们有必要去了解一下Notebook 和 JupyterLab的功能。
Jupyter Notebook 简介
Jupyter Notebook是一个开源Web应用程序,允许您创建和共享包含实时代码,方程式,可视化效果和叙述文本的文档。用途包括:数据清理和转换,数值模拟,统计建模,数据可视化,机器学习等。
JupyterLab 简介
JupyterLab是用于Jupyter notebooks,代码和数据的基于Web的交互式开发环境。JupyterLab非常灵活:配置和安排用户界面以支持数据科学,科学计算和机器学习中的各种工作流程。JupyterLab是可扩展的且模块化的:编写可添加新组件并与现有组件集成的插件。
Jupyter Notebook / JupyterLab 作为功能服务,JupyterHub则帮助多个用户使用这个功能服务
安装 JupyterHub
更新 pip 版本
python3 -m pip install --upgrade pip
安装 npm 和 nodejs
apt-get update
# 更新
sudo apt-get install npm
# 安装npm
sudo npm install n -g
# 安装n模块
sudo n lts
# 安装最新长期支持版 node。不要低于版本12
安装 Jupyter Notebook
pip install notebook
安装 JupyterLab
pip install jupyterlab
tips:根据自己的要求安装对应的功能服务 (jupyter notebook / jupyterlab)
安装 JupyterHub
sudo npm install -g configurable-http-proxysudo python3 -m pip install jupyterhub
启动 JupyterHub
检查 /etc/hosts 文件内是否有关于 hostname 的域名解析
vi /etc/hosts127.0.0.1 【HOSTNAME】
# 将【HOSTNAME】替换为对应的值
生成 jupyterhub_config.py
jupyterhub --generate-config -f 【PATH】
# 将【PATH】替换为对应的文件位置。若不指定PATH,则默认为当前文件夹
配置 jupyterhub_config.py
#c.Spawner.default_url = '/lab'
# /lab对应jupyterlab 默认为notebook
c.JupyterHub.port = 80
# 指定暴露端口
c.PAMAuthenticator.encoding = 'utf8'
c.Authenticator.whitelist = {'root','admin', 'jupyter', 'aiker'}
# 指定可使用用户
c.LocalAuthenticator.create_system_users = True
c.Authenticator.admin_users = {'root', 'admin'}
# 指定admin用户
c.JupyterHub.statsd_prefix = 'jupyterhub'
c.Spawner.notebook_dir = '/volume1/study/'
#jupyterhub自定义目录
c.Spawner.cmd=['jupyterhub-singleuser']
默认情况下,要真正的实现分配用户账号,需要满足以下两点要求:
- c.Authenticator.whitelist 指定了用户名
- 在系统中创建了该用户(adduser / useradd)
tips: 默认情况下,密码为系统中该用户对应的密码
在存放jupyterhub_config.py的文件夹下执行jupyterhub
启动服务
配置 jupyterhub_config.py 小结
在原有基础上配置HTTPS服务
c.JupyterHub.port = 443
# 更换端口为443c.JupyterHub.ssl_cert = '【对应的 fullchain.pem 位置】'
c.JupyterHub.ssl_key = '【对应的 privkey.pem 位置】'
重新启动即可实现 https 的配置
配置GitHub登入
官方文档
1. 首先,需要创建一个GitHub OAuth应用程序
创建GitHub OAuth应用程序
2. 配置jupyterhub_config.py
根据创建OAuth应用时的信息,添加以下配置信息即可
from oauthenticator.github import GitHubOAuthenticator
c.JupyterHub.authenticator_class = GitHubOAuthenticator
import os
os.environ['GITHUB_CLIENT_ID'] = '【对应的CLIENT ID值】'
os.environ['GITHUB_CLIENT_SECRET'] = '【对应的CLIENT SECRET值】'
os.environ['OAUTH_CALLBACK_URL'] = 'http://【URL PATH】/hub/oauth_callback'
更新 ing
关于作者
联系方式 MTI5MDAxNzU1NkBxcS5jb20=
你也可以通过 github | csdn | @新浪微博 关注我的动态
欢迎评论关注+点赞啊!
安装 JupyterHub 踩坑指南 —— 如何通过 JupyterHub 实现多用户管理相关推荐
- helm3安装mysql_Helm3(kubernetes包管理工具)安装使用踩坑指南
image.png 从结构中我们看到有不同级别的文件夹,以及一些yaml文件. charts: 用于存放其他依赖和关联的chart.例如应用依赖数据库的chart. Chart.yaml:存储一些元数 ...
- Flutter安装和踩坑指南(windows)
Flutter是谷歌的移动UI框架,可以快速在iOS和Android上构建高质量的原生用户界面. Flutter可以与现有的代码一起工作.在全世界,Flutter正在被越来越多的开发者和组织使用,并且 ...
- TX2 配置jupyterhub踩坑记录
TX2 配置jupyterhub踩坑记录 问题描述: 参考教程1和教程2进行安装,报错提示如下(应该是连不上本地http://127.0.0.1:8001/api/routes).但使用lsof -i ...
- openssl开发库安装时的踩坑指南
序 前几天用linux编译一个提权脚本的时候报错 openssl/opensslv.h: 没有那个文件或目录 的问题 无论如何也解决不了,这下我记录一个踩坑指南防止下一个人掉进坑里 操作 总体介绍 首 ...
- pytorch .item_从数据到模型,你可能需要1篇详实的pytorch踩坑指南
原创 · 作者 | Giant 学校 | 浙江大学 研究方向 | 对话系统.text2sql 熟悉DL的朋友应该知道Tensorflow.Pytorch.Caffe这些成熟的框架,它们让广大AI爱好者 ...
- Git Commit Message校验踩坑指南
背景 在团队多人开发中,规范的commit message可以快速定位代码提交历史,回溯问题根源,方便组内多人协作,提高团队效率. 本篇文章主要包含以下两方面内容: commitizen/cz-cli ...
- 阿里云天池【Docker练习场】踩坑指南
阿里云天池[Docker练习场]踩坑指南 题目直达 提交环境搭建(基于macOS) Docker的安装与基本功能使用 Docker安装过程遇到的小问题 提交结果注意事项 提交时的镜像配置 项目结构规范 ...
- android手机屏幕共享神器踩坑指南
开源项目地址:https://github.com/Genymobile/scrcpy scrcpy,由 Genymobile 推出的可跨平台的.可自定义码率的.开源的屏幕共享工具.它提供了在 USB ...
- Android applink 踩坑指南
Android applink 踩坑指南 原理 接入步骤 将链接与activity关联起来 加入meta data 生成身份验证JSON 真机测试 结论 官方文档 原理 与url scheme不同的地 ...
最新文章
- 常用windows命令
- 解释性的语言vs编译性语言
- numpy.divide详解
- 八种 WebSocket 框架的性能比较
- 趣链 BitXHub跨链平台 (7)应用链插件
- 文件上传漏洞——upload-labs(11-20)
- Boost:额外的bimap的测试程序
- Java System类console()方法及示例
- 新分类!全总结!最新Awesome-SLU-Survey资源库开源!
- Java练习 SDUT-3338_计算各种图形的周长(接口与多态)
- 20145206《Java程序设计》实验五Java网络编程及安全
- CS 客户端不引用AE
- C++ String16与const char*及char*与vector相互转换
- python基础学习笔记3
- Android ViewModel组件详解
- Zabbix安装记录
- 【codevs4093】 EZ的间谍网络 强连通分量+tarjan缩点
- 英语六级常考核心词汇01
- IP Camera 基础知识
- 阜阳市计算机学校助学金申请书,计算机专业学生助学金申请书范文
热门文章
- Pr-PEI 蛋白质-聚乙烯亚胺/Glu-PEI 葡萄糖-聚乙烯亚胺/E1105-PEI 溶菌酶-聚乙烯亚胺
- 2016苹果产品发布会重点整理
- Navicat数据库复制的两种方式
- 正向代理、反向代理以及透明代理与隐私保护
- 简便高效的视频转换:四种免费MP4格式转换器推荐
- 微前端框架chunchao(春潮)开源啦
- 如何为Microsoft Office安装和使用加载项
- (一)Activiti 数据库25张表——运行实例表15(ACT_RU_TASK)
- java tlab_「原创」JVM系列05|TLAB上分配
- 反弹shell的N种姿势