JupyterHub のセットアップ2018年12月13日 | |
はじめに複数人利用可能な Jupyter Notebook サーバーである JupyterHub のセットアップについて。 環境
JupyterHub のセットアップAnaconda はインストール済みとする。JupyterHub のインストール方法は conda と pip があるが、pip だと別途 Node.js を入れる必要があってめんどくさいので、以下では conda を使う。 conda で JupyterHub をインストール。 $ conda install -c conda-forge jupyterhub 試しに実行。 $ jupyterhub --no-ssl "http://127.0.0.1:8000/" にアクセスして Jupyter のログイン画面が出てきたら OK。 IP やポートを指定する場合は、以下のように起動する。 $ jupyterhub --ip 127.0.0.1 --port 123456 外からつなぐ場合は、ファイアーウォールの設定で公開ポートを追加しておく。 次のようにすると、コンフィグファイルを作成できる。 $ mkdir jupyterhub $ cd jupyterhub $ jupyterhub --generate-config カレントディレクトリに jupyterhub_config.py ができる。このファイルで様々な設定が可能。 認証について認証方式についていくつか選べるようだが、ここではサーバーマシンのユーザーアカウントでログインする PAM を用いる (デフォルト)。ログイン画面でサーバーマシンのアカウントでログインできれば OK。 ログイン→ログアウト後、再度ログインしようとすると認証に失敗することがあるようである。コンフィグファイルで以下の設定をすると、問題は解決した。 c.PAMAuthenticator.open_sessions = False ルートディレクトリの指定コンフィグファイルで以下のように設定するとルートディレクトリを指定できる。 c.Spawner.notebook_dir = '~/work' 自動起動サーバー起動時に JupyterHub が自動起動するようにするに、サービス化する。 /etc/systemd/system/jupyterhub.service [Unit] Description = JupyterHub [Service] Environment="PATH=/usr/bin:/home/xxxx/anaconda3/bin" ExecStart=/home/xxxx/anaconda3/bin/jupyterhub --ip 127.0.0.1 --port 123456 WorkingDirectory=/home/xxxx/jupyterhub [Install] WantedBy = multi-user.target ここではユーザー xxxx のホームディレクトリに Anaconda がインストールされているものとしている。Environment でパスを設定している。Environment の代わりに EnvironmentFile で設定ファイルを指定することもできる。 サーバーを実行。 # systemctl daemon-reload # systemctl start jupyterhub # systemctl enable jupyterhub | |
PENGUINITIS |