ホーム > サポート > FAQ(よくある質問) > フロントエンドノードでJupyter Notebookを使う方法

フロントエンドノードで Jupyter Notebook を使う方法

最終更新日:2019年11月16日

概要

ITO には Jupyter Notebook がインストールされており、Python3 を利用することができます。


Jupyter Notebook は、マシン上にサーバを起動し、ブラウザでそのサーバに接続することで対話的な操作を実現しています。
そのため、フロントエンドノードで利用するためには、ブラウザでフロントエンドノード内の Jupyter Notebook に接続する必要があります。


フロントエンドノードで Jupyter Notebook を利用するための方法を紹介します。
手軽さ重視の「方法1」と、快適さ重視の「方法2」があります。
ご利用のニーズに合わせてどちらかを選択してください。


ページの最後に検証に使用した環境を記載しています。
他の環境でうまくいかない場合は、全国共同利用担当にご相談ください。


下記手順のうち以下の表を参考に文字列を置き換えてください。

floating_ip_address 使用するフロントエンドノードに割り当てられたIPアドレス
アカウント名 ITOのユーザ名
/path/to/private_key クライアントPC上の秘密鍵の場所

方法1.フロントエンドノードでFirefoxを起動し、クライアントPCのXサーバで画面を表示


方法1の利点欠点

  • 利点:方法2に比べ、使い方が簡単
  • 欠点:ネットワーク状況によっては画面更新の遅延が大きい場合がある

手順1-0.SSHエージェントの有効化

すでに有効になっていれば必要ありません。


(macOS の場合)

  • .ssh/config に以下が記載されていれば、下記手順の"-0 AddKeysToAgent=yes"を省略できます。
  •  txt 

    Host *
     AddKeysToAgent yes 

(Windows で MobaXterm 利用の場合)

  • Settings > Configuration > SSH
    • 「Use internal SSH aget "MobAgent"」をチェック
    • 「Load following keys at MobAgent startup」横の「+」ボタンから秘密鍵を追加
    • 「OK」ボタンを押下


手順1-1.X forwarding および SSH エージェント機能を有効にしてログインノードに SSH ログイン

(macOS および Windows でコマンドラインで SSH を利用できる場合)

  • クライアント PC のターミナルで下記コマンドを実行します
  •  bash 

    $ ssh -o AddKeysToAgent=yes -A -Y ito.cc.kyushu-u.ac.jp -l アカウント名 -i /path/to/private_key
    # 手順1-0を実施していれば、"-o AddKeysToAgent=yes" は省略できます。
    # アカウント名, /path/to/private_key は上記表に従って置き換えてください。


(Windows で MobaXterm 利用の場合)

  • MobaXterm 等を用い、X11-Forwarding を有効にして ito.cc.kyushu-u.ac.jp に SSH ログイン


手順1-2.フロントエンドノードに SSH ログイン

  • 下記コマンドをログインノードで実行します
  •  bash 

    $ ssh -Y floating_ip_address
    # floating_ip_address は上記表に従って置き換えてください。


手順1-3.Jupyter Notebook を起動

  • 下記コマンドをログインノードで実行します
  •  bash 

    $ module load python/3.6.2
    $ jupyter notebook --ip=127.0.0.1 --port=8888
  • フロントエンドノードで Firefox が起動し、クライアント PC に下記のような Firefox の画面が表示されます


手順1-E.終了方法

  • Firefox を終了します
  • Jupyter Notebook の停止は、実行しているターミナルの指示に従ってください



方法2.ポート転送を利用し、クライアント PC の Web ブラウザから Jupyter Notebook に接続


方法2の利点欠点

  • 利点:画面をクライアントPCで描画するので、低遅延に操作可能
  • 欠点:方法1に比べて設定が複雑

手順2-0.SSHエージェントの有効化

  • 手順1-0を参照し、実施してください


手順2-1.Jupyter Notebook を起動

  • 手順1-1および1-2を実施後、フロントエンドノードで以下のコマンドを実行します
  •  bash 

    $ module load python/3.6.2
    $ jupyter notebook --ip=127.0.0.1 --port=8888 --no-browser
  • このとき、ターミナル上にアクセスすべき URL が表示されます
  • このターミナルは実行中のままにしておいてください


手順2-2.ローカルポート転送をつかって Jupyter Notebook へのアクセス経路を作成

(macOS の場合)

  • クライアントPCのターミナルを別途開き、下記コマンドを実行します
  •  bash 

    $ ssh -o AddKeysToAgent=yes -o ProxyCommand='ssh -W %h:%p %r@ito.cc.kyushu-u.ac.jp' floating_ip_address -l アカウント名 -L 8888:localhost:8888
    # 手順1-0を実施していれば、"-o AddKeysToAgent=yes" は省略できます。
    # floating_ip_address, アカウント名, /path/to/private_key は上記表に従って置き換えてください。


(Windows で MobaXterm 利用の場合)

  • 「Start local terminal」ボタンを押下し、ローカルターミナルを開き、下記コマンドを実行します
  •  bash 

    $ ssh -o ProxyCommand='ssh -W %h:%p %r@ito.cc.kyushu-u.ac.jp' floating_ip_address -l アカウント名 -L 8888:localhost:8888
    # floating_ip_address, アカウント名, /path/to/private_key は上記表に従って置き換えてください。


手順2-3.クライアント PC から表示される URL にアクセス

  • 以下のような URL にクライアント PC の Web ブラウザでアクセスします。
  • http://127.0.0.1:8888/?token=xxxxxxxxxxxxxxxxxxxxxx
  • 以下のような画面が表示されます。


手順2-E.終了方法

  • Web ブラウザを終了します
  • Jupyter Notebook の停止は、実行しているターミナルの指示に従ってください


検証時に用いた環境

ITO SSHサーバ・クライアント OpenSSH 7.4p1
ITO Jupyter Notebook 4.4.0
macOS SSH クライアント OpenSSH 7.6p1
macOS X サーバ xQuartz 2.7.11
Windows SSH クライアント MobaXterm 10.5
Windwos X サーバ MobaXterm 10.5