Houdiniには標準でHQueueと呼ばれるジョブマネージャーが用意されています。
ここでは、そのインストール方法を説明します。
トラブルシューティングに関しては、HQueue日本語ドキュメント(メンバー限定)を参照してください。
尚、HQueueに投入するHIPファイルの場所は、UNCパス(//マシン名/共有フォルダ/***といったパス)またはHQueueサーバーで指定したネットワークドライブにある必要があります。
各マシンの役割について
ジョブ投入マシン
ジョブを投入します。Houdini上でHQueue Render/Simulationレンダーノードを使用してHQueueサーバーにジョブを投入します。
HQueueサーバー
ジョブを管理し、Webベースのジョブマネージャーを立ち上げます。
HQueue Serverをインストールする必要があります。
HQueueクライアント
ジョブを実行します。
HQueue Clientをインストールする必要があります。
共有フォルダにインストールされたHoudiniを実行することができるので、クライアントにHoudiniがインストールされている必要はありません。ただし、ライセンスを取得する必要があるためLicense Administratorがインストールされていて、Houdini Engine(旧HBatch)ライセンスやRenderライセンスがつかめる必要があります。
共有フォルダ
バッチ処理するHIPファイルを格納する場所です。またクライアントが実行するHoudiniの実行ファイルの場所に指定することもできます。
ライセンスサーバー
クライアントが使用するライセンスサーバー。
ジョブの内容によって使用されるライセンスが異なります。
- HIPファイルからIFD(Mantra用レンダリング記述ファイル)を生成する→Houdini Engine(旧HBatch)ライセンスを消費します。なければHoudini/Houdini FXライセンスを消費します。
- IFD(Mantra用レンダリング記述ファイル)からレンダリングをする→Renderライセンスを消費します。
- HIPファイルからシミュレーションを実行する→Houdini Engine(旧HBatch)ライセンスを消費します。なければHoudini/Houdini FXライセンスを消費します。
ネットワーク環境について
- 上記のマシン間でネットワークの通信を妨げる環境、例えばファイアーウォールは無効にしてください。
- HQueue Serverサービスのアカウント権限が、共有フォルダで許可されていなければなりません。
- HQueue Clientサービスのアカウント権限が、共有フォルダで許可されていなければなりません。
- HQueue Clientサービスがライセンスサーバーからライセンスを取得できなければなりません。
HQueue Serverのインストール
通常のHoudiniインストーラーを実行します。
インストーラーの”Choose Components“の項目まで進みます。
HQueue Serverにチェックを付けます。
HQueue ServerをHQueue Clientと兼用したい場合はHQueue Clientにもチェックを付けます。
ここではHQueue Serverだけにチェックを付けた場合で説明します。HQueue Serverのインストール先を指定します。
HQueue Serverサービスの名前を指定します。これはそのままで良いでしょう。
共有フォルダの場所を指定します。後で共有フォルダやドライブの割り当てを変更することができますので、初めての方はこの設定のまま【Next】をクリックします。
“I would like to create a shared folder with the following properties“の方を選択すると、その共有フォルダの中に、クライアントで実行するHoudiniの実行ファイルが自動的にコピーされるので便利です。
これで設定項目が終わりですので、【Install】をクリックしてインストールを完了します。
HQueue Serverのインストールが完了すると、サービス(コントロールパネル>システムとセキュリティ>管理ツール)にHQueueServerサービスが作成されます。
共有フォルダがHQueueServerとは別のマシンの場合には、HQueueServerサービスのログオンの設定を変更する必要があります。
HQueueServerサービスを選択して右クリックからプロパティを実行します。
“HQueueServerのプロパティ”から、【ログオン】タブをクリックして、【アカウント】で共有フォルダにアクセスできるユーザーアカウントとパスワードを設定します。そしてHQueueServerサービスを再起動します。
HQueueServerのインストールディレクトリの内容
sharedフォルダ
デフォルトでの共有フォルダです。
sharedフォルダには、houdini_distrosフォルダとprojectsのフォルダが作成されています。
houdini_distrosフォルダには、クライアントに実行させるHoudiniの実行ファイルが格納されています。
projectsフォルダには、クライアントに実行させるHIPファイルを配置します。
hqserver.iniファイル
HQueueServerの初期設定ファイルです。
共有フォルダの場所やその共有フォルダのマウントなどの変更することができます。
# The shared network.
hqserver.sharedNetwork.host = HQueueServer
hqserver.sharedNetwork.path.linux = %(here)s/shared
hqserver.sharedNetwork.path.windows = \\HQueueServer\hq
hqserver.sharedNetwork.path.macosx = %(here)s/HQShared
hqserver.sharedNetwork.mount.linux = /mnt/hq
hqserver.sharedNetwork.mount.windows = H:
hqserver.sharedNetwork.mount.macosx = /Volumes/HQShared
# Server port number.
hqserver.port = 5000
HQueue Clientのインストール
通常のHoudiniインストーラーを実行します。
インストーラーの”Choose Components“の項目まで進みます。
HQueue Clientにチェックを付けます。
HQueue Clientのインストール先を指定します。
HQueueServerのホスト名とポート番号を指定します。
HQueueClientサービスが共有フォルダにアクセスできる権限を指定します。デフォルトはNetwork Serviceアカウントになっています。
ここでは、後で変更する方法を説明したいのでそのままの設定で【Install】をクリックします。
HQueue Clientのインストールが完了すると、サービス(コントロールパネル>システムとセキュリティ>管理ツール)にHQueueClientサービスが作成されます。
HQueueClientサービスのアカウントはデフォルトでは”Network Service”になっています。
ネットワーク環境がドメインではなくワークグループであるなら、この権限では共有フォルダにアクセスできないので必ずユーザーアカウントを設定する必要があります。
HQueueClientサービスを選択して右クリックからプロパティを実行します。
“HQueueClientのプロパティ”から、【ログオン】タブをクリックして、【アカウント】で共有フォルダにアクセスできるユーザーアカウントとパスワードを設定します。そしてHQueueClientサービスを再起動します。
HQueueClientのインストールディレクトリの内容
hqnode.iniファイル
HQueueClientの初期設定ファイルです。
HQueueServerのホスト名やポート番号を変更することができます。
[main]
server = HQueueServer
port = 5000
hqclientd.batファイル
HQueueClientサービスなしでHQueueClientプロセスを再起動させることができます。
hqclientd.batを実行すればHQueueClientプロセスがPythonプロセスとして実行されます。
hqnode.pidに記述されているプロセスIDでプロセスが起動します。
HQueueClientサービスで接続エラーがでる場合には、このバッチを試すと動くことがあります。
ジョブの投入
ジョブを投入するには、HoudiniでHQueue Render(ネットワークレンダリング用)またはHQueueSimulation(ネットワークシミュレーション)のレンダーノードを追加します。
ここではHQueue Renderレンダーノードを使用した例を説明します。
HQueue RenderのOutput DriverにレンダリングするMantraノードを、
HQueue ServerにはHQueueServer名:ポート番号を指定します。
Mantra OptionsのGenerate IFDsがデフォルトでチェックが付いています。これはHIPからIFDへの変換をクライアント側にさせるかどうかです。Houdini Engine(旧HBatch)ライセンスがないのであれば、このチェックをオフにします。
ジョブのモニタリング
ジョブの管理は、WebブラウザのURLにHQueueServer名:ポート番号を指定すると、ジョブをモニタリングすることができます。