* CentOS6.4 64bit サーバーインストール、デスクトップ無し
* 機器構成は
・プライマリノード
・バックアップノード
・DB/共有ファイルサーバ
* DB/共有ファイルサーバの冗長化構成は本記事では含まない
* 全サーバともSELinuxとIPtablesの無効化、ntpdによる時刻同期がなされている事
1) MySQLをインストール
# yum -y install mysql mysql-server
2) 設定ファイルを編集
# vi /etc/my.cnf
character-set-server=utf8
skip-character-set-client-handshake
を追加
3) MySQL起動
# /etc/rc.d/init.d/mysqld start
4) 自動起動設定
# chkconfig mysqld on
# chkconfig --list mysqld
5) 初期設定
# mysql_secure_installation
6) MySQLデータベースとユーザ作成
# mysql -u root -p
Enter password:
mysql> create database scheduler;
7) MySQLのschedulerから外部接続許可設定
【参考記事】MySQLに外部ホストから接続できるように設定する
mysql> select user,host from mysql.user;
+-----------+-----------+
| user | host |
+-----------+-----------+
| root | 127.0.0.1 |
| root | localhost |
+-----------+-----------+
2 rows in set (0.00 sec)
mysql> grant all privileges on scheduler.* to scheduler@"%" identified by '<password>' with grant option;
Query OK, 0 rows affected (0.01 sec)
mysql> flush privileges;
mysql> show grants for scheduler;
+----------------------------------------------------------------------------------------------------------+
| Grants for scheduler@% |
+----------------------------------------------------------------------------------------------------------+
| GRANT USAGE ON *.* TO 'scheduler'@'%' IDENTIFIED BY PASSWORD '*E94DC688D62B8A9DD67F61F918D7E75EEB073A7E' |
| GRANT ALL PRIVILEGES ON `scheduler`.* TO 'scheduler'@'%' WITH GRANT OPTION |
+----------------------------------------------------------------------------------------------------------+
2 rows in set (0.01 sec)
8) liveフォルダの共有用nfs設定
# yum -y install nfs-utils
# mkdir -p /share/live
# vi /etc/exports
/share/live <jobscheduler/JOEのアドレスorネットワーク>(rw,sync,no_root_squash,no_all_squash)
9) nfs起動と自動起動設定
# /etc/init.d/rpcbind start
# /etc/init.d/nfs start
# chkconfig rpcbind on
# chkconfig nfs on
# exportfs -v
# mount
1) NFSクライアント設定
# yum -y install nfs-utils
# service rpcbind start
# service nfslock start
# chkconfig rpcbind on
# chkconfig nfslock on
2) /etc/fstabに以下を追加
<共有サーバのアドレス>:/share/live /mnt/sos/live nfs4 soft 0 0
3) 共有サーバにマウント
# mkdir -p /mnt/sos/live
# mount -t nfs <共有サーバのアドレス>/share/live /mnt/sos/live
# ls /mnt/live
# mount
...
<共有サーバのアドレス>:/share/live on /mnt/live type nfs (rw,nfsvers=4,sloppy,addr=192.168.100.11,clientaddr=192.168.100.250)
3) 必要なライブラリをインストール
(今回はJOE/JIDを使わないため、下記だけでOK)
# yum install ld-linux.so.2 libz.so.1
4) 32bit版JREのインストール
Oracleサイトから32bit版JREをダウンロードし、適当なディレクトリにおいておく
http://www.oracle.com/technetwork/java/javase/downloads/index.html
# cd /opt
# chmod +x jre-6uXX-linux-i586.bin
# ./jre-6uXX-linux-i586.bin
5) MySQL用JDBCドライバのインストール
MySQLサイトからダウンロード
http://dev.mysql.com/downloads/connector/j/
# cd /opt
# tar xvf mysql-connector-java-5.1.24.tar.gz
6) JobSchedulerはrootでインストールできないのでユーザを作成しておく
# useradd <user name> -m -p <password>
# chmod 777 /opt
7) JobSchedulerをダウンロード
# cd /opt
# wget http://sourceforge.net/projects/jobscheduler/files/jobscheduler_linux.1.3.12.3072.tar.gz
# tar xvf jobscheduler_linux.1.3.12.3072.tar.gz
8) scheduler_install.xmlのコピー
# cd /opt/jobscheduler.1.3.12.3072/
# cp jobscheduler_install.xml /home/<user name>
# cd /home/<user name>
9) jobscheduler_install.xmlを下記のように変更
...
<installpath>/opt/sos-berlin.com/jobscheduler</installpath>
...
<UserPathPanelElement>/home/<user name>/sos-berlin.com/jobscheduler</UserPathPanelElement>
...
<pack index="6" name="MySQL" selected="true"/>
...
<entry key="schedulerHost" value="<host name>"/>
...
<!-- 他の全ホストからJobSchedulerへTCP接続する場合-->
<entry key="schedulerAllowedHost" value="0.0.0.0"/>
...
<!-- backup cluster構成のプライマリの場合-->
<entry key="clusterOptions" value="-exclusive"/>
...
<!-- JobSchedulerからメール送信する場合、該当項目を変更-->
<entry key="mailServer" value=""/>
<entry key="mailPort" value="25"/>
<entry key="smtpAccount" value=""/>
<entry key="smtpPass" value=""/>
<entry key="mailFrom" value=""/>
<entry key="mailTo" value=""/>
<entry key="mailCc" value=""/>
<entry key="mailBcc" value=""/>
...
<entry key="databaseHost" value="<DBサーバのIPアドレス>"/>
<entry key="databasePassword" value="<password>"/>
<entry key="databaseUser" value="scheduler"/>
<entry key="databaseSchema" value="scheduler"/>
<entry key="databasePort" value="3306"/>
<entry key="connector" value="/opt/mysql-connector-java-5.1.25/mysql-connector-java-5.1.25-bin.jar"/>
10) 環境変数の設定を追加
# export PATH=/opt/jre1.6.0_XX/bin:$PATH
11) jobschedulerのインストール
# cd /opt
# chown <user name>:<group name> jobscheduler.1.3.12.XXXX
# su <user name>
# cd /opt/jobscheduler.1.3.12.XXXX
# ./setup.sh -u /home/<user name>/jobscheduler_install.xml
http://<IPaddress>:4444 へアクセスしてJOCが表示される事を確認
12) まだ、設定が残っているので、一旦、JobScheduler(プライマリ) を停止
# cd /opt/sos-berlin.com/jobscheduler/scheduler/bin
# ./jobscheduler.sh stop
13) 環境設定スクリプトを修正
# vi /opt/sos-berlin.com/jobscheduler/<scheduler ID>/bin/jobscheduler_environment_variables.sh
USER=`whoami
SCHEDULER_USER=<user name>
JAVA_HOME=/opt/jre1.6.0_XX ←この行を追加
13) live フォルダをNFSマウント先(/mnt/sos/live)にコピーして、実体を共有ファイルサーバに置く
config ディレクトリのliveフォルダはリネームして保存し、シンボリックリンクで /mnt/sos/live を参照する
# cd /home/<user name>/sos-berlin.com/jobscheduler/<scheduler ID>/config/
# mv live live.org
# ln -s /mnt/live live
# cp -R live.org/sos live/
14) 自動起動設定
/etc/rc.d/rc.localに追記
/opt/sos-berlin.com/jobscheduler/<scheduler ID>/bin/jobscheduler.sh start -exclusive
# /opt/sos-berlin.com/jobscheduler/scheduler/bin/jobscheduler.sh start -exclusive
Starting Job Scheduler...
またはserviceに登録する
【参考記事】Blue21さんのblog
2.5.JobSchedulerFullInstall のインストール(Standalone構成)
http://blue21.ddo.jp/server_koutiku/server-centos6/cos6_sosjob205.html
1) NFSクライアント設定
2) /etc/fstabに以下を追加
3) 共有サーバにマウント
3) 必要なライブラリをインストール
4) 32bit版JDKのインストール
5) MySQL用JDBCドライバのインストール
6) JobSchedulerはrootでインストールできないのでユーザを作成しておく
7) JobSchedulerをダウンロード
までは、プライマリノードと同じ
8) プライマリノードのscheduler_install.xmlをコピーする
# cp jobscheduler_install.xml /home/<user name>
# cd /home/<user name>
9) jobscheduler_install.xmlを下記のように変更
...
<entry key="schedulerHost" value="[other host name]"/>
...
<!-- for Backup Cluster --> <entry key="clusterOptions" value="-exclusive -backup"/>
...
<entry key="databaseCreate" value="off"/>
...
10) 環境変数の設定を追加
11) jobschedulerのインストール
12) まだ、設定が残っているので、一旦、JobScheduler(プライマリ) を停止
13) 環境設定スクリプトを修正
13) live フォルダをNFSマウント先(/mnt/sos/live)にコピーして、実体を共有ファイルサーバに置く
はプライマリノードと同じ
14) 自動起動設定
/etc/rc.d/rc.localに追記
/opt/sos-berlin.com/jobscheduler/<scheduler ID>/bin/jobscheduler.sh start -exclusive -backup
# /opt/sos-berlin.com/jobscheduler/scheduler/bin/jobscheduler.sh start -exclusive -backup
Starting Job Scheduler...
【参考記事】Blue21さんのblog
バックアップ・クラスタの構築 - 4.動作確認
http://blue21.ddo.jp/server_koutiku/server-centos6/cos6_sosjob224.html