当前位置:   article > 正文

jupyterhub 安装教程_jupter c.jupyterhub.authenticator_class = 'nativea

jupter c.jupyterhub.authenticator_class = 'nativeauthenticator.nativeauthent

为什么要用jupyterhub

jupyter notebook 是一个非常有用的工具,我们可以在浏览器中任意编辑调试我们的python代码,并且支持markdown 语法,可以说是科研利器。但是这种情况适合个人使用,也就是jupyter notebook以我们自己的主机作为服务器,然后我们用自己的浏览器编辑自己本机的python代码。最近实验室搭建了深度学习的服务器,每个人都有一个用户可以使用GPU资源,但是每次写代码要在本地调试好了然后再ssh提交到服务器运行,如果有问题,还要再在本地更改然后再次提交,非常的麻烦。为了解决这个烦恼,我们在GPU服务器上搭建了jupyterhub, 它和notebook不同之处在于它是一个hub,哈哈,也就是notebook的服务器,把它装在服务器上,然后大家可以通过局域网在浏览器上进行python代码的编辑和调试。

什么是jupyterhub

jupyterhub 和 jupyter notebook一样是python的一个包,可以通过pip安装,也可以通过 conda安装,在服务器端安装就可以供大家使用。关于jupyterhub的教程请看:官方教程 既然有了官方教程了为什么我还要写这篇文章呢?原因是因为:1.在安装过程中遇到了一些在教程中解决不了的问题 2. 避免大家走弯路。

安装jupyterhub

这篇教程在使用jupyterhub的时候是在anaconda的虚拟环境中安装的,如果你的是本机的python环境,不用担心,其原理都是一样的。

依赖:nodejs

这里是第一个坑,在官方教程中,它告诉我们需要提前装依赖项nodejs,

sudo apt-get install npm nodejs-legacy
  • 1

但是当我通过这种方式安装后,再安装jupyterhub 后发生了错误,找了很久的原因没有找到,后来看错误提示,猜测可能是nodejs的版本问题,也就是说我们通过apt-get 安装的nodejs 版本不符合我们的需要,我们的系统是ubuntu 16.04, 使用的apt 源是阿里云的源。可能其他源或者ubuntu18.04不会出现这种问题吧。如果在安装jupyterhub的时候它提示你nodejs的错误,很有可能是版本呢问题。

解决方案:去官网下载对应的版本
下载最新版应该也是可以的,下载下来是一个压缩包,我们将它解压后放到固定的文件夹,例如

/usr/local/nodejs
  • 1

接下来将nodejs 的bin目录放到path 路径中,这样在命令行中敲入node就会有提示信息,代表nodejs安装成功了。path 路径的配置随便百度一下就会有很多教程。我把path路径的配置放到了 /etc/bash.bashrc中,你也可以放到~/.bashrc当中。这里不详细讨论环境变量的问题。 nodejs安装成功后我们就可以着手安装jupyterhub了。

安装

根据官方教程,有两种方式安装:

  1. pip 安装
python3 -m pip install jupyterhub
npm install -g configurable-http-proxy
python3 -m pip install notebook  # needed if running the notebook servers locally
  • 1
  • 2
  • 3
  1. conda 安装
conda install -c conda-forge jupyterhub  # installs jupyterhub and proxy
conda install notebook  # needed if running the notebook servers locally
  • 1
  • 2

选择其中一种安装即可,我们使用第一种pip安装,因为conda安装总会出现连接超时的问题。

配置jupyterhub

如果上述过程都没有问题,我们就可以在命令行中敲入jupyterhub -h看看是否有帮助提示,有帮助提示代表安装成功,在虚拟环境中安装的需要先进入到虚拟环境中source activate **

接下来需要我们配置jupyterhub了,这个配置过程比较简单,按步骤走就行了

  1. 生成配置文件
jupyterhub --generate-config
  • 1

这个命令会在你的当前目录下生成一个jupyterhub_config.py文件,接下来我们需要在这个文件中配置我们的网络和用户管理。

  1. 启动jupyterhub
jupyterhub -f /path/to/jupyterhub_config.py
  • 1

上述命令可以根据你的配置文件启动jupyterhub。

  1. 怎么配置/upyterhub_config.py
    下面给出我们的参考配置:
c.JupyterHub.ip = '192.168.24.***'
c.JupyterHub.port = 445
c.PAMAuthenticator.encoding = 'utf-8'
c.LocalAuthenticator.create_system_users = False
c.Authenticator.whitelist = {'dada',
'haha',
‘name’
}
c.Authenticator.admin_users = {'famu'}
c.Spawner.env_keep.append('LD_LIBRARY_PATH')
c.JupyterHub.statsd_prefix = 'jupyterhub'
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11

JupyterHub.ip是你本机局域网的ip,记得是局域网
JupyterHub.port是我们指定的端口,随便指定一个不和其他服务冲突的端口就行
Authenticator.whitelist 比较重要,这里面需要将linux的用户名添加进入,这样该用户就可以通过浏览器利用linux的用户名和密码登录自己的账户,jupyterhub采用和linux系统相同的认证方式,所以我们不需要另外建立用户,只需要登录linux的用户和密码即可。
c.Spawner.env_keep.append('LD_LIBRARY_PATH')这行是我们踩的坑,因为用了GPU版的tensorflow,这个目的是将LD_LIBRARY_PATH的路径放到jupyterhub中,这样才能正确使用GPU版的tensorflow。

  1. 最后登录使用

在同一个局域网的电脑中,打开浏览器输入刚才配置的ip和端口,然后输入登录linux的用户名和密码即可登录使用。

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/羊村懒王/article/detail/138535
推荐阅读
相关标签
  

闽ICP备14008679号