Tractor設定ノート - Tractor Engine

April 8, 2017
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

とりあえず夏のプロジェクトまでに安定動作させたいということで、ぼちぼちノート取りつつ設定・検証作業していきます。

商用版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ダッシュボードへアクセスできます。

tractor-dashboard-settingup00017996e.png

ダッシュボードへのうまくアクセスできない場合、特に他のマシンからアクセスできない場合は、先ほどのホスト名の解決がうまくいってない可能性があります。またFirewallの設定によってブロックされている可能性もあります。Tractorは様々なポートを使用するので、それらのポートが解放されているか確認しておく必要があります。

Tractor - Configuration
https://rmanwiki.pixar.com/display/TRA/Configuration

ひとまずこれでTractor Engineのインストールと設定完了。