本篇文章为实验室工作站的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. SpringBoot整合ActiveMQ,看这篇就够了

    ActiveMQ是Apache提供的一个开源的消息系统,完全采用Java来实现,因此它能很好地支持JMS(Java Message Service,即Java消息服务)规范:本文将详细介绍下Activ ...

  2. erlang加密模块crypto的一些使用

    crypto 模块描述:该模块提供一系列加密函数: 散列函数-安全散列标准,MD5报文摘要算法(RFC 1321)和MD4报文摘要算法(RFC 1320); Hmac函数-散列消息认证(RFC 210 ...

  3. 【Offer】[67] 【把字符串转换成整数】

    题目描述 思路分析 测试用例 Java代码 代码链接 题目描述 将一个字符串转换成一个整数(实现Integer.valueOf(string)的功能,但是string不符合数字要求时返回0),要求不能 ...

  4. map + filter + reduce

    map 是对 集合 里面的元素一个接一个的进行某种运算,常常与lambda 结合使用   #求平方: items = [1, 2, 3, 4, 5] squared = list(map(lambda ...

  5. Java中时间API使用详解

    目录 Java中时间API使用详解 1. 时区概念 2. 几种常见的时间 3. 时间戳 4. Java中的时间API 5. Java8中新添加的时间API 6. 在东八区的机器上获得美国时间 Java ...

  6. Day004_Linux基础_基础命令之tar打包解包

    基础命令之 打包,和解包. tar zcvf 打包的参数  tar zcvf /tmp/etc.tar.gz /etc  将/etc/下的文件压缩成一个压缩包 z  通过gzip工具进行压缩 c 表示 ...

  7. docker 搭建自己的github

    github 搭建:   自己搭建一个github网站(仓库)   daocloud:公共hub搜索git下载github镜像 docker pull gitlab/gitlab-ce:8.7.0-r ...

  8. 创建多线程之threading.Thread的使用

    1.threading模块 threading模块是众多多线程管理模块的其一,它能确保重要的子线程退出后进程才退出. multiprocess模块的完全模仿了threading模块的接口,二者在使用层 ...

  9. android 之下拉刷新

    一.概述 Android 下拉刷新几乎是每个应用都必带的功能, 并且现在下拉刷新第三方库也越来越多了,很方便就能实现该功能, 下面我介绍一下 自己常用的几个方法. 二.例子 第一种方式:就是集成Lis ...

  10. Unity3D_10_文件夹目录架构

    一:几个特殊文件夹介绍 1.Editor Editor文件夹可以在根目录下,也可以在子目录里,只要名子叫Editor就可以.比如目录:/xxx/xxx/Editor 和 /Editor 是一样的,无论 ...