
このインストーラーは何台構成のクラスターにでもLavaをインストールできます。Lavaではジョブのスケジューリングを管理しているコンピュータはMasterと呼ばれます。その他のコンピュータはSlaveと呼ばれます。ジョブの投入は、MasterからでもSlaveからでも、全く同様に可能です。このインストーラーでは、ジョブの実行は、MasterとSlaveの区別なく行われるよう設定します。もし、Masterではジョブの投入だけにしたい場合は、簡単にできますので、コメントやメール(hpcdiyc_support@hpc.co.jpまで)でお問い合わせください。Masterは複数台にできますが、このインストーラーでは、Masterが1台の構成でインストールを行います。
作業は、LavaのMasterになるコンピュータ上で行います。Slaveへのインストールは、Master上から、rcpコマンドでファイルをコピーし、rshコマンドでインストールと設定を行なっていきます。実行ファイルはbashスクリプトで書かれています。やっていることは単純作業です。rcpとrshが嫌いな人は、scpとsshなを使うなど、自由に書き換えてからお使いください。
この記事では、2台構成のクラスターでインストールを行なっています。ホスト名はhpc01とhpc02です。hpc01をMaster、hpc02をSlaveにします。従って、作業はhpc01上で行っています。
インストール作業に入る前に、条件が整っているか確かめましょう。rcpとrshがパスワードなしで、使えることを確かめます。

大丈夫ですね。それでは、ダウンロードしたファイルを解凍したディレクトリに移ります。もう一点確かめるべきことがありました。tclパッケージがインストールされていないと、Lavaのコマンド群が生成できません。tclshコマンドが存在するか確かめて、インストールされてないなら、yumコマンドでインストールします。この例では、既にインストールされているので、その旨メッセージが出るだけでインストールはされません。

rcp、rsh、tcl、tcl-develが揃っていれば、インストール作業を開始できます。どのようなクラスターにLavaをインストールするかを定義するのが、このディレクトリ中にあるlava.hostsファイルです。

ほとんど/etc/hostsファイルと同じなので、/etc/hostsファイルをコピーして修正すればいいと思います。#で始まる行はコメントです。コメントでない行で、最初の行がMasterになります。このコンピュータ上で作業する必要があります。
台数が多いクラスターにLavaをインストールする場合は、最初2台くらいで試してみて、問題がなければ、全部にインストールするなどしたほうが、無用のトラブルの用心になるかもしれません。
lava.hostsファイルを正しく作ったら、いよいよインストールです。といっても、入力は./setup-lavaだけです。

入力は簡単ですが、インストール作業はちょっと時間がかかります。メッセージも大量に出ます。最初に、Lavaのコマンド群をMaster上でmakeする作業がしばらく続きます。それが終わると、コマンド群をMaster上にインストールします。その後、必要なディレクトリを作り、 設定ファイルを書き込みます。同時に、 lavaadminというユーザーを登録します。 Master上での作業が終わると、Master上ではLavaの起動はせずに、Slave上での作業に移ります。まず、Master上でmakeされたファイルを含めたlava-configuratorディレクトリを、Slave上の/root下へコピーします。続いて、Master上で行った作業をコマンド群のmake無しで行います。従って、Slave上にはtclパッケージは無くても大丈夫です。全部が終わったら、インストールされたばかりの/etc/init.d/lavaをスタートし、バッチを受け入れる体制にします。以上を全部のSlaveに対して行います。Slaveに対する全作業が終わったら、Master上でLavaの必要なdaemonをたちあげて、Lavaのインストール作業はおしまいです。

もう既にLavaは全ノードで動作しているのですが、すぐにbhostsコマンドなどを入れるとエラーになります。

logoutしてloginしなおせばいいのですが、それが面倒なら、

とすれば大丈夫です。Lavaをご活用ください。
このインストーラーを作るにあたって、こちらとこちらを参考にさせて頂きました。大変ありがとうございます。また、HPCシステムズ株式会社の西塚氏にも大変お世話になりました。ありがとうございます。
この記事に興味を持たれた方は、こちらも御覧ください。
スポンサーサイト