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
パッケージがインストールされている必要があります。
セットアップ手順 ¶
-
HQueueサーバーを停止します。
HQueueサーバーを停止する手順は、FAQを参照してください。
-
MySQLデータベースシェルにアクセスします。
ターミナルまたはWindowsコマンドプロンプトで以下のコマンドを打ちます:
mysql -u root -p
-
HQueueデータベースを作成します。
MySQLデータベースシェルで以下のコマンドを打ちます:
mysql> CREATE DATABASE hqueue;
このデータベースがMySQL Workbenchに表示されるはずです。
-
データベースユーザアカウントを作成します(任意)。
Note
HQueueデータベースの接続に使用したいデータベースユーザアカウントを既に持っている場合は、この手順をスキップしてください。
MySQLデータベースシェルで以下のコマンドを打ちます:
mysql> CREATE USER '<username>'@'localhost' IDENTIFIED BY '<password>';
<username>
と<password>
は、それぞれ新しいユーザアカウントのユーザ名とパスワードです。 -
そのデータベースユーザアカウントにHQueueデータベースアクセス権限を与えます。
MySQLデータベースシェルで以下のコマンドを打ちます:
mysql> GRANT ALL ON hqueue.* TO '<username>'@'localhost';
<username>
はデータベースユーザアカウントです。 -
HQueueサーバーがMySQLデータベースに接続するように構成します。
HQueueサーバー構成ファイルの
hqserver.ini
をテキストエディタで開き、そのファイルの最後に以下の内容を追加します:[database] engine = django.db.backends.mysql name = hqueue user = <username> password = <password>
<username>
と<password>
は、MySQLデータベースに接続するのに必要なユーザ認証情報です。データベース設定オプションの詳細は、HQueueの設定を参照してください。
-
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
-
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
セットアップ手順 ¶
-
HQueueサーバーを停止します。
HQueueサーバーを停止する手順は、FAQを参照してください。
-
PostgreSQLデータベースシェルにアクセスします。
ターミナルまたはWindowsコマンドプロンプトで以下のコマンドを打ちます:
psql -U postgres
PostgreSQLインストール時に設定した
postgres
パスワードの入力を促されます。 -
HQueueデータベースを作成します。
PostgreSQLデータベースシェルで以下のコマンドを打ちます:
postgres=# CREATE DATABASE hqueue;
The database should be visible in pgAdmin.
-
データベースユーザアカウントを作成します(任意)。
Note
HQueueデータベースの接続に使用したいデータベースユーザアカウントを既に持っている場合は、この手順をスキップしてください。
PostgreSQLデータベースシェルで以下のコマンドを打ちます:
postgres=# CREATE USER <username> WITH PASSWORD '<password>';
<username>
と<password>
は、それぞれ新しいユーザアカウントのユーザ名とパスワードです。 -
そのデータベースユーザアカウントに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>
はデータベースユーザアカウントです。 -
pgAdminでサーバーを登録します。
名前とホスト名/アドレスのフィールドに適切な値を入力します。 次に、ユーザ名とパスワードのフィールドに、上記の手順で選択したユーザ名とパスワードをそれぞれ入力します。
-
HQueueサーバーがPostgreSQLデータベースに接続するように構成します。
HQueueサーバー構成ファイルの
hqserver.ini
をテキストエディタで開き、そのファイルの最後に以下の内容を追加します:[database] engine = django.db.backends.postgresql name = hqueue user = <username> password = <password>
<username>
と<password>
は、PostgreSQLデータベースに接続するのに必要なユーザ認証情報です。データベース設定オプションの詳細は、HQueueの設定を参照してください。
-
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
-
HQueueサーバーを再起動します。
HQueueサーバーを起動する手順は、FAQを参照してください。