FabricでJobSchedulerを全自動インストール

1,374 views
1,292 views

Published on

Fablicを使って、SOS JobSchedulerの全自動インストールをやってみました

Published in: Technology
0 Comments
4 Likes
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total views
1,374
On SlideShare
0
From Embeds
0
Number of Embeds
0
Actions
Shares
0
Downloads
13
Comments
0
Likes
4
Embeds 0
No embeds

No notes for slide

FabricでJobSchedulerを全自動インストール

  1. 1. FabricでJobSchedulerの全自動インストール 2013/6/7JobScheduler User Group Japanyamashita@ossl.co.jp
  2. 2. 目次 1.Fabricを使用したインストール前提条件2.Fabricのインストール3.簡単なサンプル4.Fabricの実行5.JobSchedulerのインストール例  1) JRE32bitのインストール  2) mysql-connectorのインストール  3) JobSchedulerのインストール6.インストール後の動作確認(envassert)7.envassert使用例
  3. 3. 1.Fabricを使用したインストール前提条件・CentOS6.4 minimal・パッケージを最新バージョンへアップデート・時刻の設定・SELinux、ファイアウオール 機能を無効化 端末(Fabric)よりサーバへJobSchedulerをインストールします
  4. 4. 2.Fabricのインストール インストールは簡単で、以下のコマンドだけでFabricが使えるようになります。 # pip install fabric
  5. 5. 3.簡単なサンプル |  まず適当なディレクトリにfabfile.pyを作成します。(/root/fabric/fabfile.py)|  次に内容を書き込みます from fabric.api import rundef test():run( pwd)
  6. 6. 4.Fabricの実行 ◆fabコマンドを使用し実行します # fab -H localhost -p password test   -H 実行するホストを指定   -p ホストのパスワード※コマンドのオプションでホストを指定するほかfabfile.pyに以下を追加する事で、省く事ができます。 env.hosts = [192.168.106.162]env.user = rootenv.password = passwordfab -f tt.py -H localhost -p password test[localhost] Executing task test[localhost] run: pwd[localhost] out: /root◆実行結果
  7. 7. 5.JobSchedulerのインストール例 1)JRE32bitのインストール run(cp /opt/fabric_file/jre-6u45-linux-i586.bin /opt)jre-6u45-linux-i586.binを/optへコピーrun(chmod +x /opt/jre-6u45-linux-i586.bin)コピーしたjre-6u45-linux-i586.binのパーミッションの変更java_install=/opt/jre-6u45-linux-i586.binインストールコマンドを変数に格納run(cd /opt && %s %java_install )JREのインストール JobSchedulerをインストールする前に必要のモジュール等をインストールします。(インストール元ファイルは事前に/opt/fabric_fileに格納、またソースはところどころ省略してます。)2) mysql-connectorのインストール with cd(/opt):run( cp fabric_file/mysql-connector-java-5.1.25.tar.gz .)mysql-connector-java-5.1.25.tar.gzを/optにコピーrun(tar xvf mysql-connector-java-5.1.25.tar.gz) mysql-connectorのインストール 変数にコマンドを入れることも可能 変数を使うには%sを仕様 Withを使用することにより作業ディレクトリを固定することが可能 ※Fabricはfabコマンドを実行したユーザのディレクトリがルートディレクトリになり、コマンドを  実行するたびにルートに戻ってしまうため、毎回作業ディレクトリを入れる必要があります。
  8. 8. 3) JobSchedulerのインストール adduser=schedulerインストールユーザを定義with cd(/opt):run(cp fabric_file/jobscheduler_linux.1.3.12.3072.tar.gz /opt) jobscheduler_linux.1.3.12.3072.tar.gzを/optへコピーrun(tar xvf jobscheduler_linux.1.3.12.3072.tar.gz)run( cp jobscheduler.1.3.12.3072/jobscheduler_install.xml /home/%s %adduser )run( sed -ie s/key= databaseHost" value=""/key=" databaseHost " value= 192.168.106.162"/g /home/%s/jobscheduler_install.xml" %adduser ) sedコマンドを使用し、jobscheduler_install.xmlの中身を置換 <entry key= databaseHost value= /> →  <entry key= databaseHost value= 192.168.100.248 />run(export PATH=/opt/jre1.6.0_45/bin:$PATH) インストールにはJRE32bitを使用するためパスをexportrun(chown %s:%s /opt/jobscheduler.1.3.12.3072 %(adduser,adduser))sos_install= /opt/jobscheduler.1.3.12.3072/setup.sh -u /home/%s/jobscheduler_install.xml %addusersudo(sudo -u %s %s %(adduser,sos_install))sos_start= /opt/sos-berlin.com/jobscheduler/%s/bin/jobscheduler.sh start %adduser JobScheduler起動コマンドを変数に格納run(%s %sos_start) JobSchedulerの起動
  9. 9. 6.インストール後の動作確認     (envassert)Fabricにはサーバ環境をテストするenvassertというプラグインがあります。envassertには次の事が出来ます。|  ファイル、ディレクトリの有無確認|  サービスの起動確認|  ユーザの存在確認|  その他パーミッションの確認などenvassertはfabricのインストールだけでは使用できないため別途プラグインをインストールします。 # pip install envassert
  10. 10. 7.envassert使用例 def check():print(MySQL Process Check)if process.is_up(mysqld):print(MySQL Runningn)else:print(Not MySQL Runningn)if user.exists(scheduler):print(User:scheduler is presentn)else:print(User:scheduler not presentn)print(JobScheduler StertUP)if port.is_listening(4444):print(JobScheduler Runningn)else:print(Not JobScheduler Runningn)以下はMySQLの起動確認、 schedulerユーザの存在確認、Jobscheduler(ポート4444の使用)の起動確認を行っているサンプルとなります。 MySQLの起動確認 Schedulerユーザの確認 JobSchedulerの起動確認

×