0) Be sure your network meets these prerequisite requirements.
This is essential to ensure a stable network so Rush can operate reliably.
It's important machines don't change their hostnames or IP addresses
after normal reboots, and that IP address lookups are consistent throughout
reboots which a consistent local DNS (or /etc/hosts) configuration provides.
1) Make sure your /etc/hostconfig file has a
"HOSTNAME=your_hostname" entry
This disables the 'hostname.local' and Rendezvous/Bonjour stuff
that causes instability in production networks.
For example, if your machine is named "tahoe", then make the entry:
If the entry doesn't already exist, add it as a new line.
If there's an existing entry in the file that reads "HOSTNAME=-AUTOMATIC-",
replace it with the above.
After making your changes, reboot.
There should *NOT* be a '.local' in your entry, as that's a special domain
that Mac uses for Rendezvous/Bonjours.. use some other domain name, if you
specify a domain name at all. Be careful when editing /etc/hostconfig:
- Use an ascii text editor
to ensure no font formatting characters get into the file.
- Don't make typo's! This file is parsed during boot.
2) Choose a local directory to install rush.
/usr/local/rush is recommended.
If /usr/local doesn't exist, create it first.
Open a terminal window, and login as root, and extract the tar file as:
|
Extracting Rush Tar File
|
cd /usr/local
gunzip -c /tmp/rush-xxxxx.tar.gz | tar xvfp -
|
The tar 'p' flag is important!
It will preserve the permissions needed to make the daemons run properly.
To install Rush on a large network, first complete all the steps to install on one machine,
then use the Network Install instructions to install
on all the rest of the network.
If you want to install rush in another location, refer to
these instructions.
WARNING: As with all daemons and their config files,
do *not* install the rush directory or binaries on an NFS drive.
Keep rush binaries and config files local on each machine. Here is why.
3) Configure the /usr/local/rush/etc/hosts file
It should contain the
names of all hosts that participate in rendering.
See Hosts File for descriptions of each field.
4) Install the license that was emailed to you into /usr/local/rush/etc/license.dat.
5) Security issues and special configurations.
- Disable the OSX firewall.
Apple now includes a firewall that is default 'on' in some
versions of OSX which, if left enabled, will prevent Rush
from being able to communicate with remote machines.
Disable the the firewall via:
System Preferences | Sharing | Firewall | Off
Or, if you want the firewall enabled, make sure TCP and UDP port 696
is left open in the 'Settings' menu. If you want Rush to be able
to send email on job completions, you'd better allow port 25 to be able
to reach your mail server as well.
- If security is a concern at your site, carefully review the
Admin FAQ on Security
for security precautions and configuration.
- (OPTIONAL) Review the
/usr/local/rush/etc/rush.conf file.
For most situations the defaults suffice, but sometimes it pays to be pedantic.
- (OPTIONAL)
Register your settings for serverport
in /etc/services or equivalent (NIS, NetInfo, etc). See
serverport
for an example services entry.
6) Run the install script.
7) Start the daemon, and test it.
Start the daemon by invoking the boot script:
/usr/local/rush/etc/S99rush start
Then open a *new terminal window* and use 'rush -ping' to verify the daemon's running:
|
Testing The Daemon
|
% rush -ping
yourhost: RUSHD 102.42 PID=XXXXX Boot=10/15/00,03:25:49 Online, 0 jobs, 0 procs
%
|
If you get an error:
% rush -ping
yourhost: can't open port lock file '/usr/local/rush/var/nextport': Permission denied
..then you either weren't running as root when you ran the install script, or somehow
missed running the install script (step #6). To fix this, make sure you are logged in
as root when doing the install.
If you get a different error, check the daemon logs for problems, eg:
tail -f /usr/local/rush/var/rushd.log
To test if the daemon is working, you can run this test submit script,
just to verify jobs can be started, listed, and dumped:
/usr/local/rush/examples/test-submit
To submit a real job, similar to what TDs use, you can run
this test which includes
complete instructions for someone who has never used rush before.
8) Install the submit scripts for the users
9) (OPTIONAL)
Miscellaneous configurations
- Configure the /usr/local/rush/etc/templates file.
You can customize the output of 'rush -tss' and 'rush -trs',
useful for advanced users who want to quickly create their own
submit/render scripts.
- Configure the /usr/local/rush/etc/.submit and /usr/local/rush/etc/.render files.
These files are sourced by the default Submit Script and Render
Scripts respectively.
- Accounting log rotations.
Rush maintains a history of cpu utilization information in the
/usr/local/rush/var/cpu.acct file. If you don't want this
file to grow too large, you might want to have it rotated on a
monthly basis, eg:
0 0 1 * * root /bin/mv /usr/local/rush/var/cpu.acct /usr/local/rush/var/Ocpu.acct
You may want to then push the rotated file through an accounting filter
to keep tabs on cpu usage for the network. This is left as an exercise
to the reader.
Once you have things working on the first machine, then you can easily install
rush on the rest of the machines. See 'Network Install' below..
|