ubuntu 18.04 다중사용자를 위한 쥬피터 jupyterhub (the-littlest-jupyterhub)

jupyter 는 다중 사용자를 위한 환경에서 사용하기에 알맞지 않다. 이를 위하여 jupyterhub가 존재하며 다음과 같은 특징을 가지고 있다.

  • Hub (tornado process) that is the heart of JupyterHub
  • configurable http proxy (node-http-proxy) that receives the requests from the client’s browser
  • multiple single-user Jupyter notebook servers (Python/IPython/tornado) that are monitored by Spawners
  • an authentication class that manages how users can access the system
JupyterHub subsystems
https://jupyterhub.readthedocs.io/en/stable/

jupyterhub를 직접 설치할 수도 있지만 상당히 손이 많이 간다.

이를 위하여 다음과 같이 jupyterhub에서 간단하게 만들수 있도록 jupyterhub를 만들수 있는 repo를 제공한다.

  1. If you need a simple case for a small amount of users (0-100) and single server take a look at The Littlest JupyterHub distribution.
  2. If you need to allow for even more users, a dynamic amount of servers can be used on a cloud, take a look at the Zero to JupyterHub with Kubernetes .

이 글에서는 the-littlest-jupyterhub을 사용해서 설치하는 방법을 다운다.

아래 명령어 하나면 설치가 끝이다. 유의점은 18.04에서만 설치가 가능하다는 점이다.

curl https://raw.githubusercontent.com/jupyterhub/the-littlest-jupyterhub/master/bootstrap/bootstrap.py | sudo -E python3 - --admin \<admin-user-name>

설치는 네트워크 상황에 따라 다르지만 5분 갸량 걸리며 위에서 사용한 admin-user-name을 입력하고 사용하고 싶은 비밀번호를 입력하여 접속한다.

서버는 종료후에도 자동으로 켜진다.

혹시 80 포트를 사용중이라면 아래 명령어를 통하여 변경가능하다.

sudo tljh-config set http.port 8080
sudo tljh-config set https.port 8443
sudo tljh-config reload proxy

admin 유저는 상단의 admin메뉴에서 유저를 추가할 수 있으며 라이브러리는 pip 과 conda 를 이용하여 설치가능하다. admin 유저의 경우 sudo -E 를 이용하면 비밀번호를 사용하지 않고 sudo 명령어를 사용가능하다.

자세한 내용은 링크 참조

julia 커널 추가하는 법

  1. Open Terminal out of TLJH as an TLJH-Admin:
sudo -E conda install -c conda-forge julia
sudo addgroup adminjulia
sudo -E chgrp -R adminjulia /home/jupyter-myusername/.julia
sudo -E chmod 770 -R /home/jupyter-myusername/.julia
sudo -E adduser jupyter-myusername adminjulia
  1. Starting julia with sudo:
sudo julia
julia> using Pkg
julia> Pkg.add("IJulia")
julia> exit()
  1. Changing permissions again:
sudo -E chgrp -R adminjulia /home/jupyter-myusername/.julia
sudo -E chmod 770 -R /home/jupyter-myusername/.julia
  1. preparing the notebook:
julia
julia> using IJulia
.....precompiling....
julia> notebook()

From this point i could start a julia-notebook from the webUI

  1. Every other user has to do the following steps ONCE in a TLJH-Terminal:
julia
julia> using Pkg
julia> Pkg.add("IJulia")
julia> exit()

reference

https://community.hetzner.com/tutorials/install-and-configure-jupyterhub-on-ubuntu-18-04

https://jupyterhub.readthedocs.io/en/stable/
https://tljh.jupyter.org/en/latest/
https://github.com/jupyterhub/the-littlest-jupyterhub/issues/279

댓글을 남겨주세요~