[CentOS6][SOS JobScheduler] スーパバイザで一元管理


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.xml

Managerサーバ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