本篇文章为实验室工作站的jupyterhub安装配置笔记,由于软硬件等各种区别,安装过程难免有所区别,仅供大家参考。

实验室新到一台深度学习工作站,原本想装一个juoyter notebook直接开干,但是突然想到jupyter不支持多用户同时使用,因此决定装一个jupyterhub方便大家使用(虽然目前只有我用)

参考文章:https://www.jianshu.com/p/0285feaa2ba2(文章所使用的命令有稍许拼写错误,以及路径改变,推荐按照本人笔记进行安装,若安装过程遇到其他问题,欢迎在本页面留言讨论)

机器环境:lsb_release -a

Distributor ID: Ubuntu
Description: Ubuntu 18.04 LTS
Release: 18.04
Codename: bionic

ubuntu源配置

首先将ubuntu源切换到速度较快的源,例如清华源

更新

$ sudo apt-get update #从软件源获取最新软件列表
$ sudo apt-get upgrade #根据软件列表更新本机软件

然后安装一下链接中提到的这些软件

$ sudo apt-get -y install git gcc g++ make openssl libssl-dev libbz2-dev libreadline-dev libsqlite3-dev python-dev libmysqlclient-dev

python环境的配置,首先进入root账户,以便之后配置的jupyter能够所有用户访问

$ sudo su

安装pyenv

$ cd /opt
$ git clone https://github.com/yyuu/pyenv.git pyenv

用vim打开~/.bashrc后(vim ~/.bashrc),添加如下的配置

export PYENV_ROOT="/opt/pyenv"
if [ -d "${PYENV_ROOT}" ]; then
export PATH=${PYENV_ROOT}/bin:$PATH
eval "$(pyenv init -)"
fi

然后读取新添加的配置

source ~/.bashrc

通过pyenv来安装anaconda

$ pyenv install anaconda3-5.3.0

然而由于网络环境原因,这一步始终无法下载,尝试使用替代方法,先手动从清华anaconda源下载anaconda-5.3.0的安装包,然后放入pyenv的根目录(上面配置过)/opt/pyenv,这样pyenv install就会自动识别到已经下载的安装包开始安装

$ cd /opt/pyenv
$ wget https://mirrors.tuna.tsinghua.edu.cn/anaconda/archive/Anaconda3-5.3.0-Linux-x86_64.sh
$ pyenv install anaconda3-5.3.0
$ pyenv global anaconda3-5.3.0

利用conda安装jupyterhub和它使用的notebook

首先将conda切换为清华源(清华开源社区什么时候来把广告费结一下)

$ vim ~/.condarc

将内容修改为

channels:
- defaults
show_channel_urls: true
default_channels:
- https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/main
- https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/free
- https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/r
custom_channels:
conda-forge: https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud
msys2: https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud
bioconda: https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud
menpo: https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud
pytorch: https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud
simpleitk: https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud

开始安装(强迫症表示必须加-v)

$ conda install -v -c conda-forge jupyterhub
$ conda install -v notebook

生成jupyter的配置文件

$ mkdir /etc/jupyterhub
$ cd /etc/jupyterhub
$ jupyterhub --generate-config

jupyter的启动配置

$ echo jupyterhub -f /etc/jupyterhub/jupyterhub_config.py > jupyterhub.sh
$ echo su -l root /etc/jupyterhub/jupyterhub.sh \& >> /etc/rc.local

配置jupyterhub用户

$ vim /etc/jupyterhub/jupyterhub_config.py #这一步大家注意,后续如果遇到http 500问题的话删除该jupyter_config.py文件或许会解决,目前我也不清楚是什么原因
  • 普通用户
c.Authenticator.whitelist = {'testuser'}
  • 管理员用户
c.JupyterHub.admin_users = { 'ubuntu' }

启动jupyterhub

接下来直接启动jupyterhub就可以使用了

$ jupyterhub

或者使用nphup在后台启动

$ nohup jupyterhub > jupyterhub.log &

至此安装完毕,在浏览器访问服务器ip+端口地址即可使用

实验室工作站jupyterhub安装笔记的更多相关文章

  1. 基于Ubuntu14.04系统的nvidia tesla K40驱动和cuda 7.5安装笔记

    基于Ubuntu14.04系统的nvidia tesla K40驱动和cuda 7.5安装笔记 飞翔的蜘蛛人 注1:本人新手,文章中不准确的地方,欢迎批评指正 注2:知识储备应达到Linux入门级水平 ...

  2. Mac 基于Anaconda的TensorFlow安装笔记

    最近在中国大学MOOC平台学习北大的曹健老师上的“人工智能实践——Tensorflow”课程,开始我的人工智能之旅.第一天,讲解如何搭建实验室环境,我是mac系统,所以只写mac系统上的实验室环境安装 ...

  3. [转载]centos 7(1611)安装笔记

    centos 7(1611)安装笔记   麻烦 前天我把双系统笔记本里的 deepin 的磁盘分区直接从 Windows 7 磁盘管理里格式化了,结果悲催了,开不了机了,显示: 我以为是 Window ...

  4. MonoDevelop 4.2.2/Mono 3.4.0 in CentOS 6.5 安装笔记

    MonoDevelop 4.2.2/Mono 3.4.0 in CentOS 6.5 安装笔记 说明 以root账户登录Linux操作系统,注意:本文中的所有命令行前面的 #> 表示命令行提示符 ...

  5. sublime 安装笔记

    sublime 安装笔记 下载地址 安装package control 根据版本复制相应的代码到console,运行 按要求重启几次后再按crtl+shift+p打开命令窗口 输入pcip即可开始安装 ...

  6. docker在ubuntu14.04下的安装笔记

    本文主要是参考官网教程进行ubuntu14.04的安装. 下面是我的安装笔记. 笔记原件完整下载: 链接: https://pan.baidu.com/s/1dEPQ8mP 密码: gq2p

  7. ArchLinux 安装笔记:续 --zz

    续前话 在虚拟机里调试了几天,终于鼓起勇气往实体机安装了,到桌面环境为止的安装过程可以看我的前一篇文章<ArchLinux 安装笔记>.桌面环境我使用的是 GNOME,虽然用了很长一段时间 ...

  8. Hadoop1.x与2.x安装笔记

    Hadoop1.x与2.x安装笔记 Email: chujiaqiang229@163.com 2015-05-09 Hadoop 1.x 安装 Hadoop1.x 集群规划 No 名称 内容 备注 ...

  9. PHP7安装笔记

    PHP7安装笔记 时间 -- :: 喵了个咪 原文 http://www.hdj.me/php7-install-note 主题 PHP # 安装mcrypt yum install -y php-m ...

随机推荐

  1. Period UVALive - 3026

    For each prefix of a given string S with N characters (each character has an ASCII code between 97 a ...

  2. Django学习笔记(一):第一个django程序

    1.创建和运行 django-admin startproject xxx python manage.py runserver 2.第一个项目程序 wsgi.py中文名:python服务器网关接口. ...

  3. Vue兄弟组件通信

    Vue兄弟组件通信之借助中央事件总线 下载链接:https://www.yinxiangit.com 其实要实现兄弟组件通信,就算是通过父子组件通信的方式也是可以达到的,如 子 ——>父——&g ...

  4. eclipse中注释模板使用

    步骤: Window -->Preferences-->Java-->Code Style -->Code Templates-->Comments 1.Files可对整 ...

  5. 基于Python的多线程与多进程

    1.I/O密集型与计算密集型 多进程适用于I/O密集型 多进程适用于计算密集型 2.没有sleep(T)的多个死循环只能用多进程 3.模块介绍: 1)threading模块(_thread模块已淘汰) ...

  6. 操作系统原理之I/O设备管理(第六章上半部分下)

    五.I/O软件原理 输入输出软件的总体目标是将软件组织成一种层次结构 低层软件用来屏蔽硬件的具体细节 高层软件则主要是为用户提供一个简洁.规范的界面 设备管理的4个层次: 用户层软件 ->向系统 ...

  7. 004:CSS三大重点之二:浮动(拖标、不占位置、转行内块)

    目录 1:拖标.不占位.转行内块 2:首先浮动的盒子需要和标准流的父级搭配使用,其次 特别的注意浮动可以使元素显示模式体现为行内块特性. 3:清除浮动 前言 CSS的定位机制有3种:普通流(标准流). ...

  8. 让API实现版本管理的实践

    API版本管理的重要性不言而喻,对于API的设计者和使用者而言,版本管理都有着非常重要的意义.下面会从WEB API 版本管理的角度提供几种常见办法: 首先,对于API的设计和实现者而言,需要考虑向后 ...

  9. 2019年9月3日安卓凯立德全分辨率(路况)夏季版C3551-C7M24-3K21J25懒人包

    拷贝懒人包NaviOne文件夹到机器根目录或内存卡根目录下:安装其中的apk程序 2019凯立德C3551-C7M24-3K21J25新组合懒人包 [分辨率]:自适应 [适用系统]:Android2. ...

  10. java数据结构——数组(Array)

    数据结构+算法是我们学习道路上的重中之重,让我们一起进步,一起感受代码之美! /** * 让我们从最基本的数据结构——数组开始吧 * 增.删.改.查.插.显示 */ public class Seql ...