ジョブスケジューラのCondorをインストールして動かしてみる.

以前からなんとなく動かしてみようと思ってたCondorがようやく動いてくれたので
その動かし方をメモメモ.
ただし,もしかすると,私自身の環境でのみ動くかもしれませんので
参考程度にとどめておいてください.
もちろん,正確さなんて微塵も感じられませんww


そもそもCondorって?

アメリカのウィスコンシン大学マディソン校で開発されているフリーのジョブスケジューラ.
1985年から今もずっと開発されています.
かなり機能がついてらっしゃるジョブスケジューラです.
マッチメイキングや割込,ファイルステージング,メタスケジューラ
などなど,様々な機能が盛り込まれています.

グリッドコンピューティング環境を構築する際においてよく使われているであろう
ミドルウェアGlobus ToolKit」の上で動かす事も可能です.

詳しい事は
http://www.bestsystems.co.jp/products/software/scheduler/condor.html
のサイトで.

まずはじめに.

私の環境下では
otakky01.localdomain,otakky02.localdomain
がそれぞれIPアドレスを解決できるようにhostsファイルに書き込んでおきました.

Condorの入手

http://www.cs.wisc.edu/condor/
より,自分に合ったファイルを持ってきましょう.
私の環境はUbuntu10.04だったので
condor-7.4.4-linux-x86-debian50.tar.gz
を入手しました.

で,これからCondorのインストールに入る前に
condorユーザを設定しておきましょう.
後は,sun-java6-jdkが入っているかどうか確認してください.


condorユーザが作れれば/home/condor/に
自分が入手したCondorファイルを移動し,解凍します.

Condorのインストール

さて,これからCondorのインストールに入る訳です.
その前に,Pool(CondorがインストールされているPC群)を取りまとめる
CentralManagerを設定してください.
ここでは,otakky01.localdomainをCondorマネージャとしました.
他のPCとして,otakky02.localdomainというマシンがいます.
設定で,マネージャはジョブを実行する/しないが選べます.
今回,私はマネージャもジョブを実行する形式を選んでいます.


Condorマネージャ用のノードにインストールする場合は
先ほど解凍したディレクトリにあるcondor_configureというファイルを動かします.

#condor-configure --install --type=execute,submit,manager --local-dir=/home/condor --verbose

このコマンドを打ってください.

その後,Configファイルの設定に入ります.

condor_configの設定

このConfigファイルの設定で,私はだいぶ詰まってましたが・・・w
ConfigファイルにはPart1〜4まで分かれており,MUSTで変えなくてはいけないのはPart1から2までです.
Part1から見ていきましょう.

PART1

まずは,CONDORのホストは誰よ?っていう設定ですね.
CONDOR_HOST = otakky01.localdomain
としましょう.

RELEASE_DIRには,先ほどの解凍したであろう/home/condor/condor-7.4.4/
を設定してください.

LOCAL_DIRについても上記と同様に.

LOCAL_CONFIG_FILEは,おそらくcondorのインストール時に作られているはずですので
それを指定してあげてください.
私の環境では
/home/condor/condor/condor_config.local
に作成されていました.


CONDOR_ADMIN,MAILについては適当に設定してあげてください.


UID_DOMAINは私の環境では
UID_DOMAIN = localdomain
となっております.

COLLECTOR_NAMEはお好きな名前を.

PART2

FLOCK_FROMは,誰からのアクセスを受け付けるの?っていうモノなので
ここでは
FLOCK_FROM = otakky0*.localdomain
としました.

FLOCK_TOにはCentralマネージャを設定するので
FLOCK_TO = otakky01.localdomain
としました.

後は下の方まで行くと
ALLOW_WRITEがあるので
これにはotakky01.localdomainを設定.

これでconfigファイルの設定は終了しました.


続きまして

condor_config.localファイルの設定

CONDOR_HOST,RELEASE_DIR,FILESYSYTEM_DOMAINは先ほどと同様に.

LOCALDIRは/home/condor/とでもしましょう.


次に
DAEMON_LIST = MASTER, SCHEDD, STARTD, COLLECTOR, NEGOTIATOR
となっているか確認してください.
これは,condor_masterというプログラムを実行した際に
自動的に,condor_schedd,condor_startd,condor_collector,condor_negotiator
が実行されます.

で,実行する前に環境変数を設定する必要があります.
condor.shというシェルスクリプト内部で設定するようにはなってるんですが
私の環境ではちゃんと環境変数が吐きだされなかったので
自身の環境に合わせて~/.bashrcにでも書き出しておきましょう.
書き出したらsourceコマンドを忘れずに.


# sudo /home/condor/condor-7.4.4/sbin/condor_master

が立ちあがりましたか?
ps aux | grep condor
で確認してみて,5つのCondorプロセスが走ってなければ失敗です.

この場合,Logがちゃんと吐きだされているか確認してみてください.
Logは/home/condor/logにあります.
もし,ここにLogが吐きだされていない場合は,CondorがConfigファイルを見れてないと考えられます.

私もそうなったので,対応として
/etc/condor/
に,/home/condor/condor-7.4.4/etc/condor_configのシンボリックリンクを張りました.

それで,もう一度実行するとしっかり全部実行されます.

これで,Condorマネージャの設定は終了しました.

つづいて


Condorに対する計算資源の追加

次に,計算資源としてotakky02.localdomainを追加させます.
途中までは,otakky01の設定と同じです.
condorユーザを追加して,Condorをダウンロードし,展開してください.

次に
#condor-configure --install --type=execute,submit --local-dir=/home/condor --central-manager=hostname of central manager --verbose

を実行します.
ここの「hostname of central manager」はotakky01.localdomain
となります.

実行したら,次はConfigファイルの書き換えです.


Configファイルの書き換え

ここら辺は,先ほどのotakky01と同様です.

condor_config.localファイルの書き換え

次に,condor_config.localファイルを書き換えますが
これもotakky01と同様,なんですが.
一部分だけ違います.

Condorはセントラルマネージャが,下記5つのプロセスが動いていないといけないのに対し
condor_ master
condor_ collector
condor_ negotiator
condor_ startd
condor_ schedd


ノード側は下記3つのプロセスでおkです.
condor_ master
condor_ startd
condor_ schedd

なので

DAEMON_LIST = MASTER, STARTD, SCHEDD
の3つで大丈夫です.

それ以外の設定は,otakky01と同様の設定にしてください.
これで,プロセスが走っている事を確認してください.


プロセスが走ったら
condor_statusコマンドを実行してください.
otakky01,02がそれぞれ表示されればOKです.

お疲れさまでした.
本日は,設定まで.
実行方法などについてはまた後日.

参考にさせて頂いたサイト

http://www.linux.com/archive/feed/56747