Houdini 20.5 HQueue

データベースエンジンを切り替える方法

HQueueファームのSQLiteデータベスバックエンドを別のデータベースエンジンに変更する方法。

On this page

概要

デフォルトでは、HQueueファームはデータベースバックエンドにSQLiteを採用しています。 SQLiteは軽量でポータブルですが、スケーラブルではありません。 同時に1つの書き込みしか実行できない制限があるので、高並列処理には向いていません。 HQueueでは、データベースバックエンドをよりパフォーマンスの良いデータベースエンジン(MySQLやPostgreSQL)に変更するオプションが用意されています。

Note

たいていのHQueueファームはSQLiteで十分です。 MySQLやPostgreSQLに切り替えるのは、HQueueウェブインターフェースでフリーズや速度低下が顕著になる大規模ファームでのみ恩恵が得られます。

Note

データベースバックエンドをMySQLまたはPostgreSQLへ切り替えても、既存のSQLiteデータベースからデータはマイグレートされません。 ジョブ、クライアント、グループ、リソース情報は失われますが、HQueueクライアントがサーバーにpingを送信すると、新しいデータベースは自動的にクライアント情報を収集し直します。

MySQLへの切り替え

前提条件

HQueueサーバーには、以下のパッケージが必要です:

  • HQueueサーバー上にMySQLとデータベース管理ツールのMySQL Workbench

  • mysqlclient Pythonパッケージ。

    これは、HQueueサーバー上にインストールされていなければなりません:

    Linux

    ターミナルで以下のコマンドを打ちます:

    sudo /opt/hqueue/bin/pip3 install mysqlclient
    

    Mac

    ターミナルで以下のコマンドを打ちます:

    sudo /Library/HQueueServer/Frameworkds/Python.framework/Versions/X.Y/bin/pip3 install mysqlclient
    

    Windows

    Windowsコマンドプロンプトは管理者として実行して以下のコマンドを打ちます:

    cd C:/HQueueServer/pythonXY/Scripts
    pip3.exe install mysqlclient
    

    Note

    mysqlclientをインストールする前にpkg-configパッケージとlibmysqlclient-devパッケージがインストールされている必要があります。

セットアップ手順

  1. HQueueサーバーを停止します。

    HQueueサーバーを停止する手順は、FAQを参照してください。

  2. MySQLデータベースシェルにアクセスします。

    ターミナルまたはWindowsコマンドプロンプトで以下のコマンドを打ちます:

    mysql -u root -p
    
  3. HQueueデータベースを作成します。

    MySQLデータベースシェルで以下のコマンドを打ちます:

    mysql> CREATE DATABASE hqueue;
    

    このデータベースがMySQL Workbenchに表示されるはずです。

  4. データベースユーザアカウントを作成します(任意)。

    Note

    HQueueデータベースの接続に使用したいデータベースユーザアカウントを既に持っている場合は、この手順をスキップしてください。

    MySQLデータベースシェルで以下のコマンドを打ちます:

    mysql> CREATE USER '<username>'@'localhost' IDENTIFIED BY '<password>';
    

    <username><password>は、それぞれ新しいユーザアカウントのユーザ名とパスワードです。

  5. そのデータベースユーザアカウントにHQueueデータベースアクセス権限を与えます。

    MySQLデータベースシェルで以下のコマンドを打ちます:

    mysql> GRANT ALL ON hqueue.* TO '<username>'@'localhost';
    

    <username>はデータベースユーザアカウントです。

  6. HQueueサーバーがMySQLデータベースに接続するように構成します。

    HQueueサーバー構成ファイルのhqserver.iniをテキストエディタで開き、そのファイルの最後に以下の内容を追加します:

    [database]
    engine = django.db.backends.mysql
    name = hqueue
    user = <username>
    password = <password>
    

    <username><password>は、MySQLデータベースに接続するのに必要なユーザ認証情報です。

    データベース設定オプションの詳細は、HQueueの設定を参照してください。

  7. HQueueデータベーステーブルを作成します。

    Linux

    ターミナルで以下のコマンドを打ちます:

    cd /opt/hqueue
    sudo ./bin/python3 ./hqserver/manage.py migrate
    

    Mac

    ターミナルで以下のコマンドを打ちます:

    cd /Library/HQueueServer
    sudo ./Frameworks/Python.framework/Versions/X.Y/bin/python3 ./hqserver/manage.py migrate
    

    Windows

    Windowsコマンドプロンプトは管理者として実行して以下のコマンドを打ちます:

    cd C:/HQueueServer
    pythonXY/bin/pythonX.Y.exe hqserver/manage.py migrate  
    
  8. HQueueサーバーを再起動します。

    HQueueサーバーを起動する手順は、FAQを参照してください。

PostgreSQLへの切り替え

前提条件

HQueueサーバーには、以下のパッケージが必要です:

  • PostgreSQLとデータベース管理ツールのpgAdmin.

  • psycopg Pythonパッケージ。

    これは、HQueueサーバー上にインストールされていなければなりません:

    Linux

    ターミナルで以下のコマンドを打ちます:

    sudo /opt/hqueue/bin/pip3 install psycopg2-binary
    

    Mac

    ターミナルで以下のコマンドを打ちます:

    sudo /Library/HQueueServer/Frameworkds/Python.framework/Versions/X.Y/bin/pip3 install psycopg2-binary
    

    Windows

    Windowsコマンドプロンプトは管理者として実行して以下のコマンドを打ちます:

    cd C:/HQueueServer/pythonXY/Scripts
    pip3.exe install psycopg2-binary
    

セットアップ手順

  1. HQueueサーバーを停止します。

    HQueueサーバーを停止する手順は、FAQを参照してください。

  2. PostgreSQLデータベースシェルにアクセスします。

    ターミナルまたはWindowsコマンドプロンプトで以下のコマンドを打ちます:

    psql -U postgres
    

    PostgreSQLインストール時に設定したpostgresパスワードの入力を促されます。

  3. HQueueデータベースを作成します。

    PostgreSQLデータベースシェルで以下のコマンドを打ちます:

    postgres=# CREATE DATABASE hqueue;
    

    The database should be visible in pgAdmin.

  4. データベースユーザアカウントを作成します(任意)。

    Note

    HQueueデータベースの接続に使用したいデータベースユーザアカウントを既に持っている場合は、この手順をスキップしてください。

    PostgreSQLデータベースシェルで以下のコマンドを打ちます:

    postgres=# CREATE USER <username> WITH PASSWORD '<password>';
    

    <username><password>は、それぞれ新しいユーザアカウントのユーザ名とパスワードです。

  5. そのデータベースユーザアカウントにHQueueデータベースアクセス権限を与えます。

    PostgreSQLデータベースシェルで以下のコマンドを打ちます:

    postgres=# GRANT CONNECT ON DATABASE hqueue TO <username>;
    postgres=# \c hqueue
    postgres=# GRANT ALL PRIVILEGES ON ALL TABLES IN SCHEMA public TO <username>;
    postgres=# GRANT ALL PRIVILEGES ON ALL SEQUENCES IN SCHEMA PUBLIC TO <username>;
    

    <username>はデータベースユーザアカウントです。

  6. pgAdminでサーバーを登録します。

    名前とホスト名/アドレスのフィールドに適切な値を入力します。 次に、ユーザ名とパスワードのフィールドに、上記の手順で選択したユーザ名とパスワードをそれぞれ入力します。

  7. HQueueサーバーがPostgreSQLデータベースに接続するように構成します。

    HQueueサーバー構成ファイルのhqserver.iniをテキストエディタで開き、そのファイルの最後に以下の内容を追加します:

    [database]
    engine = django.db.backends.postgresql
    name = hqueue
    user = <username>
    password = <password>
    

    <username><password>は、PostgreSQLデータベースに接続するのに必要なユーザ認証情報です。

    データベース設定オプションの詳細は、HQueueの設定を参照してください。

  8. HQueueデータベーステーブルを作成します。

    Linux

    ターミナルで以下のコマンドを打ちます:

    cd /opt/hqueue
    sudo ./bin/python3 ./hqserver/manage.py migrate
    

    Mac

    ターミナルで以下のコマンドを打ちます:

    cd /Library/HQueueServer
    sudo ./Frameworks/Python.framework/Versions/X.Y/bin/python3 ./hqserver/manage.py migrate
    

    Windows

    Windowsコマンドプロンプトは管理者として実行して以下のコマンドを打ちます:

    cd C:/HQueueServer
    pythonXY/bin/pythonX.Y.exe hqserver/manage.py migrate  
    
  9. HQueueサーバーを再起動します。

    HQueueサーバーを起動する手順は、FAQを参照してください。

HQueue

はじめよう

  • HQueueについて

    HQueueは多目的なジョブスケジューリングシステムです。このシステムを利用することで、レンダリング、シミュレーション、他の処理をリモートクライアント上に分散させることができます。

  • インストール

    基本的なHQueueファームのセットアップ方法。

  • 設定

    HQueueサーバーとクライアントのオプションを設定する方法。

  • ジョブを投入する方法

    ファーム上にワークを配置する方法。

ファームの管理

  • ジョブの管理

    ファーム上のジョブを閲覧/管理する方法。

  • クライアントの管理

    ウェブインターフェースまたはローカルログインを使って、クライアントマシンを追加/削除/再起動/管理する方法。

  • クライアントグループの管理

    ウェブインターフェースまたはローカルログインを使って、クライアントマシンのグループを作成/管理する方法。

  • ネットワークフォルダ

    Network Folder管理ページの使い方。

  • リソース

    各クライアントで利用可能なリソース(例えば、ライセンス)を指定することができるので、そのジョブを実行可能なクライアントに対してそのジョブのスケジュールを組むことができます。

  • ノート

    各クライアントとジョブには、情報を記載したノートを添付することができます。

次のステップ

  • ログ

    HQueueサーバーはサーバーエラーとスケジュールイベントのログを別々に記録し、各クライアントもログを生成します。

  • アンインストールする方法

    HQueueサーバーまたはクライアントのソフトウェアをアンインストールする方法。

  • FAQs

    よくある質問の回答。

導師レベル