FabricでJobSchedulerを全自動インストール
Upcoming SlideShare
Loading in...5
×
 

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

on

  • 1,255 views

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

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

Statistics

Views

Total Views
1,255
Slideshare-icon Views on SlideShare
1,252
Embed Views
3

Actions

Likes
4
Downloads
10
Comments
0

1 Embed 3

https://twitter.com 3

Accessibility

Categories

Upload Details

Uploaded via as Adobe PDF

Usage Rights

© All Rights Reserved

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Processing…
Post Comment
Edit your comment

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

    • FabricでJobSchedulerの全自動インストール 2013/6/7JobScheduler User Group Japanyamashita@ossl.co.jp
    • 目次 1.Fabricを使用したインストール前提条件2.Fabricのインストール3.簡単なサンプル4.Fabricの実行5.JobSchedulerのインストール例  1) JRE32bitのインストール  2) mysql-connectorのインストール  3) JobSchedulerのインストール6.インストール後の動作確認(envassert)7.envassert使用例
    • 1.Fabricを使用したインストール前提条件・CentOS6.4 minimal・パッケージを最新バージョンへアップデート・時刻の設定・SELinux、ファイアウオール 機能を無効化 端末(Fabric)よりサーバへJobSchedulerをインストールします
    • 2.Fabricのインストール インストールは簡単で、以下のコマンドだけでFabricが使えるようになります。 # pip install fabric
    • 3.簡単なサンプル |  まず適当なディレクトリにfabfile.pyを作成します。(/root/fabric/fabfile.py)|  次に内容を書き込みます from fabric.api import rundef test():run( pwd)
    • 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◆実行結果
    • 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コマンドを実行したユーザのディレクトリがルートディレクトリになり、コマンドを  実行するたびにルートに戻ってしまうため、毎回作業ディレクトリを入れる必要があります。
    • 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の起動
    • 6.インストール後の動作確認     (envassert)Fabricにはサーバ環境をテストするenvassertというプラグインがあります。envassertには次の事が出来ます。|  ファイル、ディレクトリの有無確認|  サービスの起動確認|  ユーザの存在確認|  その他パーミッションの確認などenvassertはfabricのインストールだけでは使用できないため別途プラグインをインストールします。 # pip install envassert
    • 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の起動確認