本篇文章为实验室工作站的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. Codeforces 735D Taxes(简单数论)

    题目链接 http://codeforces.com/problemset/problem/735/D 题意:一个人的收入为n他要交的税是n的最大除数,他为了少缴税将n分成k个数n1,n2,n2... ...

  2. 模板汇总——快读 fread

    struct FastIO { ; int wpos; char wbuf[S]; FastIO() : wpos() { } inline int xchar() { static char buf ...

  3. 使用Nginx、Nginx Plus防止服务器DDoS攻击

    分布式拒绝服务攻击(DDoS)指的是通过多台机器向一个服务或者网站发送大量看似合法的数据包使其网络阻塞.资源耗尽从而不能为正常用户提供正常服务的攻击手段.随着互联网带宽的增加和相关工具的不断发布,这种 ...

  4. MySQL Explain学习笔记

    目录 一.执行计划概念 二.Explain用法 三.Explain属性介绍 3.1 id属性 3.2 select_type属性 3.3 table属性 3.4 type属性 3.5 possible ...

  5. MySQL基础/数据库和表的设计

    MySQL基础 一:安装MySQL(按步骤操作,如果下载后使用不了,试着用360安全卫士卸载MySQL,清除残留的,方便在下载造成不必要的麻烦:如果这样也不行,那就需要重做系统在进行下载) 二:创建数 ...

  6. Net基础篇_学习笔记_第九天_数组_冒泡排序(面试常见题目)

    冒泡排序: 将一个数组中的元素按照从大到小或从小到大的顺序进行排列. for循环的嵌套---专项课题 int[] nums={9,8,7,6,5,4,3,2,1,0}; 0 1 2 3 4 5 6 7 ...

  7. Hbase 日常运维

    日常维护的命令 1,major_compact 'testtable',通常生产环境会关闭自动major_compact(配置文件中hbase.hregion.majorcompaction设 为0) ...

  8. DBCP

    DBCP(DataBase Connection Pool)数据库连接池,由Apache公司开发.连接池的运用避免了反复建立连接造成的资源浪费,预先建立一些连接放在数据库连接池中,需要时取出,不需要时 ...

  9. ansible-playbook流程控制-loops循环使用

    1. ansible-playbook流程控制-loops循环使用    有时你想要多次重复任务.在计算机编程中,这称为循环.common ansible循环包括使用文件模块更改多个文件和/或目录的所 ...

  10. Tomcat 应用中并行流带来的类加载问题

    本文首发于 vivo互联网技术 微信公众号 链接:https://mp.weixin.qq.com/s/f-X3n9cvDyU5f5NYH6mhxQ作者:肖铭轩.王道环 随着 Java8 的不断流行, ...