32 台のサーバーのクラスターがあり、Jar ファイルとしてパッケージ化された Java サービスを各マシンに配布し、サービスをリモートで開始するためのツールが必要です。クラスターは、ブレードあたり 8 コアの Linux (Suse 10) サーバーで構成されています。アプリケーションは、Oracle Coherence を使用するデータ グリッドです。これを行うための最適なツールは何ですか?
5 に答える
私は一度似たようなことを尋ねましたが、Java並列処理フレームワークがあなたが必要としているものかもしれないようです:
Webサイトから:
JPPFは、Javaで記述されたオープンソースのグリッドコンピューティングプラットフォームであり、アプリケーションの並列実行を容易にし、アプリケーションの実行を桁違いに高速化します。一度書いて、一度展開して、どこでも実行してください!
OpenMOLE をご覧ください: http://www.openmole.org/
このツールを使用すると、コンピューティング ワークフローを複数のリソース (マルチコア マシンからクラスター、コンピューティング グリッドまで) に分散できます。
これは適切に文書化されており、Groovy コードまたは GUI を介して制御できます。
OpenMOLE を使用すると、クラスターに jar を配布するのが非常に簡単になります。
サービスはEJBとしてパッケージ化されていますか?JBossはクラスタリングでかなり良い仕事をします。
Use Bit Torrent. Using Peer to Peer sharing style on clusters can really boost up your deployment speed.
これは、使用しているオペレーティングシステムと、ネットワークでセキュリティがどのように設定されているかによって異なります。
NFSまたはWindows共有を使用できる場合は、すべてのマシンに表示されるNFSドライブにソフトウェアを配置することをお勧めします。そうすれば、1つのコピーからすべてを実行できます。
リモートシェルまたはセキュアリモートシェルがある場合は、各マシンで同じコマンドを実行するスクリプトを作成できます。たとえば、すべてのマシンで起動したり、すべてのマシンで停止したりできます。
Windowsがある場合は、各マシンでサービスをセットアップすることをお勧めします。Linuxを使用している場合は、各マシンに起動/シャットダウンスクリプトを追加することをお勧めします。
多数のマシンがある場合、すべてのサービスが実行されていることを監視し、ログとエラーを1か所で収集し、GUIからそれらを開始/停止できるツールがあると便利な場合があります。これを行うためのツールはたくさんありますが、最近どれが最適かはわかりません。