macOS (as root)¶
Installing HTCondor on macOS as root user is a multi-step process.
For a multi-machine HTCondor pool, information about the roles each
machine will play can be found here: Administrative Quick Start Guide.
Note that the
get_htcondor tool cannot perform the installation
steps on macOS at present. You must follow the instructions below.
Note that all of the following commands must be run as root, except for downloading and extracting the tarball.
The condor Service Account¶
The first step is to create a service account under which the HTCondor
daemons will run.
The commands that specify a
UniqueID may fail with an
error that includes
If that occurs, you will have to retry the command with a different id number
dscl . -create /Groups/condor dscl . -create /Groups/condor PrimaryGroupID 300 dscl . -create /Groups/condor RealName 'Condor Group' dscl . -create /Groups/condor passwd '*' dscl . -create /Users/condor dscl . -create /Users/condor UniqueID 300 dscl . -create /Users/condor passwd '*' dscl . -create /Users/condor PrimaryGroupID 300 dscl . -create /Users/condor UserShell /usr/bin/false dscl . -create /Users/condor RealName 'Condor User' dscl . -create /Users/condor NFSHomeDirectory /var/empty
The next step is to download HTCondor. If you want to select a specific version of HTCondor, you can download the corresponding file from our website. Otherwise, we recommend using our download script, as follows.
cd curl -fsSL https://get.htcondor.org | /bin/bash -s -- --download
Unpack the tarball.
tar -x -f condor.tar.gz
You won’t need
condor.tar.gz again, so you can remove it now if you wish.
Copy the files to
/usr/local/condor and set up the default configuration
cp -a condor-*stripped /usr/local/condor rm -rf condor-*stripped cd /usr/local/condor mkdir -p local/log mkdir -p local/spool mkdir -p local/execute mkdir -p local/config.d cp etc/examples/condor_config etc/condor_config cp etc/examples/00-htcondor-9.0.config local/config.d
If you are setting up a single-machine pool, then run the following command to finish the configuration.
cp etc/examples/00-minicondor local/config.d
If you are setting up part of a multi-machine pool, then you’ll have to make some other configuration changes, which we don’t cover here.
Next, fix up the permissions of the the installed files.
chown -R root:wheel /usr/local/condor chown -R condor:condor /usr/local/condor/local/log chown -R condor:condor /usr/local/condor/local/spool chown -R condor:condor /usr/local/condor/local/execute
Finally, make the configuration file available at one of the well-known locations for the tools to find.
mkdir -p /etc/condor ln -s /usr/local/condor/etc/condor_config /etc/condor
Start the Daemons¶
Now, register HTCondor has a service managed by launchd and start up the daemons.
cp /usr/local/condor/etc/examples/condor.plist /Library/LaunchDaemons launchctl load /Library/LaunchDaemons/condor.plist launchctl start condor
You’ll want to add the HTCondor
sbin directories to your
PATH environment variable.
If you want to use the Python bindings for HTCondor, you’ll want to add them to your PYTHONPATH.
Verifying a Single-Machine Installation
You can easily check to see if the installation procedure succeeded. The following commands should complete without errors, producing output that looks like the corresponding example.
Name OpSys Arch State Activity LoadAv Mem Actv firstname.lastname@example.org LINUX X86_64 Unclaimed Benchmarking 0.000 2011 0+00 email@example.com LINUX X86_64 Unclaimed Idle 0.000 2011 0+00 firstname.lastname@example.org LINUX X86_64 Unclaimed Idle 0.000 2011 0+00 email@example.com LINUX X86_64 Unclaimed Idle 0.000 2011 0+00 Total Owner Claimed Unclaimed Matched Preempting Backfill Drain X86_64/LINUX 4 0 0 4 0 0 0 0 Total 4 0 0 4 0 0 0 0
-- Schedd: azaphrael.org : <188.8.131.52:34585?... @ 11/11/20 14:44:06 OWNER BATCH_NAME SUBMITTED DONE RUN IDLE HOLD TOTAL JOB_IDS Total for query: 0 jobs; 0 completed, 0 removed, 0 idle, 0 running, 0 held, 0 suspended Total for all users: 0 jobs; 0 completed, 0 removed, 0 idle, 0 running, 0 held, 0 suspended
If both commands worked, the installation likely succeeded.
Where to Go from Here