Create: 2013/05/23
LastUpdate: 2013/05/23
SchedulerIDの異なる複数のJobSchedulerEngine を運用する場合、1台をスーパバイザにして、設定ファイルを一元管理することができます。
詳細は、「リファレンス・マニュアル」を参照してください。
たとえば、以下のような構成にした場合、スーパバイザのManagerサーバ1に配置したファイル(ディレクトリ)を、Managerサーバ2とManagerサーバ3に自動的に配布することができます。
この機能を利用すると、Managerサーバ2とManagerサーバ3の live フォルダを、スーパバイザで管理することもできます。
配布の仕組みは、下図(マニュアルから引用)のとおりです。
スーパバイザの config/remote ディレクトリに配布したいファイルを置くと、配下のサーバの config/cache ディレクトリに自動配布してくれます。
"_all" ディレクトリは、全サーバが配布対象になります。
サーバごとに配布したい場合は、"Host A"のように個別にディレクトリを作成します。たとえば、上図のManageサーバ2へ配布したい場合は、"192.168.1.67#5555" という名称でディレクトリを作成します。
Host Aなどの config/live ディレクトリを、config/cache/live を参照するように設定を変更すれば、スーパバイザで管理できます。
スーパバイザの設定
スーパバイザを利用したい場合は、自身が参照するスーパバイザを設定します。
たとえば、Managerサーバ2のスーパバイザをManagerサーバ1としたい場合、Managerサーバ2の config/scheduler.xml に以下の赤字部分を追加します。
<config mail_xslt_stylesheet = "config/scheduler_mail.xsl"
port = "5555"
supervisor = "192.168.1.61:4444">
これで、Managerサーバ2の JobScheduler を再起動すれば、配布が開始されます。
配布の確認
まず、全体配布を試してみます。
Managerサーバ1の config/remote/_all ディレクトリに dummy.xml ファイルを設置します。これで自動配布されます。
$ ls -l _all 合計 8 -rw-rw-r-- 1 jobs jobs 43 5月 23 09:11 2013 dummy.xml drwxr-xr-x 3 jobs jobs 4096 3月 20 14:40 2013 sos
Managerサーバ2の config/cache を見ると以下のとおり。
$ ls -l cache/ 合計 8 -rw------- 1 jobs jobs 43 5月 23 09:11 2013 dummy.xml drwx------ 3 jobs jobs 4096 5月 23 09:31 2013 sos次に、個別配布を試してみます。
Managerサーバ1に config/remote/192.168.1.67#5555 ディレクトリを作成して、 xxx.xml ファイルを設置します。これで自動配布されます。
$ ls -l 192.168.1.67#5555 合計 4 -rw-rw-r-- 1 jobs jobs 43 5月 23 11:27 2013 xxx.xmlManagerサーバ2の config/cache を見ると以下のとおり。
$ ls -al 合計 20 drwxr-xr-x 3 jobs jobs 4096 5月 23 11:28 2013 . drwxr-xr-x 9 jobs jobs 4096 5月 23 09:31 2013 .. -rw------- 1 jobs jobs 43 5月 23 09:11 2013 dummy.xml drwx------ 3 jobs jobs 4096 5月 23 09:31 2013 sos -rw------- 1 jobs jobs 43 5月 23 11:27 2013 xxx.xml