スパコン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等の必要なパッケージをインストールしておきます.
MoberXterm の Settings -> Configuration -> SSH
をクリックします.一番下にある SSH agents
の Use 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 ではありません.