key_amb主にIT関連の技術メモこの広告は、90日以上更新していないブログに表示しています。ジョブを登録したり実行したりできます。管理するノード(群)に対してリモートで実行させることもできます。冗長化ポイントは以下2点です。稼働サーバこの記事ではまず、前者のジョブ実行ノードの冗長化について考えます。HAシステム経由でジョブを実行するようにします。対象ノードにはHAシステムのホスト名または仮想IPを指定するようにします。ごとにユニークなミューテックス(ロック)を取得する、というやり方です。ミューテックスの取得に成功したジョブは継続処理しますが、失敗した場合は即座に終了するようにします。アプリケーションフレームワークにこうした機構が実装されていれば、比較的手軽に実現できそうです。設定を工夫すれば、同じようなことは「一応」実現できました。使って試しに設定してみた例になります。アクセスできるようになりました。作成することもできます。各ステップには名前をつけることができます。それぞれ中身はシェルコマンドです。実行することで、簡易的なミューテックス取得処理となるように意図しています。標準出力するだけです。マッチするノード2台が実行対象です。失敗したノード数を表しています。数字は1なので、もう1台では成功しています。タブで各ノードのステップ実行結果を見てみます。最後まで正常に実行されたことがわかります。ステップで失敗して、以降の処理を中断しました。これはミューテックスによる排他制御であり、狙い通りの挙動です。実際の処理(=successの表示)が行われたことがわかります。よって、バッチジョブを複数台にディスパッチし、かつその内1台でのみ実行されるように設定可能なことがわかりました。なってしまうのが少々残念なところです。調べた限りでは、「1台でも実行成功したら成功とする」ような設定は見つからなかったので、仕方なさそうです。よるバッチ実行ノードの冗長化について考えてみました。機能を使うことで冗長化が「一応」実現可能なことを確認しました。少々トリッキーなやり方になってしまいました。サーバの冗長化についても書こうと思ったのですが、長くなったのでこのエントリはここまでにしておきます。(1)はてなブログをはじめよう!key_ambさんは、はてなブログを使っています。ブログを報告するスターをつけました引用をストックしましたストック一覧を見る閉じる引用するにはまずログインしてくださいログイン閉じる引用をストックできませんでした。再度お試しください閉じる限定公開記事のため引用できません。