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