[CentOS6][SOS JobScheduler] 3.3.JobSchedulerAgent のインストール(batch)


Create: 2013/02/21
LastUpdate: 2013/03/11
[ メニューに戻る ]

下図のテスト環境のHost-Aサーバ(CentOS6.3)とHost-Bサーバ(CentOS6.3)のセットアップ作業を記載します。
特に断りが無い場合は root ユーザで作業しています。
Host-Aのセットアップ後、XenServerの機能でHost-Aの仮想マシンをコピーしてHost-Bを作成します。
Host-AとHost-Bは、ホスト名、IPアドレスが違うだけで、JobSchedulerなどの設定は同じにします。


3.3.JobSchedulerAgent のインストール(batch)


GUIを使用せずに、batchモードでJobScheduler のエージェントをインストールします。

3.3.1.ダウンロード


ブラウザで以下のURLにアクセスします。
  http://www.sos-berlin.com/modules/cjaycontent/index.php?id=126&page=osource_scheduler_download_en.php
下図のページが表示されたら、赤枠で示したリンクをクリックします。


ダウンロードしたファイルをHost-Aサーバへアップロードします。
今回は、/home/jobs/workspace ディレクトリを作成して、jobs ユーザでアップロードしました。

3.3.2.batch インストール


ここでのJobScheduleAgent のインストールには、GUIを使用しません。
インストール用の設定ファイルを用意して、batch インストールを行います。
まず、jobs ユーザでサーバにログインし、上記で取得したアーカイブを解凍して、jobscheduler_agent.1.3.12.3044 ディレクトリに移動します。
$ cd workspace
$ tar xvfz scheduler_linux_agent.1.3.12.3044.tar.gz
$ cd jobscheduler_agent.1.3.12.3044
次に、batchインストール用の設定ファイルを作成します。
アーカイブには、scheduler_agent.xml の名称で雛形が用意されています。設定ファイルの詳細は、「インストールマニュアル(PDF)」を参照してください。
今回は、以下の内容でインストール用の設定ファイルを作成し、 "xxx.xml" というファイル名で保存します。
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<AutomatedInstallation langpack="eng">
<com.izforge.izpack.panels.UserInputPanel id="home">
<userInput/>
</com.izforge.izpack.panels.UserInputPanel>
<com.izforge.izpack.panels.UserInputPanel id="licences">
<userInput>
<entry key="licenceOptions" value="GPL"/>
</userInput>
</com.izforge.izpack.panels.UserInputPanel>
<com.izforge.izpack.panels.HTMLLicencePanel id="gpl_licence"/>
<com.izforge.izpack.panels.HTMLLicencePanel id="commercial_licence"/>
<com.izforge.izpack.panels.TargetPanel id="target">
<installpath>/opt/sos-berlin.com/jobscheduler</installpath>
</com.izforge.izpack.panels.TargetPanel>
<com.izforge.izpack.panels.UserPathPanel id="userpath">
<UserPathPanelElement>/home/jobs/sos-berlin.com/jobscheduler</UserPathPanelElement>
</com.izforge.izpack.panels.UserPathPanel>
<com.izforge.izpack.panels.UserInputPanel id="network">
<userInput>
<entry key="schedulerPort" value="4444"/>
<entry key="launchScheduler" value="yes"/>
<entry key="schedulerAllowedHost" value="0.0.0.0"/>
<entry key="schedulerHost" value="localhost"/>
<entry key="schedulerId" value="scheduler_agent"/>
</userInput>
</com.izforge.izpack.panels.UserInputPanel>
<com.izforge.izpack.panels.InstallPanel id="install"/>
<com.izforge.izpack.panels.ProcessPanel id="process"/>
<com.izforge.izpack.panels.FinishPanel id="finish"/>
</AutomatedInstallation>

この設定ファイルを使って、以下のように setup.sh コマンドを実行します。
パスワードを聞かれるので、jobsユーザのパスワードを入力します。
$ ./setup.sh ./xxx.xml
sudo -E java -jar ./scheduler_linux32_agent.jar ./xxx.xml
[sudo] password for jobs: <パスワード>
[ Starting automated installation ]
numOfPrevInstallations=0
[ Starting to unpack ]
[ Processing package: Job Scheduler (1/1) ]
[ Unpacking finished ]
[ Starting processing ]

+-----------------------------------------------------------
|   Create some symlinks
+-----------------------------------------------------------
... trying to create symlink
/home/jobs/sos-berlin.com/jobscheduler/scheduler_agent/scheduler_home -> /opt/sos-berlin.com/jobscheduler/scheduler_agent
... done
... trying to create symlink
/opt/sos-berlin.com/jobscheduler/scheduler_agent/scheduler_data -> /home/jobs/sos-berlin.com/jobscheduler/scheduler_agent
... done
... create symlinks for jetty
/opt/sos-berlin.com/jobscheduler/scheduler_agent/operations_gui/scheduler_home does not exist
/opt/sos-berlin.com/jobscheduler/scheduler_agent/operations_gui/scheduler_data does not exist
... trying to create symlink
/opt/sos-berlin.com/jobscheduler/scheduler_agent/lib/libstdc++.so.6 -> /opt/sos-berlin.com/jobscheduler/scheduler_agent/lib/libstdc++.so.6.0.9
... done
... trying to create symlink
/opt/sos-berlin.com/jobscheduler/scheduler_agent/lib/libgcc_s.so -> /opt/sos-berlin.com/jobscheduler/scheduler_agent/lib/libgcc_s.so.1
... done
... the perl version is 5.10.1
... trying to create symlink
/opt/sos-berlin.com/jobscheduler/scheduler_agent/lib/libsosperlscript.so -> /opt/sos-berlin.com/jobscheduler/scheduler_agent/lib/libsosperlscript.5.10.0.so
... done

+-----------------------------------------------------------
|   Configuration of ./bin/jobscheduler_environment_variables.sh
+-----------------------------------------------------------
... done

+-----------------------------------------------------------
|   Configuration of ./config/scheduler.xml
+-----------------------------------------------------------
... done

+-----------------------------------------------------------
|   Configuration of ./config/sos.ini
+-----------------------------------------------------------
... done

+-----------------------------------------------------------
|   Configuration of ./config/factory.ini
+-----------------------------------------------------------
... done

+-----------------------------------------------------------
|   Update jar files in ./lib
+-----------------------------------------------------------
... trying to delete obsolete jar files
... nothing to do
... trying to install new jar files
... trying to update 3party jar files
... done

+-----------------------------------------------------------
|   Change owner in /home/jobs/sos-berlin.com/jobscheduler/scheduler_agent to jobs
+-----------------------------------------------------------
... the user group of "jobs" is "jobs".
... done

+-----------------------------------------------------------
|   Start Job Scheduler
+-----------------------------------------------------------
        linux-gate.so.1 =>  (0x0086c000)
        libz.so.1 => /lib/libz.so.1 (0x00d22000)
        libpthread.so.0 => /lib/i686/nosegneg/libpthread.so.0 (0x00cad000)
        libdl.so.2 => /lib/libdl.so.2 (0x00ca6000)
        libstdc++.so.6 => /opt/sos-berlin.com/jobscheduler/scheduler_agent/lib/libstdc++.so.6 (0x00dd3000)
        libm.so.6 => /lib/i686/nosegneg/libm.so.6 (0x00cca000)
        libc.so.6 => /lib/i686/nosegneg/libc.so.6 (0x00b09000)
        libgcc_s.so.1 => /opt/sos-berlin.com/jobscheduler/scheduler_agent/lib/libgcc_s.so.1 (0x00ace000)
        /lib/ld-linux.so.2 (0x00ae3000)

Starting Job Scheduler...


[ Processing finished ]
[ Writing the uninstaller data ... ]
[ Automated installation done ]


これで、インストール完了です。
ちなみに、インストール用設定ファイル(xxx.xml)の内容は、GUIでJobSchedulerAgentをインストールしたときに保存された入力パラメータを、そのまま使用しています。
GUIでJobScheduler をインストールすると、以下のファイルに画面から入力したパラメータが保存されます。
  /opt/sos-berlin.com/jobscheduler/scheduler_agent/scheduler_agent_install.xml
ここで使用した、インストール用設定ファイル(xxx.xml)を作成したときのGUIインストールの手順は、「 [CentOS6][SOS JobScheduler] 3.4.JobSchedulerAgent のインストール(GUI)」 を参照してください。

3.3.3.動作確認


[CentOS6][SOS JobScheduler] Host-Aで単独ジョブを即時実行する」を試して、ジョブの即時実行ができればOKです。

3.3.4.JobScheduler の自動起動/停止設定


JobSchedulerAgent がサーバ起動時に自動起動するように設定します。
以下の自動起動/停止用のスクリプトを/etc/init.d/jobscdl_agent ファイルに保存します。
#!/bin/bash
#
# Startup script for the SOS JobScheduler Agent
#
# chkconfig: 345 96 34
# description: SOS JobScheduler Agent
#

# Source function library.
. /etc/rc.d/init.d/functions

# Path
jobscheduler=/opt/sos-berlin.com/jobscheduler/scheduler_agent/bin/jobscheduler_agent.sh
prog=sos-jobscheduler-agent
RETVAL=0

start() {
        echo $"Starting $prog: "
        $jobscheduler start
        RETVAL=$?
}

stop() {
        echo $"Stopping $prog: "
        $jobscheduler stop
        RETVAL=$?
}

# See how we were called.
case "$1" in
  start)
        start
        ;;
  stop)
        stop
        ;;
  status)
        status -p ${pidfile} $httpd
        RETVAL=$?
        ;;
  restart)
        stop
        start
        ;;
  *)
        echo $"Usage: $prog {start|stop|restart}"
        RETVAL=2
esac

exit $RETVAL
このスクリプトを chkconfig コマンドで登録し、ランレベル5 で起動することを確認します。
# chkconfig --add jobscdl_agent
# chkconfig --list | grep jobscdl
jobscdl_agent   0:off   1:off   2:off   3:on    4:on    5:on    6:off
サーバ再起動後、JobSchedulerAgent が起動していればOKです。
# ps -ef | grep jobscheduler
jobs      1079     1  0 08:48 ?        00:00:05 /opt/sos-berlin.com/jobscheduler/scheduler_agent/bin/scheduler -service -id=scheduler_agent -sos.ini=/home/jobs/sos-berlin.com/jobscheduler/scheduler_agent/config/sos.ini -ini=/home/jobs/sos-berlin.com/jobscheduler/scheduler_agent/config/factory.ini -config=/home/jobs/sos-berlin.com/jobscheduler/scheduler_agent/config/scheduler.xml -param=/home/jobs/sos-berlin.com/jobscheduler/scheduler_agent -cd=/home/jobs/sos-berlin.com/jobscheduler/scheduler_agent -include-path=/home/jobs/sos-berlin.com/jobscheduler/scheduler_agent -log-dir=/home/jobs/sos-berlin.com/jobscheduler/scheduler_agent/logs -pid-file=/home/jobs/sos-berlin.com/jobscheduler/scheduler_agent/logs/scheduler.pid
手動でJobSchedulerAgent を起動する場合は、以下のようにします。
# service jobscdl_agent start
sos-jobscheduler-agent を起動中:
Starting Job Scheduler...
手動でJobSchedulerAgent を停止する場合は、以下のようにします。
# service jobscdl_agent stop
sos-jobscheduler-agent を停止中:
Shutting down Job Scheduler...