On this page |
概要
デフォルトでは、HQueueはSQLiteをバックエンドデータベースとして使用します。HQueueサーバーがLinuxであれば、代わりにMySQLを使用するように設定することができます。
中央管理、バックアップなどのインフラで既にMySQLサーバーを構築されているのであれば、MySQLをHQueueに使用したいことでしょう。
以下の手順は、デフォルトのデータベースの内容をMySQLにマイグレート しません 。MySQLに切り替えた後で、クライアント、グループ、ジョブを再度追加する必要があります。
必要なパッケージ
以下のLinuxパッケージを(Linuxディストリビューションに応じて)aptitude
またはyum
を使ってサーバーマシン上にインストールしてください:
-
mysql-client
-
mysql-server
-
python-mysqldb
これらのパッケージ名はLinuxディストリビューションによっては名前が異なる場合があります。
MySQLをセットアップする方法
-
hqserver
データベースを作成します。mysql
セッションを開始して以下のコマンドを実行します:CREATE DATABASE `hqserver`;
データベースへのアクセス権を持った
hquser
アカウントを作成することもできます。mysql
セッションで以下のコマンドを入力します:CREATE USER `hquser`@`localhost` IDENTIFIED BY "hqpass"; GRANT ALL ON `hqserver`.* TO `hquser`@`localhost`;
-
HQueue設定ファイルを編集します。
/opt/hqueue/hqserver.ini
を開いて、sqlalchemy.default.url
設定値の行を探します。 その行を以下の形式に合わせて置換します:sqlalchemy.default.url = mysql://<mysql_user>:<mysql_user_password>@localhost/hqserver
hquser アカウントを作成した場合は、以下のようになります:
sqlalchemy.default.url = mysql://hquser:hqpass@localhost/hqserver
さらに、
sqlalchemy.default.pool_size
とsqlalchemy.default.max_overflow
の設定値の行のコメントを外します。 -
HQueueサーバーをシャットダウンします。
ターミナルで以下のコマンドを実行します:
cd /opt/hqueue ./scripts/hqserverd stop
-
Python MySQLdbがインストールされている場所を探します。
ターミナルで
python
を実行してから以下のPythonコマンドをタイプします:>>> import MySQLdb >>> MySQLdb <module 'MySQLdb' from '/usr/local/lib/python2.7/dist-packages/MySQL_python-1.2.5-py2.7-linux-x86_64.egg/MySQLdb/__init__.pyc'> >>>
MySQLdbモジュールのインストール場所は後で使用するので覚えておく必要があります。 上記の例では、インストール場所は
/usr/local/lib/python2.7/dist-packages/MySQL_python-1.2.5-py2.7-linux-x86_64.egg
になっています。 -
Python MySQLdbを検索できるようにHQueueのpasterスクリプトを修正します。
/opt/hqueue/bin/paster
をテキストエディタで開きます。 次に、import sys
の行の下に以下の行を挿入します:sys.path.append("/usr/local/lib/python2.7/dist-packages/MySQL_python-1.2.5-py2.7-linux-x86_64.egg")
ファイルを保存して閉じます。
-
hqserver
データベースをセットアップします。ターミナルで以下のコマンドを実行します:
# このpasterスクリプトを検索できるようにMySQLインストールパスをPYTHONPATHに追加します。 export PYTHONPATH=/usr/local/lib/python2.7/dist-packages/MySQL_python-1.2.5-py2.7-linux-x86_64.egg # hqserverデータベースをセットアップします。 ./bin/paster setup-app hqserver.ini
-
HQueueサーバーを再起動します。
ターミナルで以下のコマンドを実行します:
./scripts/hqserverd restart
これでHQueueサーバーがMySQLデータベースを使用するように設定されました。