| 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/hqserverhquser アカウントを作成した場合は、以下のようになります:
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データベースを使用するように設定されました。