本篇文章为实验室工作站的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. 疯狂的bLue

    疯狂的bLue Time Limit: 1000MS Memory Limit: 65536KB Submit Statistic Problem Description 众所周知神秘的 ACM 实验 ...

  2. HDFS 读写流程-英

    HDFS 文件读取流程 The client opens the file it wishes to read by calling open() on the FileSystem object, ...

  3. ubuntu下创建定时任务的两种方式及常见问题解决方案

    创建定时任务的目的就是摆脱人为对程序重复性地运行. 0. 首先用下面的指令检查你是否安装crontab, crontab -l 如果本身就有的话,那么出现如下指令 LC_CTYPE="zh_ ...

  4. 3.python之文件操作

    一.文件操作初识 f = open('文件路径', '编码方式', '操作方式') # 注意里面所有内容,需加引号 ” 打开一个文件需要知道的内容有: 文件路径:c:\文件.txt(绝对路径和相对路径 ...

  5. c语言实现数组的排序

      本文章只对选择排序和冒泡排序进行介绍 选择排序实际上是从0到length-1,选择某个元素与其他的元素进行大小比较,如果大于就交换,其他情况不做操作,如图: 冒泡排序实际上是先选择某个元素,然后从 ...

  6. PHP如何解决表单重复提交

    利用session   表单隐藏域中存放session(表单被请求时生成的标记).采用此方法在接收表单数据后,检查此标志值是否存在,先进行删除,然后处理数据; 若不存在,说明已提交过,忽略本次提交. ...

  7. 把windows下的压缩包放到Linux目录下去

    今天在自学redis时出现了问题,因为楼主linux也是空白纸,前几天安装了Linux后就只会基本的命令,其他的一概不通啊,所以当redis要在Linux中用时就傻眼了,索性就在windows中下载了 ...

  8. javase复习(一)

    break,continue,return区别: continue:跳出本次循环,还要再执行下次循环 break:跳出循环,若有多层循环则只跳出本层循环,其他层的循环需要挨个break return: ...

  9. 关于纯xmlhttprequest请求服务器数据

    今天我们的web技术已经相当的完善, 各种前端框架如jquery或者再深一点的工具APIcloud 的使用极大的方便了我们的开发工作. 今天我要分享一个纯javascript的方式来解决请求服务器数据 ...

  10. Spring Boot 入门之整合 log4jdbc 篇(六)

    博客地址:http://www.moonxy.com 一.前言 Spring Data JPA 默认采用 Hibernate 实现.Hibernate 的 showSql 配置只打印 SQL,但并不打 ...