メインコンテンツまでスキップ

Jupyter Labの使い方

Jupyter LabはJupyter Notebookに比べユーザビリティの向上や拡張機能の導入などエンハンスが行われています。標準ではインストールされていないため各自で導入が必要です。インストール、および使用方法は次のとおりです。

Jupyter Labのインストール

condaを導入していない場合、先にPythonの使い方を参照しMinicondaをインストールします。 condaのインストール後にcondaコマンドでJupyter Labをインストールします。

$ conda install -c conda-forge jupyterlab

Jupyter Labの起動

Jupyter Labを起動するインタラクティブノードを確認します。インタラクティブノードは負荷状況に応じてqlogin時に選択されるのでログインの度に確認が必要です。

(login node) $ hostname
at139

Jupyter Labに使用するポート(e.g. 8888)が他に使用されていないか確認します。

$ netstat -an|grep 8888

Jupyter Labにパスワードを設定します。

$ jupyter server --generate-config
Writing default config to: /lustre7/home/user/.jupyter/jupyter_server_config.py
$ jupyter server password
Enter password:
Verify password:
[JupyterPasswordApp] Wrote hashed password to /lustre7/home/user/.jupyter/jupyter_server_config.json

Jupyter Labを起動します。任意のポートを指定しますが、実際に割り当てられたポートは標準出力から確認します。

$ jupyter lab --no-browser --port=8888 --ip=`hostname`
[I 2024-03-19 10:22:38.636 ServerApp] Serving notebooks from local directory: /lustre7/home/user
[I 2024-03-19 10:22:38.636 ServerApp] Jupyter Server 2.12.5 is running at:
[I 2024-03-19 10:22:38.636 ServerApp] http://at083:8888/lab
[I 2024-03-19 10:22:38.636 ServerApp] http://127.0.0.1:8888/lab

起動するとプロンプトは戻りません。メッセージに記載があるとおり終了する場合はCtrl-Cを使用します。

Alternative: Jupyter Labのジョブ起動

Jupyter Labにパスワードを設定します。

$ jupyter server --generate-config
Writing default config to: /lustre7/home/user/.jupyter/jupyter_server_config.py
$ jupyter server password
Enter password:
Verify password:
[JupyterPasswordApp] Wrote hashed password to /lustre7/home/user/.jupyter/jupyter_server_config.json

Jupyter Lab起動スクリプトを用意します。 任意のポートを指定しますが、実際に割り当てられたポートは後にログから確認します。

$ cat jupyter_lab
#!/bin/bash

#$ -cwd
#$ -V
#$ -l short
#$ -l s_vmem=16G
#$ -l mem_req=16G
#$ -N user_jupyter_lab
#$ -S /bin/bash

source ${HOME}/miniconda3/etc/profile.d/conda.sh
conda activate py312
jupyter lab --no-browser --port=8888 --ip=`hostname`
conda deactivate

ジョブをサブミットします。

$ qsub jupyter_lab

サブミットしたジョブの実行ノードを確認します。 この例ではat083が使用されているため後のポートフォワーディングで指定します。

$ qstat
job-ID prior name user state submit/start at queue jclass slots ja-task-ID
------------------------------------------------------------------------------------------------------------------------------------------------
25675539 0.25013 QLOGIN user r 03/13/2024 21:29:33 login.q@at137 1
25675545 0.25000 user_jupyt user r 03/13/2024 21:45:20 short.q@at083 1

実際に割り当てられたポートをログから確認します。

$ grep -A1 running user_jupyter_lab.e25683453
[I 2024-03-19 10:42:03.438 ServerApp] Jupyter Server 2.12.5 is running at:
[I 2024-03-19 10:42:03.439 ServerApp] http://at084:28888/lab

SSHポートフォワーディング

Jupyter Labを使用したい端末から当該インタラクティブノードへポートへフォワーディングを行います。 実行するとプロンプトは戻りません。Ctrl-Cで終了します。

$ ssh -i ~/.ssh/my_id_rsa -L 18888:at139:8888 <user>@gw.ddbj.nig.ac.jp
Enter passphrase for key '/home/user/.ssh/my_id_rsa':

ここでLオプションは次のとおり指定します。

-L <(1)>:<(2)>:<(3)>

  1. 端末で使用していない任意のポートを指定

  2. Jupyter Labを起動したノードのホスト名

  3. Jupyter Labに指定したポート番号

Webブラウザからのアクセス

端末でWebブラウザを起動し次のURLにアクセスします。ポートは先に(1)で指定したポートを使用します。

http://localhost:18888/

パスワードの入力を求められるので先に設定したパスワードを入力します。 入力後、Jupyter LabのWeb画面が表示されます。 figure

Jupyter Labからのジョブ起動

ConsoleまたはTerminalからジョブ起動ができます。 Consoleから起動する場合はコマンドの先頭に!を追加して実行します。

!qsub launch_python.sh

Jupyter Labの終了

Webブラウザ上でFileメニューからShut Downをクリックします。