What & How & Why

差别

这里会显示出您选择的修订版和当前版本之间的差别。

到此差别页面的链接

两侧同时换到之前的修订记录前一修订版
后一修订版
前一修订版
vfx:houdini:miscs:hqueue [2022/05/27 09:31] – [License Server] codingharevfx:houdini:miscs:hqueue [2022/12/06 13:23] (当前版本) – [HQueue Server] codinghare
行 26: 行 26:
 192.168.1.111 hte # render node 5 192.168.1.111 hte # render node 5
 </code> </code>
-==Houdini launcher 可能需要的库==+==Houdini launcher 可能需要的界面库==
 <code bash> <code bash>
-sudo dnf install xcb-util-wm+sudo dnf -y install xcb-util-wm
 sudo dnf -y install xcb-util-image sudo dnf -y install xcb-util-image
 sudo dnf -y install xcb-util-keysyms sudo dnf -y install xcb-util-keysyms
 sudo dnf -y install xcb-util-renderutil sudo dnf -y install xcb-util-renderutil
 +</code>
 +[[https://doc.qt.io/qt-5/linux-requirements.html|Ref: Qt for Linux/X11]] 
 +
 +===HQueue Server===
 +<WRAP center round tip 100%>
 +PS: 最新的19.5版本已经提供了新版本的 HQUEUE,使用安装包直接安装即可(//Launcher// 的依赖依旧是个迷)
 +</WRAP>
 +
 +<WRAP center round important 100%>
 +当前 houdini 版本为 //19.0.622//,当前 HQUEUE 的版本实际上是 //18.5.696//,因此不建议使用 Houdini Launcher 进行安装(BUG 实在太多)。//houdini-18.5.696-linux_x86_64_gcc6.3.tar.gz// 这个版本仍然有安装文件(不要下载 python3的版本)
 +</WRAP>
 +该部分需要进行两部分的设置:
 +  * Hqueue server
 +  * file shared server
 +由于实现的原因,高版本的 redhat 环境下 hqueue server 的调用存在错误,因此采用手动设置文件夹共享。
 +==安装 hqueue server==
 +将 houdini 安装包解压到指定位置,然后运行:
 +<code bash>
 +./hqueue.install
 +</code>
 +选择 hqserver 的安装,按照提示一路按默认即可,在安装程序询问是否要创建共享文件夹时选否。
 +==设置 hosts 文件==
 +linux 下的 ''hosts'' 文件存在于:
 +<code bash>
 +/etc/hosts
 +</code>
 +直接加入之前的 ''hosts'' 内容即可。需要将本地 ip 对应的 name 改为服务器名字:
 +<code cpp>
 +127.0.0.1 rabbit #rabbit is hqserver name
 +</code>
 +==设置共享文件夹==
 +此处以 NFS 的挂载方式来设置共享文件夹。首先,关闭防火墙(如果需要自定义 ACL 可以设置白名单):
 +<code bash>
 +systemctl stop firewalld #stop firewall service
 +systemctl disable firewalld #remove firewall service
 +</code>
 +然后安装 NFS 服务(服务端 / 客户端):
 +<code bash>
 +dns -y install nfs-utils #install nfs service
 +</code>
 +然后在服务端设置需要共享的文件夹:
 +<code bash>
 +sudo nano /etc/exports #NFS shared folder configuration file
 +</code>
 +并指定该文件夹的权限:
 +<code bash>
 +/mnt/hq 192.168.1.100 *(rw, sync, no_root_squash) 
 +</code>
 +上面指定了服务端上的 ''/mnt/hq/'' 目录为共享目录,可读写,会同步,并且客户端的 root 不受该目录权限的约束。需要注意 ''*'' 号可以解决 access denied by server 的问题。\\ \\
 +''/mnt/hq'' 可为任意共享文件夹。此处由于我的 cache 是一块独立的 ssd,因此将其加载到了 ''/mnt/hq'',再通过将其共享到客户端上的 ''/mnt/hq'' 使用。\\ \\  
 +设置完毕之后,重启 NFS 服务,并开启 RPC 服务:
 +<code bash>
 +systemctl restart nfs-server
 +systemctl enable nfs-server #auto start
 +systemctl start rpcbind
 +systemctl enable rpcbind #auto start
 +</code>
 +此时可以在客户端测试:
 +<code bash>
 +showmount -e 192.168.1.100
 +</code>
 +出现以下的信息证明共享已经开启:
 +<code bash>
 +Export list for 192.168.1.100:
 +/mnt/hq (everyone)
 +</code>
 +此时在客户端完成挂载:
 +<code bash>
 +mount -t nfs 192.168.1.100:/mnt/hq/ /mnt/hq/
 +dh -h #check if the mounting exsits
 +</code>
 +到此设置完毕。如果需要让客户端开机自动挂载的话,需要编辑客户端的 ''/etc/fstab'' 文件:
 +<code bash>
 +nano /etc/fstab
 +</code>
 +添加下方的命令:
 +<code bash>
 +192.168.1.100:/mnt/hq /mnt/hq nfs defaults 1 1 
 +</code>
 +==安装 houdini 客户端==
 +farm 中所有的客户机都需要共享一份 houdini 的文件,这些文件的位置被称为 //Target HFS//。通常做法是将该文件安装到 file shared server 中,便于客户端调用。
 +====Hqueue 的维护====
 +==服务端的重启==
 +<code bash>
 +cd /opt/hqueue
 +./scripts/hqserverd restart
 +</code>
 +==客户端的重启==
 +<code bash>
 +cd /home/hquser/hqclient
 +./hqcliented restart
 </code> </code>