Head Node Setup
First, ensure you have completed the common setup from the admin setup
The ip address of the head node is important: it is the IP that all users will use to send jobs to the cluster. Ensure this is documented somewhere.
As the distribute
user created earlier
when logged into the user distribute
, run
mkdir $HOME/server
mkdir $HOME/server/results
mkdir $HOME/server/tmp
You will need a distribute-nodes.yaml
file to specify to distribute what the IP addresses
of each compute node is in the cluster, and what software / hardware is available (capabilities
).
here
is a currently compiling example from the master branch. Ensure that you use descriptive names for each
node as they will appear in the logs. Place this file at /home/distribute/server/distribute-nodes.yaml
.
Ensure that distrbute
is installed for this user (running distribute
should
result in some output with no errors)
While Root
Clone the repo with the correct version of distribute
you are using
git clone https://github.com/Fluid-Dynamics-Group/distribute --depth 1
cd distribute
copy the server service to the system directory:
sudo cp install/distribute-server.service /etc/systemd/system/
start the service and enable it at startup:
sudo systemctl daemon-reload
sudo systemctl enable distribute-server
sudo systemctl start distribute-server
Note that if you have deviated from username or folder structure above, distribute-server.service
will
have to be updated with those paths since it relies on hard-coded paths.
Updating
To update, simply reinstall distribute
and restart the systemd service on the head node. For a fixed version at the time
of writing, this script with work:
cd ~/distribute
# for fish shell
set VERSION "0.14.5"
git fetch -a
git checkout release-$VERSION
git pull
cargo install --path .
rm ~/logs/output.log
systemctl restart distribute-compute
the most recent $VERSION
is usually up to date here.
systemctl restart distribute-server