masterとworkerを一台のマシンで組む場合
cryoSPARCに記載のようにライセンスキーを取得します。
そしてプログラムの入手します。
ここでは「~cryosparc/src/」にプログラムファイルを置いていることを前提します。
またプログラム自体は「/home/cryosparc」の中に配置して実行します
っで、この場合 SELinux が五月蠅いです. 展開先を /opt とかに移せはスルーしてくれますが、「/home 以下のファイルを systemd が直接実行してはならない」という SELinux のルールに抵触するそうな.
なのでSELinuxを外します.
アカウント作成
*自分のアカウントでも構わない
[root@cryosparc ~]# cat /etc/redhat-release
Rocky Linux release 9.5 (Blue Onyx)
[root@cryosparc ~]# useradd -m -s /bin/bash cryosparc
[root@cryosparc ~]# id cryosparc
uid=1000(cryosparc) gid=1000(cryosparc) groups=1000(cryosparc)
(SELinux無効化)
[root@cryosparc ~]# grubby --update-kernel ALL --args selinux=0
[root@cryosparc ~]# grub2-mkconfig -o /boot/efi/EFI/rocky/grub.cfg <--- UEFIなら
[root@cryosparc ~]# grub2-mkconfig -o /boot/grub2/grub.cfg <-- BIOSなら
[root@cryosparc ~]# reboot
:
[root@cryosparc ~]# getenforce
Disabled
[root@cryosparc ~]#ssdなスクラッチ領域(/scr)を作成します. ハードウエア要件の所の「Fast Local Storage」に該当する箇所です
[root@cryosparc ~]# lsblk /dev/sdb
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINTS
sdb 8:16 0 1T 0 disk
[root@cryosparc ~]# parted /dev/sdb mklabel gpt
[root@cryosparc ~]# parted /dev/sdb mkpart primary 0% 100%
[root@cryosparc ~]# mkfs.xfs -L scr /dev/sdb1
[root@cryosparc ~]# echo "LABEL=scr /scr xfs defaults 0 0" > /etc/fstab
[root@cryosparc ~]# mkdir /scr
[root@cryosparc ~]# systemctl daemon-reload
[root@cryosparc ~]# mount -a
[root@cryosparc ~]# chmod 1777 /scrcryoSPARCサービス用アカウント cryosparc 向けのスクラッチフォルダを用意します
[root@cryosparc ~]# mkdir /scr/cs
[root@cryosparc ~]# chown cryosparc:cryosparc /scr/cscryoSPARCサービス用アカウント cryosparc に公開鍵を作ってパスワードなしでその計算機にログインできるようにします
[root@cryosparc ~]# su - cryosparc
[cryosparc@cryosparc ~]$ ssh-keygen -t ed25519
:
Enter file in which to save the key (/home/cryosparc/.ssh/id_ed25519): <--そのままリターン
Created directory '/home/cryosparc/.ssh'.
Enter passphrase (empty for no passphrase): <--そのままリターン
Enter same passphrase again: <--そのままリターン
:
[cryosparc@cryosparc ~]$
[cryosparc@cryosparc ~]$ cat .ssh/id_ed25519.pub >> ~/.ssh/authorized_keys
[cryosparc@cryosparc ~]$ chmod 600 ~/.ssh/authorized_keysこれで「ssh cryosparc」としても初回鍵の登録さえ済めば、二回目はパスワードなしでその計算機にre-loginできます
ジョブ投入やcryoSPARCのupdate時に効きます
そしてcryoSPARCをインストールする
[cryosparc@cryosparc ~]$ tar xf ~/src/cryosparc_master.tar.gz
[cryosparc@cryosparc ~]$ tar xf ~/src/cryosparc_worker.tar.gz
[cryosparc@cryosparc ~]$ cd cryosparc_master/
[cryosparc@cryosparc cryosparc_master]$ ./install.sh \
--standalone \
--license xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx \
--worker_path /home/cryosparc/cryosparc_worker \
--dbpath /home/cryosparc/database \
--ssdpath /scr/cs \
--port 39000 \
--initial_email saber@fgo.jp \
--initial_password saber \
--initial_username saber \
--initial_firstname Artoria \
--initial_lastname Pendragon
上記 install.sh を実行すると下記のような確認画面が表示されます
************ CRYOSPARC SYSTEM: STANDALONE INSTALLER **************
Installation Settings:
License ID : xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx
Root Directory : /home/cryosparc/cryosparc_master
Master Hostname : cryosparc.sybyl.local
Database Directory : /home/cryosparc/database
Base HTTP Port Number : 39000
Developer Install : false
Operating System : Linux
Insecure Install : false
Standalone Install : true
Worker Root Directory : /home/cryosparc/cryosparc_worker
Initial User Email : saber@fgo.jp
Initial User Name : saber
Initial First Name : Artoria
Initial Last Name : Pendragon
SSD : true
SSD Path : /scr/cs
Version : v4.7.1
******************************************************************
The CryoSPARC System master installation will host a database,
web application, and command layer for CryoSPARC, but will not
perform processing jobs.
Please read and confirm the above settings. The CryoSPARC database
will be stored at the database directory which is relative to the
root directory, unless provided as an absolute path.
You can change the database directory now by passing the --dbpath
parameter to this installer, or later via the command line.
Are the above settings correct?
1) Yes
2) No
#?入力値に問題がなければ[1]を入力します。そうするとアプリの展開らが始まって
最後に
CryoSPARC System master has now been installed.
Add bin directory to your ~/.bashrc ?
1) Yes
2) No
#?と問われるが、[1]を入力します。これで cryoSPARCサービスが稼働します
計算機にログインして使うなら、ブラウザを立ち上げて「http://localhost:39000/」へアクセスする
もし計算機以外からのアクセスならその計算機のport番号39000にアクセスする「http://cryosparc.sybyl.local:39000/」とか
まずは停止方法
「~/.bashrc」に組み込まれた「export PATH="/home/cryosparc/cryosparc_master/bin":$PATH」が有効であれば
[cryosparc@cryosparc ~]$ cryosparcm stop
(確認)
[cryosparc@cryosparc ~]$ cryosparcm status
:
CryoSPARC is not running.
:
[cryosparc@cryosparc ~]$起動方法は「cryosparcm start」で行います
[cryosparc@cryosparc ~]$ cryosparcm start
:
CryoSPARC master started.
From this machine, access CryoSPARC and CryoSPARC Live at
http://localhost:39000
From other machines on the network, access CryoSPARC and CryoSPARC Live at
http://cryosparc.sybyl.local:39000
Startup can take several minutes. Point your browser to the address
and refresh until you see the CryoSPARC web interface.
[cryosparc@cryosparc ~]$計算機がbootしたときに連携してcryoSAPRCを起動したり、shutdownと共にcryoSAPRCを停止させる方法がある.
cryoSPARC向けの systemctl を登録すればそれができる. 一応そのテンプレートが展開した cryosparc_master に用意されていて
[cryosparc@cryosparc ~]$ ls -l cryosparc_master/systemd/
total 12
-rw-r--r--. 1 cryosparc cryosparc 376 Jun 19 23:12 cryosparc-supervisor.service
-rw-r--r--. 1 cryosparc cryosparc 1102 Jun 19 23:12 INSTALL-INSTRUCTIONS.txt
-rwxr-xr-x. 1 cryosparc cryosparc 432 Jun 19 23:12 install_services.sh
[cryosparc@cryosparc ~]$ここにある「install_services.sh」を実行すれば用意してくれる
[cryosparc@cryosparc ~]$ cd cryosparc_master/systemd/
[cryosparc@cryosparc systemd]$ eval $(cryosparcm env)
[cryosparc@cryosparc systemd]$ sudo env "CRYOSPARC_ROOT_DIR=$CRYOSPARC_ROOT_DIR" ./install_services.shただ、、これはユーザcryoSPARCがsudo権限を有していれば使える代物.
sudo設定が面倒なら直接rootになって操作した方が早いかな.
[cryosparc@cryosparc systemd]$ su -
[root@cryosparc ~]# vi /etc/systemd/system/cryosparc-supervisor.service
[Unit]
Description=Process Monitoring and Control Daemon for CryoSPARC
[Service]
User=cryosparc
Group=cryosparc
Type=forking
ExecStart=/home/cryosparc/cryosparc_master/bin/cryosparcm supervisord -c /home/cryosparc/cryosparc_master/supervisord.conf
ExecStartPost=/home/cryosparc/cryosparc_master/bin/cryosparcm start --systemd
PIDFile=/home/cryosparc/cryosparc_master/run/supervisord.pid
WorkingDirectory=/home/cryosparc/cryosparc_master
[Install]
WantedBy=multi-user.target
[root@cryosparc ~]# systemctl daemon-reload
[root@cryosparc ~]#既にユーザcryosparcで cryoSPARCサービスを稼働しているのなら一旦停止して
[cryosparc@cryosparc ~]$ cryosparcm stop
[cryosparc@cryosparc ~]$ su -
[root@cryosparc ~]# systemctl enable cryosparc-supervisor.service --nowこれで自動起動、自動停止になります。
この自動起動後にcryosparcユーザで「cryosaprcm stop」「cryosaprcm start」と再起動すると
それは機能しますが、計算機が再起動すると /tmp に cryoSPARAC 由来の sock ファイルが残り起動に失敗します。
その際は
[cryosparc@cryosparc ~]$ cryosparcm stop
[cryosparc@cryosparc ~]$ rm /tmp/*.sockとしてからrootにて
[root@cryosparc ~]# systemctl restart cryosparc-supervisor.serviceとする。
インストールスクリプトの「--port」の数字が10離れていればOK. 39000なら39010とかで指定します