Page History

Turn Off History

When we say "Personal HTCondor" we mean two things which are actually independent, but which normally go together

  1. A single node HTCondor pool
  2. A HTCondor pool in which all of the daemons and jobs run as a single user

These instructions show you how to set up HTCondor to be both of these things, but keep in mind that they are actually independent, and you can easily change the configuration to have a multi-node pool running as a single user, or a single-node pool where the daemons run as root (and jobs run unprivileged).

These instructions are for Windows. Instructions for *nix and OSX are here

Get HTCondor binaries

Downloading the tarball/zip release

Or build HTCondor and tar/zip the release_dir directory from the build

For Personal HTCondor we use the tarball/zip release because this lets you control where the binaries will be installed, and will allow you have more than a single version of HTCondor running at once.

Setting up your Personal HTCondor

The remainder of this guide will assume that you downloaded or built the -339550-Windows-x86.zip archive. If you are working with a different archive, adjust the commands accordingly.

Unpack the HTCondor binaries (setting up "RELEASE_DIR")

We refer to the place where the HTCondor binaries live as RELEASE_DIR, you can unpack the archive to create this directory using the following commands.

> cd \scratch
> mkdir condor84
> cd condor84
> 7z x <path-to-archive>\condor-8.4.0-339550-Windows-x86.zip

The directory \scratch\condor84 will now contain the HTCondor binaries, it will contain subdirectores bin, sbin, libexec, etc and several others. We call this directory RELEASE_DIR.

Create configuration (setting up "LOCAL_DIR")

HTCondor needs configuration files, and at least 3 runtime directories: log, spool and execute. Create configuration files by copying condor_config.generic from the etc directory and then editing it

> mkdir \scratch\local\condor84
> mkdir \scratch\local\condor84\log
> mkdir \scratch\local\condor84\spool
> mkdir \scratch\local\condor84\execute
> copy \scratch\condor84\etc\condor_config.generic \scratch\condor84\condor_config
> notepad \scratch\condor84\condor_config

In your editor, find RELEASE_DIR and change the value to c:\scratch\condor84, and find LOCAL_DIR, remove the # and change the value to c:\scratch\local\condor84,

##  Where have you installed the bin, sbin and lib condor directories?
RELEASE_DIR = C:\scratch\condor84

##  Where is the local condor directory for each host?  This is where the local config file(s), logs and
LOCAL_DIR = c:\scratch\local\condor84

Then at the bottom of this file add

use ROLE : Personal
NETWORK_INTERFACE = 127.0.0.1

If you plan to run more than a single instance of HTCondor on this machine, you will also need to create unique value for the procd_pipe on windows, and you may want to configure a unique port for the Collector listen on.

PROCD_ADDRESS = \\.\pipe\condor_procd_pipe8399
#optional
COLLECTOR_HOST = $(CONDOR_HOST):8399

Setup your environment to run your Personal HTCondor

In order to start this Personal HTCondor or to use any of the HTCondor tools with it, you need to set the PATH and CONDOR_CONFIG environment variables. One way to do this it to create a small batch file and use it setup the environment.

create this file in in your \scratch\condor84 directory. call it setenv.bat

set PATH=c:\scratch\condor84\bin;%PATH%
set CONDOR_CONFIG=c:\scratch\condor84\condor_config

Run your Personal HTCondor

First, make sure that you will run the correct HTCondor. The which command can be used to find out if you will run the correct condor_master:

> \scratch\condor84\setenv.bat
> where condor_master
\scratch\condor84\bin\condor_master.exe
Then run condor_master:
start \scratch\condor84\bin\condor_master -f
Wait a second, and make sure that everything is running:
tasklist | findstr /i condor
When you are done with your personal HTCondor, you can kill it with:
condor_off -master

Remember you must use \scratch\condor84\setenv.bat or some other method to set the PATH and CONDOR_CONFIG and environment variables before you start HTCondor or use an of the tools.