上篇地址

一、安装Jupyterhub

需要 nodenpm

~/anaconda3/envs/superset/lib/python3.7/site-packages/incubator-superset/jupyterhub文件夹下(jupyterhub为新建文件夹)

1.安装 jupyterhub和notebook

sudo python3 -m pip install jupyterhub
# 必须安装notebook
sudo python3 -m pip install --upgrade notebook

2.安装代理

sudo npm install -g configurable-http-proxy

3.安装认证插件

pip3 install jupyterhub-dummyauthenticator -i https://pypi.douban.com/simple/

4.测试安装

# 无报错,显示对应的帮助信息
jupyterhub -h
configurable-http-proxy -h

二、Jupyterhub配置

通过jupyterhub --generate-config命令生成配置文件jupyterhub_config.py

sudo chmod 777 jupyterhub_config.py改变权限

在文件最后添加:

# TODO CWJ
# 设置连接hub的url
c.JupyterHub.bind_url = 'http://127.0.0.1:8000'
# 编码
c.PAMAuthenticator.encoding = 'utf-8'
c.LocalAuthenticator.create_system_users = True
# 设置普通用户 管理员用户不需要加入白名单
c.Authenticator.whitelist = {'user1', 'user2', 'user3', 'user4'}  # 会创建用户,但没有密码 sudo passwd user4创建密码
# 管理员用户
c.Authenticator.admin_users = {'cwj0'}
# 多用户同时登录  没作用?
c.PAMAuthenticator.open_sessions = False
# 用户登出时关闭servers
c.JupyterHub.shutdown_on_logout = True# 跨域配置
c.JupyterHub.tornado_settings = {'headers': {'Content-Security-Policy': 'frame-ancestors self http://127.0.0.1:8088',}
}
c.Spawner.args = ['--NotebookApp.tornado_settings={"headers":{"Content-Security-Policy": "frame-ancestors self http://127.0.0.1:8088"}}','--NotebookApp.terminals_enabled=False'  # 禁止使用终端
]

三、启动Jupyterhub

1.设置多用户

在终端添加用户:

sudo adduser user1
输入两次密码
# sudo userdel -r username # -r 删除/home路径下的用户文件夹,否则不能
# sudo passwd user1创建密码

2.启动

一定要加sudo或以root启动,不然不能多用户登录

(superset) cwj0@ubuntu:~/anaconda3/envs/superset/lib/python3.7/site-packages/incubator-superset/jupyterhub$ sudo jupyterhub

报错 RuntimeError: Proxy failed to start with exit code 0

是由于8000和8001端口被占用, 使用 lsof -i:8000 命令找到占用这两个端口的 node进程并kill -9 pid杀掉。

四、嵌入Superset

最终结果

 

此次嵌入Superset基于 上一篇 博客修改,只是改一下端口和Superset源代码中的跳转按钮的名字。跨域已经在配置中设置。因为上一篇中Notebook不能用于多用户,所以使用这个。但是这个还有问题:

  • 用户操作产生的文件和文档这些都在服务器上,能不能使它产生在用户的本地?怎么做?
  • 用户可以在Jupyterhub直接操作终端,还可以向服务器上传文件,这样是不是不安全?该怎么做?
  • 或者这些在最终上线之后可以代理到本地(应该不行吧?)?不太懂。。

答:
禁用终端

c.Spawner.args = ['--NotebookApp.tornado_settings={"headers":{"Content-Security-Policy": "frame-ancestors self http://127.0.0.1:8088"}}','--NotebookApp.terminals_enabled=False'  # 禁止使用终端
]

操作文件在服务器:
  这些文件必须在服务器上,因为Jupyterhub它是在服务器上运行,如果在本地它就运行不了。就比如要运行一个.py文件,本地就必须要有Python环境。而这个环境是在服务器上,所以它这些文件就必须在服务器才能有这个环境,从而运行。

Jupyterhub嵌入Superset之Jupyterhub配置相关推荐

  1. superset mysql数据源配置_superset 性能优化1-已经使用中的superset更改默认数据源sqlite到mysql...

    已经使用中的superset更改默认数据源sqlite到mysql 1.提取sqlite db(由于当前使用 docker 需要到宿主) docker cp CONTAINER_NAME:/var/l ...

  2. Ubuntu安装anaconda + 配置jupyter-hub服务

    安装anaconda 清华镜像站下载anaconda.sh文件 安装anaconda #打开终端,转到anaconda.sh所在目录下并使用如下语句安装 bash anaconda.sh 配置anac ...

  3. jupyterhub安装与配置

    pip方式安装jupyterhub 一.安装依赖: 1.sudo apt install -y npm nodejs 若步骤1成功,直接跳至步骤3 2.本步骤非必须,若步骤1失败,则需要先执行:sud ...

  4. Jupyterhub安装配置及心得

    Jupyter简介 Jupyter是一款基于python的web notebook服务,目前有大多python数据挖掘与机器学习爱好者使用这款服务,其特性其实与Ipytohn Notebook差不多, ...

  5. jupyterHub安装,docker安装JupyterHub,JupyterLub,配置JupyterHub使用JupyterLab

    参考官方配置: https://jupyterhub.readthedocs.io/en/stable/index.html docker下安装jupyterHub jupyterhub简介 部署步骤 ...

  6. centos7.9下从0配置jupyterhub实现多用户使用全过程

    一.准备工作 1.1 nodejs的安装 在官网中 https://nodejs.org/zh-cn/download/选择对应的版本进行下载 我在这里选择直接在官网中通过浏览器工具找到真实下载地址后 ...

  7. 安装配置jupyterhub————附带详细步骤

    文章目录 0 现存问题 1 安装npm 2 安装Anaconda 3 安装Jupyterhub 4 修改配置文件 4.1 生成密码 4.2 修改配置 5 启动JupyterHub 0 现存问题 不知道 ...

  8. JupyterHub -安装与配置-简介

    目录 前言 安装jupyterhub 安装需求 安装JupyterHub 配置 启动Jupyterhub 前言 详见:JupyterHub - JupyterHub 2.3.0.dev documen ...

  9. TX2 配置jupyterhub踩坑记录

    TX2 配置jupyterhub踩坑记录 问题描述: 参考教程1和教程2进行安装,报错提示如下(应该是连不上本地http://127.0.0.1:8001/api/routes).但使用lsof -i ...

最新文章

  1. Pandas常见的性能优化方法
  2. 《图像处理实例》之 曲线之间距离求解
  3. sysbench性能压测以及mysql性能压测
  4. 流氓ONU问题分析和处理
  5. 5个IO口扫描25个按键的解决方法(转帖)
  6. 黑电平校正、FPN校正、平场校正、白平衡校正
  7. 基于Kebernetes 构建.NET Core技术中台
  8. 【面向对象】继承与封装
  9. Swift网络开发之NSURLSession学习笔记
  10. Atitit 项目通讯接口方案attilax总结.docx
  11. vivo S10 PRO怎么解锁vivoS10解锁平台刷机教程屏幕锁激活手机锁不记得了可以用这个方法教程重装系统固件软件程序使用方法流程
  12. mysql存储过程输出_MySQL存储过程
  13. 程序员眼中的中国传统文化-王阳明《传习录》17
  14. 如何带领好一个团队,管理的五条实用建议告诉你
  15. 【网络流量识别技术之初级入门篇】
  16. python刷网易云_GitHub - a744451680/python_wangyiyun: python 网易云打卡自动刷300
  17. vsftpd 操作手册 - 完整版
  18. python ip地址转换
  19. SpringCloud(五)Eureka服务注册与发现
  20. Anaconda下载simpleITK包和pytorch包

热门文章

  1. 【Linux】Linux中gcc/g++的使用
  2. TimesTen 数据库复制学习:4. 定义Active Standby Pair复制策略
  3. 荣耀帐号服务,提升用户使用体验
  4. 微信小程序 文字下标_微信小程序循环下标 微信小程序怎么做
  5. matlab中sr锁存器,VHDL中的简单SR锁存器仿真(带Xilinx)不会振荡
  6. uniapp中使用canvas 画海报总结
  7. 从简历被拒,到 Android 面试。二本如何在 359 天成功拿下 offer
  8. 嵌入式软件开发常用的三种架构
  9. 算法提高 十进制数转八进制数
  10. 黑洞超级计算机,超级计算机模拟:解开粒子从黑洞中逃脱之谜