Here is the suggested approach to installing and building an HQueue farm:
- Setup Houdini Licensing.
The HQueue Server, the client machines and the workstations all require access to Houdini, HBatch and Mantra licenses. Before installing HQueue, it is a very good idea to setup a Houdini License Server machine and ensure that every machine on the farm has access to the server and the licenses.
- Choose an HQueue Server machine and a Shared Folder Server machine.
Decide which machine or machines on your farm will run the HQueue Server and host the shared folder.
The HQueue Server process is lightweight and does not have a lot of hardware requirements. There are no hard-line minimum requirements for the server but a machine with at least 1-2 CPUs and 1-2 Gbs of RAM would be sufficient.
For the Shared Folder Server machine, it is ideal to use a machine with fast I/O hardware (i.e. hard drives, controllers, etc.). During heavy loads, client machines will be making a lot of writes and reads to and from the shared folder.
Note that it is possible to use the same machine to run the HQueue Server and to host the shared folder. For many small farms, this is probably a good idea since it saves on machine resources. However, for larger farms, it is advised to have 2 different machines or else the HQueue Server could be bogged down by heavy I/O traffic from the client machines.
- Verify that network connections are possible between machines.
The client machines will communicate with the server and with the shared folder host machine. Check that every client machine can locate the HQueue Server machine by its domain (DNS) name. Similarly check that the clients can locate the Shared Folder Server machine by its DNS name.
Additionally check that the host names (or computer names) of the client machines match their DNS names. This is important for when the HQueue server needs to contact the clients.
- Create the shared folder.
Create a folder that will be shared on the network. The purpose of the shared folder is to provide a space where files can be easily accessed by client machines and workstations.
Use one of the common file sharing protocols (i.e. NFS, Samba) to share the folder.
If you already have a shared folder on your network that you would like HQueue to use, then you can skip this step.
If you are unsure how to create and configure a shared folder and you have a small farm, then you can skip this step for now and just let the HQueue Server installation do the work for you. It is an option in the installer.
- Mount the shared folder on the client machines.
Next mount the shared folder on every client machine. It does not matter where on the client machine the mount point is located, but what is important is that the mount point is consistent across machines of the same operating system.
For example, if the shared folder is mounted at /mnt/hq on one of the Linux client machines, then it *MUST* be mounted at /mnt/hq for *ALL* of the Linux client machines. The mount point can be different for machines of different operating systems, but they must be the same for machines of the same operating system.
If you are unsure how to create mount points to the shared folder and you have a small farm, then you can skip this step for now and just let the HQueue Client installation do the work for you. This is assuming that you also plan to let the HQueue Server installation create the shared folder as well.
- Install the HQueue Server.
Now that the machines are configured for networking and licensing, HQueue can be installed. To do so, download the Houdini installer from the Houdini Download Page. Run the installer and choose to install the "HQueue Server" from the components list. Follow the installer's instructions.
The installer will have the option of creating a shared folder that will work with HQueue. You can ignore this option if you have already created and configued a shared folder.
When the installation is complete, you can view the HQueue web interface by opening a web browser and navigating to http://<server_name>:5000 where <server_name> is the DNS name of your HQueue Server machine.
- Configure the HQueue Server to know the location of the shared folder.
Although the HQueue Server does not access the shared folder, it still needs to know where it is located on the network so that it can relay that bit of information to the client machines and the workstations (in the form of the $HQROOT variable). You need to register the shared folder with the HQueue Server by modifying the server's configuration.
If you decided to create and configure the shared folder during the HQueue Server installation, then you can skip this step because the installer has already registered the folder for you.
- Add the client machines to HQueue.
There are a couple of ways to add a client machine to the HQueue farm depending on the machine's operating system:
When a machine is added to the farm, it will appear on the CLIENTS page of the HQueue web interface.
- Install Houdini on the farm.
At this point the main components of your HQueue farm are setup and running -- the server, the shared folder host machine, the license server, the clients. Next, you need to install Houdini somewhere on the farm so that the client machines can perform Mantra renders and dynamic simulations.
The easiest way is to install a copy of Houdini onto the shared folder:
An alternative to installing Houdini on the shared folder is to install Houdini on every client machine on the farm. Although this requires a lot of administrative work, it has the benefit that Houdini is loaded from a local folder instead of a network one which can improve Houdini's startup time.
Note that installing Houdini locally on every client machine requires that Houdini is installed to the same folder path on every machine. Additionally, HQueue can only run Houdini from a local folder if every client machine on the farm has the same operating system. Heterogeneous farms must install copies of Houdini onto the shared folder.
- Test the farm!
The installation and setup of your HQueue farm is complete!
Test your farm by submitting a couple of render jobs:
If you run into any problems, then check out the
page for assistance.