Func
CentOS5にEPELから、上記のツールを入れる際、直接yumが使えない環境だと手動でrpmをダウンロードする必要がある。後々何度も必要になりそうなので、yumで解決した内容を記述しておこう。。今後依存性が変わるかもしれないので注意 w (ganglia-gmond) Depend…
前回 ( http://d.hatena.ne.jp/aaabbb_200904/20090922/1253627352 ) のような方針で。Pythonでスケジューラを作るとすると、 /etc/cron.d のようにPythonモジュールを置いておくディレクトリを作り、そのディレクトリ以下のファイル名を全て取得し、それら…
Func用のスケジューラとして、JobScheduler を試してみたのだが、今ひとつ思い通りに動いてくれなかったので、別のスケジューラを探してみようと思う。スケジューラ用に、cronを拡張としたツールとしては、fcron (http://fcron.free.fr/ ) などいくつかあっ…
Funcは単独ではジョブのスケジューリングができないので、cronなどのスケジューラと組み合わせる必要がある。 ただ、cronでは"日時で実行するが、休日は実行しない" などの柔軟な対応ができないため、スケジューラとしては不満が残る。。このため、以前触れ…
前回単一ノードで同時に複数ジョブを実行する方法を書いたが、単一ノードでジョブを実行するだけなら、Pythonのthreadを使った方がやりやすい。例をあげてみる。 from threading import * import time def aaa(): while True: print 'aaa' time.sleep(5) def…
Funcにはasyncというオプションがあるのだが、これを設定すると同時に複数ジョブ(複数サーバーに対して)を実行することが出来、 依存性が無い複数のジョブを同時に実行するために利用出来る。実際に1つのノードで、複数ジョブを並列で行わせてみた。 import…
確実にバッチジョブを実施するためには、Funcの管理ノードを2台構成にしたいが、そのためにはCAの証明書などを共有しておく必要がある。筆者が試したところ、 /etc/pki/certmaster /var/lib/certmaster をコピーしておいたら、 行き先のノードでも他サーバ…
FuncをPostgreSQLのバックアップのキックに使用することを例にとり、pg_dump => gzip => ls -l の順に前のコマンドが成功したら次を実施するというスクリプトを作ってみた。まず一通り載せてみる。 import func.overlord.client as fc def perform_task(rc, …
まずはFedora11 2台にfuncをインストールしてみた。 https://fedorahosted.org/func/wiki/InstallAndSetupGuide # yum install func ここで、マスターノードでは、 certmaster, それ以外のノードでは funcd を起動しておく。 funcd 起動時には、 /etc/certma…
Func ( https://fedorahosted.org/func/ ) は、Red Hat にて開発中の、運用ツールで、多数のサーバーに同一のコマンドをまとめて発行するなどの用途に使えるツールである。現状、まとめてコマンドを実施するには、Kerberos+SSHを使うことが出来、特に不自由…