44
44

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 5 years have passed since last update.

JupyterLab-Hubで快適な分析環境を共有しよう!

Last updated at Posted at 2018-04-05

はじめに

Jupyterをマルチユーザーで使えるようにするJupyterHub、
画面分割などの拡張が使えるようになるJupyterLab
これらを組み合わせたJupyterLab-Hubを用いて、社内の分析環境を構築した.

導入の利点

JupyterNotebookだけでは個人で環境を作る必要があり、複数人での分析環境の共有が難しい面がある.
JupyterLab-Hubを用いることで

  • 複数人での環境共有
  • リッチなGUIのIDE導入
  • 新規メンバーの導入
    を簡易化をすることができる.

以降設定方法を箇条書きで書き連ねていく.

導入環境

  • OS:CentOS7
  • Anaconda(4.2.0)
  • Python3

作業目次

Anaconda,JupyterHubのインストール

$ wget https://repo.continuum.io/archive/Anaconda3-4.2.0-Linux-x86_64.sh

# インストールフォルダを聞かれるので/opt/anaconda3 など 誰でもアクセスできるところにインストール
$ bash Anaconda3-4.2.0-Linux-x86_64.sh

# secure_pathに/(anacondaのインストール先)/binを追加
$ sudo visudo

(参考 Anaconda3のダウンロード:https://www.anaconda.com/download/)

システム全体でanacondaのpythonを使えるようにしたいので以下を記入(ファイルがなければ作る)

/etc/profile.d/anaconda.sh
export PATH=/opt/anaconda3/bin:$PATH
$ conda install -c conda-forge jupyterhub
$ conda install notebook
# この後の実行でImportErrorが出るようなら適宜install

$ npm install -g configurable-http-proxy
$ pip install git+https://github.com/jupyter/sudospawner

JupyterHubのConfig

# (Anacondaのinstallディレクトリで)
$ sudo jupyterhub --generate-config

続いてエディタで jupyterhub_config.py を開き、以下のように書き換え,追記

jupyterhub_config.py
# 各ユーザーのhome直下のnotebookディレクトリを参照するため
c.Spawner.notebook_dir = '~/notebook'

# 使用ユーザーをホワイトリストに追加
c.Authenticator.whitelist = {'user01', 'user02'}

# admin権限を持つユーザーを追加
c.Authenticator.admin_users = {'user00'}

※各ユーザーhome直下の~/notebookは利用前にmkdir等で作成しておくこと
(参考 JupyterHubの構築:https://qiita.com/cvusk/items/afa46c35d8d5f0d930ed)

JupyterLab-Hubを導入

$ sudo conda install -c conda-forge jupyterlab
$ jupyter labextension install @jupyterlab/hub-extension

defaultでlabを使うために以下を記入

jupyterhub_config.py
c.Spawner.default_url = '/lab'

service化

(CentOSの場合、他OSの場合には参考先参照)
/lib/systemd/system/jupyterhub.serviceに以下を記入

/lib/systemd/system/jupyterhub.service
[Unit]
Description=Jupyterhub
[Service]
User=jupyterhub
ExecStart=/usr/bin/jupyterhub --JupyterHub.spawner_class=sudospawner.SudoSpawner
WorkingDirectory=/etc/jupyterhub
[Install]
WantedBy=multi-user.target
# serviceの起動
$ sudo systemctl start jupyterhub

(参考 Run jupyterhub as a system service:https://github.com/jupyterhub/jupyterhub/wiki/Run-jupyterhub-as-a-system-service)

その他参考サイト

https://github.com/jupyterlab/jupyterlab
https://github.com/jupyterhub/jupyterhub
https://github.com/jupyterhub/jupyterlab-hub

宣伝

JupyterLabでPlotlyのグラフを表示させる
https://qiita.com/hasoya/items/0e4d260592dcc36285f2

44
44
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
44
44

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?