search
LoginSignup
0

posted at

updated at

スパコン ITO のフロントエンドで Jupyter を使う

スパコンITO では フロントエンド を利用することで,ログインノードではできない,比較的長時間で大規模な仕事をインタラクティブに実行できます.事前に利用する資源をフロントエンド予約システム(日本語環境英語環境)で予約します.割り当てられた Floating IP を用い,SSHエージェントフォワーディング と X11フォワーディング を利用して,ログインノード経由でフロントエンドノードにログインします.

予約に際しては,ハードウェアと利用形態や契約条件に応じてオプションを選択します.予約可能な最小利用時間は4時間,最大利用時間は7日間です.システムの準備に以前は1,2時間要しましたが,今は割とすぐ使えるようです.Floating IP はIPアドレスでメールで通知されます.

クライアント(Windows 10 Pro)の MobaXterm を利用し,Chrome からフロントエンドの Jupyter (Jupyter Notebook または JupyterLab)に接続する方法を紹介します.公式ガイド の方法2です.

事前の準備:SSHエージェントの有効化

スパコンITOで Miniconda をローカルインストールし,仮想環境においてJupyterlab等の必要なパッケージをインストールしておきます.

MoberXtermSettings -> Configuration -> SSH をクリックします.一番下にある SSH agentsUse internal SSH agent "MobAgent" にチェックを入れ,その下のボックスの右にある + のマークをクリックし,秘密鍵を(拡張子は ppk です)追加して,OKボタンOK button)をクリックします.
加えて,タイムアウトで SSH が切れるのを抑制するため,MobaXterm の Settings -> Configuration -> SSH において,SSH keepalive にチェックを入れておくとよいでしょう.
これらの作業は一度だけ必要です.

毎回の手順

メールで送られてくる,Floating IP は毎回異なりますが,172.18.32.191 のようなIPアドレスです.以下ではこれを Floating_IP と読み替えることにします.

ログインノードからフロントエンドノードにSSHでログイン

ITOのログインノードのターミナルにおいて,フロントエンドノードにログインします.もし,フロントエンドノードにログインするだけでよければ,手順はこれで終わりです.

ssh -A -Y Floating_IP
# Floating_IP はメールで送られてくる,172.18.32.191 のようなIPアドレスに置換します.

フロントエンドノードで Jupyter を起動

ログインしたフロントエンドノードにおいて,ブラウザを立ち上げずに(--no-browser) Jupyter を起動します.

# JupterLab の場合
jupyter lab --ip=127.0.0.1 --port=8888 --no-browser
# Jupyter Notebook の場合
jupyter notebook --ip=127.0.0.1 --port=8888 --no-browser

これにより以下のような表示が最後の方に現れます.この部分を後ほどクライアントのブラウザのURLにコピーペーストします.

[I 2022-04-24 13:39:11.990 ServerApp] http://127.0.0.1:8888/?token=...

ローカルポート転送で,Jupyter へのアクセス経路を構築

MobaXterm のタブ横の + をクリックして,新しいローカルターミナルを開き,以下を実行します.

ssh -o ProxyCommand='ssh -W %h:%p %r@ito.cc.kyushu-u.ac.jp' Floating_IP -l Account -L 8888:localhost:8888
# Floaint_IP はメールで送られてくる,172.18.32.191 のようなIPアドレスで置換します.
# Account は m99999a のようなユーザアカウントで置換します.

スパコンのターミナルが現れるまで,しばらく待ちます.

クライアントのブラウザで先のURLにアクセス

フロントエンドノードで Jupyter を起動した際に現れた URL(http://127.0.0.1:8888/?token=...)をクライアントのブラウザ(例えば,Windows の Chrome)の URL にペーストしてアクセスします.これで,クライアントのブラウザ内で Jupyter が起動します.少し時間がかかります.
注意: MobaXterm で URL をコピーする際は,マウスで URL を選択するだけです.Ctrl-C ではありません.

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
What you can do with signing up
0