0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 3 years have passed since last update.

WindowsにHTCondorをインストールしてジョブを実行する(1台)

Last updated at Posted at 2021-07-12

はじめに

HTCondorという計算負荷の高いジョブに特化した計算負荷管理システムがあります。これをWindowsのPCに入れてなんとか計算を分散させたいのですが、公式ページは英語の手順書しかなく、まずインストールと実行で躓いたため、日本語で手順をメモしたいと思います。

環境

OS : Windows10
HTCondor : 9.1.0

手順

インストール

公式ページのWindows Administrator用のマニュアルを参考に設定していきます。

msiファイルのダウンロード

current channelのリンクから最新版の一個前(または二個前)のバージョンを取得します。
最新版は目下開発中(dailyフォルダ)であり、一つか二つ前のバージョンにしか「release」フォルダがないためです。releaseフォルダを探し、Windows用のmsiファイルをダウンロードします。2021/7次点ではreleaseのある最新バージョンは「9.1.0」です。

msiファイルの実行

管理者権限で実行します。管理者権限でPowerShellを開き、

msiexec /i condor-9.1.0-Windows-x64.msi

を実行するのが安全です。
ここで色々入力項目が出てきますが、これは公式ページに従って入力すればOKです。
インストール時に設定した内容は、グローバルな方の設定ファイルC:¥condor¥condor_configに保存されています。

インストール後

公式ページには再起動不要と書いていますが、念のため一度再起動してください。
(私の場合は再起動しないとちゃんと動きませんでした)
再起動が終わったら、環境変数CONDOR_CONFIGC:¥condor¥condor_configを設定します。
ここまで終わったら、管理者権限で実行したPowerShellで、コマンドcondor_statusでエラー無く実行できることを確認します。

ユーザ設定

Linuxだと必要ないのですが、Windowsの場合はユーザ設定を行わないと、作業用ディレクトリやほかのユーザのジョブの実行ができません。やっていきます。

condor_creddを起動

それ用の設定ファイルのテンプレートC:\condor\etc\condor_config.local.creddの内容をローカルな方の設定ファイルC:\condor\condor_config.localにコピーします。
次に、管理者権限でコマンドcondor_restartを実行し、Condorを再起動します。
タスクマネージャーを開き、condor_credd applicationが起動していることを確認します。

ユーザの登録

現在のユーザのままPowerShellを開き、コマンドcondor_store_cred addでユーザを登録します。パスワードを聞かれるので、自分のパスワードを入力します。
成功すればユーザ登録完了です。

ジョブの実行

実行したいファイルと、実行したいファイルを記述したsubmitファイルの、少なくとも二つが必要です。
公式ページのクイックスタートガイドに従って書いていきます。
実行するファイルはsleep.batです。これの中身は公式ページ通りでOKです。
submitファイルはsubmit.subです。これは公式ページの中身に加えて、少し書き加えます。具体的に言うと、下のように、各ファイルは絶対パスで書いた方が安心です。

sleep.sub
# sleep.sub -- simple sleep job

executable              = C:\Users\<ユーザ名>\...\sleep.bat
log                     = C:\Users\<ユーザ名>\...\sleep.log
output                  = C:\Users\<ユーザ名>\...\outfile.txt
error                   = C:\Users\<ユーザ名>\...\errors.txt
should_transfer_files   = Yes
when_to_transfer_output = ON_EXIT
queue

このファイルをPowerShell上でコマンドcondor_submit .\sleep.subで実行します。管理者権限PowerShellを使って絶対パスで指定してもいいし、素のPowerShellでもOKなはずです。
上のユーザの登録をしてないといろいろ面倒なことになるので注意です。

終わりに

本命は複数台のPCでのジョブ実行なのでまだ先は長いです。
今回設定試してみてうまくいった方法を書きましたが、正しいやり方やもっといい方法などあればコメントいただけるとありがたいです。
また、試した設定の中で関係なさそうなものは書かなかったのですが、実は関係あって上記のやり方だけだとうまくいかないよという場合も教えていただけると助かります。

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?