-
Notifications
You must be signed in to change notification settings - Fork 5
Home
earonesty edited this page May 15, 2011
·
5 revisions
Usage: grun <exec-options> command...
or: grun -d [<local-daemon-options>]
or: grun -q [<query-options>] <query-command>
Lightweight compute cluster engine, maybe it should be called "lce".
For more help, run grun -h, or grun -d -h or grun -q -h
Execution Options:
-f|ile FILE Read FILE for job options
-t|race Trace mode (verbose logging)
-m|em INT memory minimum in MB
-c|pu CPUS minimum number of cpus
-n|ode N1,N2 specify certain nodes
-noio disable io-processing, but wait for completion
-nowait no io and don't wait, just start the command
-e|rr FILE write stderr directly to FILE, no spool
-o|ut FILE write stdout directly to FILE, no spool
If the command contains shell metacharacters, it's prefixed with "bash -c".
Common Options:
-C FILE (/etc/grun.conf) Config file location
-t|race Turn on debugging in the log file
-v|ersion Print version and exit
-h|elp Show this help page
Daemon Options:
-n|ode (local) One or more hosts
-r|eload Reload config
-k|ill Kill running server
-R|ESTART Kill and restart a running server
Without an option, -d just starts the daemon on the local machine.
Query Options:
-a|ll Query all nodes
-n|odes ($master) List of nodes to query
Query Commands:
[-]status List nodes (q)
[-]jobs List jobs (q)
[-]history List prior jobs (q)
[-]conf Dump config from memory (q,e)
Configuration File:
All config variables written as {value} are interpreted as perl code, and get evaluated at startup.
The "include" varialbe actually just includes the file specified, as if it were part of the original file.
All non-code configuration variables can include '$varname', which gets expanded to the value of another config var.
Be careful with match code. It it's slow, it will kill the performance of your main node.
You shouldn't need to change most of these.
Common variables:
master (localhost) Hostname[:port] of master node
spool (/var/spool/grun) Location for queue & io temp storage
log_file Location of the log
services Must be 'queue' and/or 'exec'
port Port to listen on
trace Turn tracing on for the whole server
Queue config vars:
env (PATH) List of environment varialbes to copy to the processes. An asterisk (*) means 'ALL'
expire_secs (0) If set, jobs that aren't pinged in time get retried
expire_action (retry) Can be 'retry', 'fail'
idle_load (.3) If load is less than this amount, then considered idle
io_keep (3600) Time to keep unretrieved stdio files (0=forever)
log_file Where to send "xlog" output
pid_file (/var/run/grun.pid)
ping_secs (30) Nodes ping the master this often.
ping_expire (2*$ping_secs) Drop a node if it doesn't ping in time
Execution node config vars:
match Perl code that must eval to TRUE for a node match
full_match (1) If jobs queue is full, this is evaluated
full_exec If full match returns true, then this command is run
wrap Job command wrapper