フロントエンドで Jupyter Notebook を自動起動する方法
最終更新日:2019年11月16日このページでは、フロントエンドにおけるスクリプト自動実行機能を使って Jupyter Notebook を起動し、あらかじめ設定したJupyter Notebook の認証トークンを使って接続する方法を説明します。
概要
作業の概要は以下の通りです。
- 手順1:ログインノードでスタートスクリプトを作成
- 手順2:ログインノードで Jupyter Notebook の認証情報設定
- 手順3:ito front にてフロントエンドノードを予約
- 手順4:フロントエンドノード上の Jupyter Notebook へ接続
手順1.スタートスクリプトの作成(初回のみ)
ログインノードでスタートスクリプトとして以下のファイルを ~/.frontend/start_script として作成します。
bash #!/bin/bash module load python/3.6.2 module load cuda/9.0 nohup jupyter notebook --ip=127.0.0.1 --port=8888 --no-browser & |
手順2.Jupyter Notebook の認証情報設定(初回のみ)
ログインノードで Jupyter Notebook の設定ファイルを作成し、認証に使用するトークンを設定します。
-
設定ファイル( ~/.jupyter/jupyter_notebook_config.py )の生成
bash
$ module load python/3.6.2
$ jupyter notebook --generate-config
-
トークンの生成
たとえば以下のコマンドによってランダムなトークンを生成することができます。
bash
$ uuidgen
トークンは認証に用いる情報ですので大切に保管してください。 -
設定ファイルの編集
c.NotebookApp.token = の行のコメントを外し( # を削除し)、 uuidgen の結果を張り付けます。python
...
c.NotebookApp.token = '[uuidgen の結果]'
...
手順3.フロントエンドノードを予約
フロントエンドページを参考に利用予約を行ってください。
手順4.Jupyter Notebook へ接続
フロントエンドノードでJupyter Notebookを使う方法の手順2-2、2-3を実施し、Jupyter Notebookへ接続してください。
アクセス先は、http://localhost:8888/?token=[uuidgenの結果] を指定してください。
(httpアクセスですが、フロントエンドノードまでの経路はSSHにより暗号化されています)
注意事項
- この方法では、 $ jupyter notebook list などとしても実行されているプロセスが表示されませんがプロセスは立ち上がっています。