PIXARの分散レンダリングシステムTractorの設定ノート。
Tractorは1ライセンスあたり16,000円くらいで買えて割安なのと、APIも充実しててカスタマイズが容易。ただそのメリットの反作用で(RenderMan Studioと組み合わせれば楽なのでしょうが)、それ以外のアプリケーションだとちょっと面倒。
Deadlineとか様々なアプリケーションのプラグインが用意されてて魅力的なんだけど、ライセンス料が25,000円かかるのと.NET Framework互換ライブラリを要求されるのでやめました。Windows環境中心ならDeadlineにしたと思うんですけど。
Pixar - Tractor
https://renderman.pixar.com/view/pixars-tractor
とりあえず夏のプロジェクトまでに安定動作させたいということで、ぼちぼちノート取りつつ設定・検証作業していきます。
Tractorは1ライセンスあたり16,000円くらいで買えて割安なのと、APIも充実しててカスタマイズが容易。ただそのメリットの反作用で(RenderMan Studioと組み合わせれば楽なのでしょうが)、それ以外のアプリケーションだとちょっと面倒。
Deadlineとか様々なアプリケーションのプラグインが用意されてて魅力的なんだけど、ライセンス料が25,000円かかるのと.NET Framework互換ライブラリを要求されるのでやめました。Windows環境中心ならDeadlineにしたと思うんですけど。
Pixar - Tractor
https://renderman.pixar.com/view/pixars-tractor
とりあえず夏のプロジェクトまでに安定動作させたいということで、ぼちぼちノート取りつつ設定・検証作業していきます。
商用版RenderManのライセンスサーバーとの組み合わせなので、非商用だと動作しないかもしれません。
CentOS7 1611
Tractor-2.2
RenderMan ProServer 20.11
障害時の復旧を考慮して、tractor-engineは仮想マシンで稼働させます。というか、最近は常時稼働のサーバー類は全部仮想化してます。
Tractorのドキュメントに従って設定を行います。
Tractor - Getting Started
https://rmanwiki.pixar.com/display/TRA/Configuration
CentOSをインストールして、tractorというユーザーを作成。
DNS、LADP、hostsなどの設定で、サーバー名の解決をしておく。レンダーファームが固定された専用マシンであればhosts決め打ちでいいかと思いますが、作業用のマシンの空き時間にレンダリングに参加させたいという場合には動的なホスト名の解決をしておくのがいいかと。
(インストール時にしてなければ)Tractor Engineのマシンのホスト名をちゃんと設定しなおしておく。
TractorをインストールしてLicenseAppでライセンスファイルを取得。ライセンスファイルの記述を修正してライセンスサーバーを指定。
Tractor Engineの設定ファイルを編集。Linuxの場合は
/opt/pixar/Tractor-2.2/config/
の中の
tractor-engine.config
tractor-engineのホスト名を設定。
"EngineDiscovery": "tractor",
tractor-engineのオーナーを設定
"EngineOwner": "tractor",
ポート番号は80だとroot権限が必要になるので8080に変更。root権限でTractorを実行するなら80のままでも大丈夫。
"ListenerPort": 8080,
Tractorのデータ保存先を変更。/var/spoolなどが推奨されていますが、うちでは/home/tractor以下(先ほど作成したtractorユーザー)にdataフォルダとconfigフォルダ(後述)を設定します。
"TractorDataDirectory": "/home/tractor/data",
/opt/pixar/Tractor-2.2/bin/tractor-engineを直接起動してみる。エラーがでなければひとまずOK。
次にシステムサービスとして登録。
CentOS 7はsystemdでサービスを起動するのでsystemdの設定(CentOS6以下ではsysVinit。最近のTractorではsystemdが推奨されてデフォルトでそうなってます。
Tracrtorのsystemdサービスのフォルダに移動。
cd /opt/pixar/Tractor-2.2/lib/SystemServices/systemd/
設定ファイルtractor-engineを編集。先ほど/var/spoolの替わりに/home/tractor以下にconfigを設定していると書きましたが、それをここで設定しないといけません。
CONFIG=/home/tractor/config
設定ファイルを保存したらファイルをシステムにコピーしていきます。
ユニットファイル
sudo cp tractor-engine.service /usr/lib/systemd/system
設定ファイル
sudo cp tractor-engine /etc/sysconfig/tractor-engine
コピーしたらサービスを有効にします
sudo systemctl enable tractor-engine
tractor-engineサービスの起動
sudo systemctl start tractor-engine
問題なければウェブブラウザでhttp://tractor:8080(今回の私の設定の場合)を指定すればtractorダッシュボードへアクセスできます。
ダッシュボードへのうまくアクセスできない場合、特に他のマシンからアクセスできない場合は、先ほどのホスト名の解決がうまくいってない可能性があります。またFirewallの設定によってブロックされている可能性もあります。Tractorは様々なポートを使用するので、それらのポートが解放されているか確認しておく必要があります。
Tractor - Configuration
https://rmanwiki.pixar.com/display/TRA/Configuration
ひとまずこれでTractor Engineのインストールと設定完了。