What & How & Why

差别

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

到此差别页面的链接

两侧同时换到之前的修订记录前一修订版
后一修订版
前一修订版
vfx:houdini:miscs:hqueue [2022/05/27 12:57] – [Houdini launcher 可能需要的库] codingharevfx:houdini:miscs:hqueue [2022/12/06 13:23] (当前版本) – [HQueue Server] codinghare
行 34: 行 34:
 </code> </code>
 [[https://doc.qt.io/qt-5/linux-requirements.html|Ref: Qt for Linux/X11]]  [[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%> <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的版本) 当前 houdini 版本为 //19.0.622//,当前 HQUEUE 的版本实际上是 //18.5.696//,因此不建议使用 Houdini Launcher 进行安装(BUG 实在太多)。//houdini-18.5.696-linux_x86_64_gcc6.3.tar.gz// 这个版本仍然有安装文件(不要下载 python3的版本)
 </WRAP> </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>