前書き
【第一回】CentOSにPythonの機械学習開発環境を構築する(Anacondaインストール編)
【第二回】CentOSにPythonの機械学習開発環境を構築する(Jupyter Notebook編)
【第三回(最終回)】CentOSにPythonの機械学習開発環境を構築する(Tensorflow + Kerasインストール編)
で、機械学習の開発環境を作成しました。
今回の番外編で、Jupyter Notebookをsystemdのサービスとして登録し、systemctl
コマンドで起動、停止、及び自動起動をさせる手順を紹介したいと思います。
環境
- OS:CentOS Linux release 7.7.1908
前提条件
-
CentOSにAnaconda3(
Anaconda3-2019.07-Linux-x86_64.sh
)がインストールされていること - 機械学習用の環境(ml_env)が作成されていること
(「【第一回】CentOSにPythonの機械学習開発環境を構築する(Anacondaインストール編)」で紹介)
- Jupyter Notebookを使用可能な設定が完了していること
(「【第二回】CentOSにPythonの機械学習開発環境を構築する(Jupyter Notebook編)」で紹介)
手順
1. Jupyterのパスを確認
anaconda
ユーザーでログインまたはスイッチします。
su - anaconda
[root@CENTOS7 ~]# su - anaconda
最終ログイン: 2019/10/21 (月) 18:24:38 JST日時 pts/0
[anaconda@CENTOS7 ~]$
環境設定ファイル.anaconda.env
を読み込みます。
source ./.anaconda.env
[anaconda@CENTOS7 ~]$ source ./.anaconda.env
[anaconda@CENTOS7 ~]$
機械学習用環境ml_env
をアクティブにします。
conda activate ml_env
[anaconda@CENTOS7 ~]$ conda activate ml_env
(ml_env) [anaconda@CENTOS7 ~]$
Jupyterの実行ファイルのパスを確認します。
which jupyter
(ml_env) [anaconda@CENTOS7 ~]$ which jupyter
~/anaconda3/envs/ml_env/bin/jupyter
(ml_env) [anaconda@CENTOS7 ~]$
ml_env
のjupyter
の実行ファイルのパスが/home/anaconda//anaconda3/envs/ml_env/bin/jupyter
であることがわかります。
2. Unit定義ファイルの作成
root
ユーザーにスイッチします。
su -
(ml_env) [anaconda@CENTOS7 ~]$ su -
パスワード:
最終ログイン: 2019/10/21 (月) 18:43:05 JST 192.168.0.2から開始日時 pts/0
[root@CENTOS7 ~]#
/etc/systemd/system/
配下にjupyter-notebook.service
ファイルを作成します。
[Unit]
Description=Jupyter Notebook
[Service]
User=anaconda
Group=anaconda
Type=simple
PIDFile=/var/run/jupyter-notebook.pid
ExecStart=/home/anaconda/anaconda3/envs/ml_env/bin/jupyter notebook
WorkingDirectory=/home/anaconda/work
Restart=always
[Install]
WantedBy = multi-user.target
- User:Jupyter(Anaconda3)のユーザー名を指定
- Group:Jupyter(Anaconda3)のグループ名を指定
- ExecStart:
ml_env
でのjupyter notebook
コマンドのフルパスを指定 - WorkingDirectory:
jupyter notebook
のワーキングディレクトリを指定
3. systemdの登録確認
Unit定義ファイルが登録されていることを確認します。
systemctl list-unit-files --type=service | grep jupyter-notebook
[root@CENTOS7 ~]# systemctl list-unit-files --type=service | grep jupyter-notebook
jupyter-notebook.service disabled
[root@CENTOS7 ~]#
4. jupyter-notebook
の自動起動設定
jupyter-notebook
のステータスをenable
にします。
systemctl enable jupyter-notebook
[root@CENTOS7 ~]# systemctl enable jupyter-notebook
Created symlink from /etc/systemd/system/multi-user.target.wants/jupyter-notebook.service to /etc/systemd/system/jupyter-notebook.service.
[root@CENTOS7 ~]#
jupyter-notebook
のステータスがenable
になっていることを確認します。
systemctl list-unit-files --type=service | grep jupyter-notebook
[root@CENTOS7 ~]# systemctl list-unit-files --type=service | grep jupyter-notebook
jupyter-notebook.service enabled
[root@CENTOS7 ~]#
5. systemctl
コマンドでjupyter-notebook
を起動
systemctl
コマンドでjupyter-notebook
を起動します。
systemctl start jupyter-notebook
[root@CENTOS7 ~]# systemctl start jupyter-notebook
[root@CENTOS7 ~]#
jupyter-notebook
が起動していることを確認します。
ps -ef | grep jupyter-notebook
[root@CENTOS7 ~]# ps -ef | grep jupyter-notebook
anaconda 1442 1 0 19:17 ? 00:00:00 /home/anaconda/anaconda3/envs/ml_env/bin/python /home/anaconda/anaconda3/envs/ml_env/bin/jupyter-notebook
root 1459 1370 0 19:21 pts/0 00:00:00 grep --color=auto jupyter-notebook
[root@CENTOS7 ~]#
6. systemctl
コマンドでjupyter-notebook
を停止
systemctl
コマンドでjupyter-notebook
を停止します。
systemctl stop jupyter-notebook
[root@CENTOS7 ~]# systemctl stop jupyter-notebook
[root@CENTOS7 ~]#```
`jupyter-notebook`が停止していることを確認します。
`ps -ef | grep jupyter-notebook`
```console:コマンド実行結果
[root@CENTOS7 ~]# ps -ef | grep jupyter-notebook
root 1469 1370 0 19:24 pts/0 00:00:00 grep --color=auto jupyter-notebook
[root@CENTOS7 ~]#
7. OSを再起動後、jupyter-notebook
が起動していることを確認
OSを再起動します。
shutdown -r now
[root@CENTOS7 ~]# shutdown -r now
再起動後、jupyter-notebook
が起動していることを確認します。
ps -ef | grep jupyter-notebook
[root@CENTOS7 ~]# ps -ef | grep jupyter-notebook
anaconda 674 1 5 19:27 ? 00:00:02 /home/anaconda/anaconda3/envs/ml_env/bin/python /home/anaconda/anaconda3/envs/ml_env/bin/jupyter-notebook
root 1314 1294 0 19:28 pts/0 00:00:00 grep --color=auto jupyter-notebook
[root@CENTOS7 ~]#
以上です。
参考サイト
リンク
【第一回】CentOSにPythonの機械学習開発環境を構築する(Anacondaインストール編)
【第二回】CentOSにPythonの機械学習開発環境を構築する(Jupyter Notebook編)
【第三回(最終回)】CentOSにPythonの機械学習開発環境を構築する(Tensorflow + Kerasインストール編)