======Hqueue======
//Note for Hqueue// \\
----
====安装====
===License Server===
该 Server 并无操作系统,Houdini 子版本的限制(大版本需要匹配)。可以选择 Windows。
- 正常安装并激活
- 修改计算机名方便之后的访问
- 修改 Windows 的 ''Hosts'' 文件对服务器进行域名解析,方便之后的访问。这里的解析最好包括农场内的所有工作点。''Hosts'' 文件的位置:
C:\Windows\System32\drivers\etc\
简单的配置文件:
#example of a hosts configuration
127.0.0.1 hs # hs is the name of the license server
192.168.1.54 hs # LAN address of hs
192.168.1.100 rabbit # HQUEUE & Shared folder Server
192.168.1.101 hare # workstation
192.168.1.103 hta # render node 1
192.168.1.105 htb # render node 2
192.168.1.107 htc # render node 3
192.168.1.109 htd # render node 4
192.168.1.111 hte # render node 5
==Houdini launcher 可能需要的界面库==
sudo dnf -y install xcb-util-wm
sudo dnf -y install xcb-util-image
sudo dnf -y install xcb-util-keysyms
sudo dnf -y install xcb-util-renderutil
[[https://doc.qt.io/qt-5/linux-requirements.html|Ref: Qt for Linux/X11]]
===HQueue Server===
PS: 最新的19.5版本已经提供了新版本的 HQUEUE,使用安装包直接安装即可(//Launcher// 的依赖依旧是个迷)
当前 houdini 版本为 //19.0.622//,当前 HQUEUE 的版本实际上是 //18.5.696//,因此不建议使用 Houdini Launcher 进行安装(BUG 实在太多)。//houdini-18.5.696-linux_x86_64_gcc6.3.tar.gz// 这个版本仍然有安装文件(不要下载 python3的版本)
该部分需要进行两部分的设置:
* Hqueue server
* file shared server
由于实现的原因,高版本的 redhat 环境下 hqueue server 的调用存在错误,因此采用手动设置文件夹共享。
==安装 hqueue server==
将 houdini 安装包解压到指定位置,然后运行:
./hqueue.install
选择 hqserver 的安装,按照提示一路按默认即可,在安装程序询问是否要创建共享文件夹时选否。
==设置 hosts 文件==
linux 下的 ''hosts'' 文件存在于:
/etc/hosts
直接加入之前的 ''hosts'' 内容即可。需要将本地 ip 对应的 name 改为服务器名字:
127.0.0.1 rabbit #rabbit is hqserver name
==设置共享文件夹==
此处以 NFS 的挂载方式来设置共享文件夹。首先,关闭防火墙(如果需要自定义 ACL 可以设置白名单):
systemctl stop firewalld #stop firewall service
systemctl disable firewalld #remove firewall service
然后安装 NFS 服务(服务端 / 客户端):
dns -y install nfs-utils #install nfs service
然后在服务端设置需要共享的文件夹:
sudo nano /etc/exports #NFS shared folder configuration file
并指定该文件夹的权限:
/mnt/hq 192.168.1.100 *(rw, sync, no_root_squash)
上面指定了服务端上的 ''/mnt/hq/'' 目录为共享目录,可读写,会同步,并且客户端的 root 不受该目录权限的约束。需要注意 ''*'' 号可以解决 access denied by server 的问题。\\ \\
''/mnt/hq'' 可为任意共享文件夹。此处由于我的 cache 是一块独立的 ssd,因此将其加载到了 ''/mnt/hq'',再通过将其共享到客户端上的 ''/mnt/hq'' 使用。\\ \\
设置完毕之后,重启 NFS 服务,并开启 RPC 服务:
systemctl restart nfs-server
systemctl enable nfs-server #auto start
systemctl start rpcbind
systemctl enable rpcbind #auto start
此时可以在客户端测试:
showmount -e 192.168.1.100
出现以下的信息证明共享已经开启:
Export list for 192.168.1.100:
/mnt/hq (everyone)
此时在客户端完成挂载:
mount -t nfs 192.168.1.100:/mnt/hq/ /mnt/hq/
dh -h #check if the mounting exsits
到此设置完毕。如果需要让客户端开机自动挂载的话,需要编辑客户端的 ''/etc/fstab'' 文件:
nano /etc/fstab
添加下方的命令:
192.168.1.100:/mnt/hq /mnt/hq nfs defaults 1 1
==安装 houdini 客户端==
farm 中所有的客户机都需要共享一份 houdini 的文件,这些文件的位置被称为 //Target HFS//。通常做法是将该文件安装到 file shared server 中,便于客户端调用。
====Hqueue 的维护====
==服务端的重启==
cd /opt/hqueue
./scripts/hqserverd restart
==客户端的重启==
cd /home/hquser/hqclient
./hqcliented restart