{AJS構築}15.4.1 キューレスジョブ環境でクラスを指定したジョブを実行するための設定

  • 物理ホスト

--キューレスジョブセットアップ
--マネージャ
/opt/jp1ajs2/bin/jajs_spmd_stop
/opt/jp1ajs2/bin/jajs_spmd_status
/opt/jp1ajs2/bin/ajsqlsetup -F AJSROOT1 -m
/opt/jp1ajs2/bin/jajs_spmd
/opt/jp1ajs2/bin/jajs_spmd_status

--エージェント
/opt/jp1ajs2/bin/jajs_spmd_stop
/opt/jp1ajs2/bin/jajs_spmd_status
/opt/jp1ajs2/bin/ajsqlsetup -a
/opt/jp1ajs2/bin/jajs_spmd
/opt/jp1ajs2/bin/jajs_spmd_status

 

--設定
--マネージャとエージェントで設定
/opt/jp1ajs2/bin/ajsqlstop
/opt/jp1ajs2/bin/ajsqlstatus

/opt/jp1ajs2/bin/jajs_config -k "[JP1_DEFAULT\JP1QLAGENT\AJSQL_CLASS\class1]" "AJSQL_CJOBMAX"=dword:00000001
/opt/jp1ajs2/bin/jajs_config -k "[JP1_DEFAULT\JP1QLAGENT\AJSQL_CLASS\class1]" "AJSQL_CJOBWAITMAX"=dword:00000001
/opt/jp1ajs2/bin/jajs_config -k "[JP1_DEFAULT\JP1QLAGENT\AJSQL_CLASS\class2]" "AJSQL_CJOBMAX"=dword:00000010
/opt/jp1ajs2/bin/jajs_config -k "[JP1_DEFAULT\JP1QLAGENT\AJSQL_CLASS\class2]" "AJSQL_CJOBWAITMAX"=dword:00000010

/opt/jp1ajs2/bin/ajsqlstart
/opt/jp1ajs2/bin/ajsqlstatus

 


--動作確認

vim /root/job1.sh

#!/bin/bash
date >> /root/job1.log
sleep 10000

chmod +x /root/job1.sh

vim /root/unitbackup.txt

unit=jg1,,jp1admin,;
{
ty=g;
cm="jg1";
el=jobnet1,n,+0+0;
el=jobnet2,n,+0+0;
el=jobnet3,n,+0+0;
cl=su;
op=mo;
op=tu;
op=we;
op=th;
op=fr;
cl=sa;
unit=jobnet1,,jp1admin,;
{
ty=n;
cm="jobnet1";
sz=10x8;
el=job11,j,+80+48;
sd=1,2019/11/03;
st=1,23:58;
cy=1,(1,d);
sh=1,ca;
shd=1,2;
ex="mmm182";
unit=job11,,jp1admin,;
{
ty=j;
cm="job1";
sc="/root/job1.sh";
un="root";
tho=0;
jty=n;
ex="mmm182!class1";
}
}
unit=jobnet2,,jp1admin,;
{
ty=n;
cm="jobnet2";
sz=10x8;
el=job21,j,+80+48;
sd=1,2019/11/03;
st=1,23:58;
cy=1,(1,d);
sh=1,ca;
shd=1,2;
ex="mmm182";
unit=job21,,jp1admin,;
{
ty=j;
cm="job1";
sc="/root/job1.sh";
un="root";
tho=0;
jty=n;
ex="mmm182!class1";
}
}
unit=jobnet3,,jp1admin,;
{
ty=n;
cm="jobnet3";
sz=10x8;
el=job31,j,+80+48;
sd=1,2019/11/03;
st=1,23:58;
cy=1,(1,d);
sh=1,ca;
shd=1,2;
ex="mmm182";
unit=job31,,jp1admin,;
{
ty=j;
cm="job1";
sc="/root/job1.sh";
un="root";
tho=0;
jty=n;
ex="mmm182!class1";
}
}
}


export JP1_USERNAME=jp1admin
/opt/jp1ajs2/bin/ajsleave -F AJSROOT1 /jg1/jobnet1
/opt/jp1ajs2/bin/ajsleave -F AJSROOT1 /jg1/jobnet2
/opt/jp1ajs2/bin/ajsleave -F AJSROOT1 /jg1/jobnet3
/opt/jp1ajs2/bin/ajsdefine -F AJSROOT1 -f -d / /root/unitbackup.txt
/opt/jp1ajs2/bin/ajsprint -F AJSROOT1 "/*"

/opt/jp1ajs2/bin/ajsentry -F AJSROOT1 -n /jg1/jobnet1
/opt/jp1ajs2/bin/ajsentry -F AJSROOT1 -n /jg1/jobnet2
/opt/jp1ajs2/bin/ajsentry -F AJSROOT1 -n /jg1/jobnet3

/opt/jp1ajs2/bin/ajsshow -F AJSROOT1 -R /jg1

--ジョブ強制終了
/opt/jp1ajs2/bin/ajskill -F AJSROOT1 /jg1/jobnet1
/opt/jp1ajs2/bin/ajskill -F AJSROOT1 /jg1/jobnet2
/opt/jp1ajs2/bin/ajskill -F AJSROOT1 /jg1/jobnet3

--実行エージェントをclass1からclass2に変更
/opt/jp1ajs2/bin/ajschange -F AJSROOT1 -j 'mmm182!class2' /jg1/jobnet1/job11
/opt/jp1ajs2/bin/ajschange -F AJSROOT1 -j 'mmm182!class2' /jg1/jobnet2/job21
/opt/jp1ajs2/bin/ajschange -F AJSROOT1 -j 'mmm182!class2' /jg1/jobnet3/job31


class1の場合
→jobnet2とjobnet3は異常検出終了
キューレスエージェントサービス全体での最大同時ジョブ実行数はデフォルトで1024
キューレスエージェントサービス全体での最大待ちジョブ数はデフォルトで0
クラス単位での最大待ちジョブ数は1ではなく0となり、jobnet2は実行できなかった


class2の場合
→jobnet1,2,3いずれも実行中となる

 

  • 論理ホスト

 

--キューレスジョブセットアップ
--マネージャ実行系

/etc/opt/jp1ajs2/jajs_stop.cluster mmm190
/opt/jp1ajs2/bin/ajsqlsetup -h mmm190 -F AJS3SCHEDULE001 -m
/etc/opt/jp1ajs2/jajs_start.cluster mmm190
/opt/jp1ajs2/bin/jajs_spmd_status -h mmm190

--マネージャ待機系
/opt/jp1ajs2/bin/ajsqlsetup -h mmm190 -F AJS3SCHEDULE001 -m -nc


--エージェント実行系
/etc/opt/jp1ajs2/jajs_stop.cluster mmm194
/opt/jp1ajs2/bin/ajsqlsetup -h mmm194 -a
/etc/opt/jp1ajs2/jajs_start.cluster mmm194
/opt/jp1ajs2/bin/jajs_spmd_status -h mmm194

--エージェント待機系
/opt/jp1ajs2/bin/ajsqlsetup -h mmm194 -a

 


--設定
--マネージャで設定
/opt/jp1ajs2/bin/ajsqldetach -h mmm190
/opt/jp1ajs2/bin/ajsqlstop
/opt/jp1ajs2/bin/ajsqlstatus -h mmm190

/opt/jp1ajs2/bin/jajs_config -k "[mmm190\JP1QLAGENT\AJSQL_CLASS\class1]" "AJSQL_CJOBMAX"=dword:00000001
/opt/jp1ajs2/bin/jajs_config -k "[mmm190\JP1QLAGENT\AJSQL_CLASS\class1]" "AJSQL_CJOBWAITMAX"=dword:00000001
/opt/jp1ajs2/bin/jajs_config -k "[mmm190\JP1QLAGENT\AJSQL_CLASS\class2]" "AJSQL_CJOBMAX"=dword:00000010
/opt/jp1ajs2/bin/jajs_config -k "[mmm190\JP1QLAGENT\AJSQL_CLASS\class2]" "AJSQL_CJOBWAITMAX"=dword:00000010

/opt/jp1ajs2/bin/ajsqlstart
/opt/jp1ajs2/bin/ajsqlattach -h mmm190
/opt/jp1ajs2/bin/ajsqlstatus -h mmm190

--エージェントで設定
/opt/jp1ajs2/bin/ajsqldetach -h mmm194
/opt/jp1ajs2/bin/ajsqlstop
/opt/jp1ajs2/bin/ajsqlstatus -h mmm194

/opt/jp1ajs2/bin/jajs_config -k "[mmm194\JP1QLAGENT\AJSQL_CLASS\class1]" "AJSQL_CJOBMAX"=dword:00000001
/opt/jp1ajs2/bin/jajs_config -k "[mmm194\JP1QLAGENT\AJSQL_CLASS\class1]" "AJSQL_CJOBWAITMAX"=dword:00000001
/opt/jp1ajs2/bin/jajs_config -k "[mmm194\JP1QLAGENT\AJSQL_CLASS\class2]" "AJSQL_CJOBMAX"=dword:00000010
/opt/jp1ajs2/bin/jajs_config -k "[mmm194\JP1QLAGENT\AJSQL_CLASS\class2]" "AJSQL_CJOBWAITMAX"=dword:00000010

/opt/jp1ajs2/bin/ajsqlstart
/opt/jp1ajs2/bin/ajsqlattach -h mmm194
/opt/jp1ajs2/bin/ajsqlstatus -h mmm194

 

--動作確認

vim /mnt/sdc2/job1.sh

#!/bin/bash
date >> /mnt/sdc2/job1.log
sleep 10000

chmod +x /mnt/sdc2/job1.sh

vim /root/unitbackup.txt

unit=jg1,,jp1admin,;
{
ty=g;
cm="jg1";
el=jobnet1,n,+0+0;
el=jobnet2,n,+0+0;
el=jobnet3,n,+0+0;
cl=su;
op=mo;
op=tu;
op=we;
op=th;
op=fr;
cl=sa;
unit=jobnet1,,jp1admin,;
{
ty=n;
cm="jobnet1";
sz=10x8;
el=job11,j,+80+48;
sd=1,2019/11/03;
st=1,23:58;
cy=1,(1,d);
sh=1,ca;
shd=1,2;
ex="mmm194";
unit=job11,,jp1admin,;
{
ty=j;
cm="job1";
sc="/mnt/sdc2/job1.sh";
un="root";
tho=0;
jty=n;
ex="mmm194!class1";
}
}
unit=jobnet2,,jp1admin,;
{
ty=n;
cm="jobnet2";
sz=10x8;
el=job21,j,+80+48;
sd=1,2019/11/03;
st=1,23:58;
cy=1,(1,d);
sh=1,ca;
shd=1,2;
ex="mmm194";
unit=job21,,jp1admin,;
{
ty=j;
cm="job1";
sc="/mnt/sdc2/job1.sh";
un="root";
tho=0;
jty=n;
ex="mmm194!class1";
}
}
unit=jobnet3,,jp1admin,;
{
ty=n;
cm="jobnet3";
sz=10x8;
el=job31,j,+80+48;
sd=1,2019/11/03;
st=1,23:58;
cy=1,(1,d);
sh=1,ca;
shd=1,2;
ex="mmm194";
unit=job31,,jp1admin,;
{
ty=j;
cm="job1";
sc="/mnt/sdc2/job1.sh";
un="root";
tho=0;
jty=n;
ex="mmm194!class1";
}
}
}


export JP1_USERNAME=jp1admin
/opt/jp1ajs2/bin/ajsleave -F AJS3SCHEDULE001 /jg1/jobnet1
/opt/jp1ajs2/bin/ajsleave -F AJS3SCHEDULE001 /jg1/jobnet2
/opt/jp1ajs2/bin/ajsleave -F AJS3SCHEDULE001 /jg1/jobnet3
/opt/jp1ajs2/bin/ajsdefine -F AJS3SCHEDULE001 -f -d / /root/unitbackup.txt
/opt/jp1ajs2/bin/ajsprint -F AJS3SCHEDULE001 "/*"

/opt/jp1ajs2/bin/ajsentry -F AJS3SCHEDULE001 -n /jg1/jobnet1
/opt/jp1ajs2/bin/ajsentry -F AJS3SCHEDULE001 -n /jg1/jobnet2
/opt/jp1ajs2/bin/ajsentry -F AJS3SCHEDULE001 -n /jg1/jobnet3

/opt/jp1ajs2/bin/ajsshow -F AJS3SCHEDULE001 -R /jg1

--ジョブ強制終了
/opt/jp1ajs2/bin/ajskill -F AJS3SCHEDULE001 /jg1/jobnet1
/opt/jp1ajs2/bin/ajskill -F AJS3SCHEDULE001 /jg1/jobnet2
/opt/jp1ajs2/bin/ajskill -F AJS3SCHEDULE001 /jg1/jobnet3

--実行エージェントをclass1からclass2に変更
/opt/jp1ajs2/bin/ajschange -F AJS3SCHEDULE001 -j 'mmm194!class2' /jg1/jobnet1/job11
/opt/jp1ajs2/bin/ajschange -F AJS3SCHEDULE001 -j 'mmm194!class2' /jg1/jobnet2/job21
/opt/jp1ajs2/bin/ajschange -F AJS3SCHEDULE001 -j 'mmm194!class2' /jg1/jobnet3/job31


class1の場合
→jobnet2とjobnet3は異常検出終了
キューレスエージェントサービス全体での最大同時ジョブ実行数はデフォルトで1024
キューレスエージェントサービス全体での最大待ちジョブ数はデフォルトで0
クラス単位での最大待ちジョブ数は1ではなく0となり、jobnet2は実行できなかった


class2の場合
→jobnet1,2,3いずれも実行中となる

 


--待機系への反映
--マネージャ

共通定義情報の出力
/opt/jp1base/bin/jbsgetcnf -h mmm190 > /root/jbscnf.txt
scp /root/jbscnf.txt mmm192:/root

共通定義情報の取り込み
ssh mmm192 "/opt/jp1base/bin/jbssetcnf /root/jbscnf.txt"

--エージェント

共通定義情報の出力
/opt/jp1base/bin/jbsgetcnf -h mmm194 > /root/jbscnf.txt
scp /root/jbscnf.txt mmm196:/root

共通定義情報の取り込み
ssh mmm196 "/opt/jp1base/bin/jbssetcnf /root/jbscnf.txt"