2023年11月14日火曜日

EC2でjupter-notebookをインストールする

 EC2でjupter-notebookのインストールをする方法を説明します

【サーバの環境について】
jupter-notebookをインストールし起動するにあたり、下記のサーバ環境にしてください

◾️サーバ容量
EC2でインスタンスを立ち上げる際には、サーバ容量をあげておいた方が良いです。
デフォルトでは8Gですが、今回は30Gに上げておきます。
<インスタンス起動時>
ストレージを設定で8から30に変更する


◾️インバウンドルールの追加
jupter-notebookで利用するポートを開放しておきます。
デフォルト8888で通信するので、8888を開放しておきます。
<インスタンス起動時>
ネットワーク設定の右上の編集から
セキュリティグループルールの追加
ポート範囲:8888
ソース:0.0.0.0/0

1.pipインストール
デフォルトでEC2にはpythonは入っていますが、pipはインストールされていません
そこで、pipをインストールします
$ sudo yum install python3-pip

2.jupyer-notebookのインストール
公式ドキュメントを参考に、インストールしていきます
注意:jupter-notebookを利用したいユーザに移動してから実行してください
   このブログではec2-userで実施しています
    前回のブログの続きでlinuxユーザにいる場合は、exitを入力することでlinuxユーザから抜けてec2-userに戻ることができます。

$ pip install notebook

3.ログイン方法をパスワード認証に変更
デフォルトではjupter-notebookを立ち上げた時に表示されるtokenを入力することでログインできますが、パスワード認証に変更します
今回、パスワードはLinuxOS99@にしておきます
$ jupyter notebook password

4.jupter-notebookの起動
$ jupyter notebook --ip='0.0.0.0' &
 chatGPT:--ip オプションは、Jupyter Notebook サーバーがどのIPアドレスで待機するかを設定するためのものです。--ip='0.0.0.0' という設定は、Jupyter Notebook サーバーをすべてのネットワークインターフェースに対して公開することを意味します。具体的には、0.0.0.0 はすべてのIPアドレスを表す特別な値であり、サーバーはどのネットワークインターフェースからの接続も受け入れることができます。
      Linuxコマンドで、コマンドをバックグラウンドで実行するためには、&(アンパサンド)を使用します。これにより、コマンドがバックグラウンドで実行され、プロンプトが即座に戻ってきます。これは、コマンドを実行して待機せずに他の作業を行いたい場合に便利です。

起動できると、どのアドレスでアクセスできるか記載があります。
今回の場合、下記のようになっています。
 注意:ここでhttp://********:8888/treeであることを確認してください
    初めの設定で8888のみ開けているため、それ以外のportでのアクセスで起動しても接続することができません。

ここでhttp://********:8888/treeの********の部分をサーバのパブリックDNSに読み替えて接続してください
 例:http://ec2-34-229-13-4.compute-1.amazonaws.com:8888/tree
パスワードを求められるので、設定したパスワードを入力してください。
このようなjupterの画面が表示されればOKです


もしも起動がうまくいかなくて、jupter-notebookを止めたい場合は・・・
※公式の方法ではありませんが、今回の環境では下記の方法で行ってください
①jupter-notebookのプロセス番号を確認
$ lsof -i
ここでCOMMANDがjupter-…で始まるものを探してください。
chatGPT:lsof -i コマンドは、LinuxやUnix系のオペレーティングシステムで、ネットワーク接続情報を表示するための便利なユーティリティです。lsof は "List Open Files" の略で、ファイルやネットワーク接続などのオープンされているリソースをリストアップするために使用されます。
②プロセスを停止
$ kill -9 <プロセス番号>
ここでプロセス番号はPIDのことで、上記の場合は31849となります。
chatGPT:オペレーティングシステムでプロセスを強制的に終了するためのコマンドです。このコマンドは、特にプロセスが正常に終了しない場合や、緊急の終了が必要な場合に使用されます。 -9 はシグナル番号で、SIGKILL シグナルを表します。SIGKILL シグナルは、プロセスに対して無条件で強制終了を実行します。

以上

0 件のコメント:

コメントを投稿