README
1THIS DIRECTORY
2
3This directory contains a library of cluster manipulation scripts.
4
5The main idea is facilitation of parallel operations and minimizaiton
6of code duplicaiton.
7
8Executable file is command.sh. It sources the configuration and the rest of
9the scripts which implement different funcitons:
10
11jobs.sh - the main file which defines generic command execution framework.
12 It implements parallel and per-node command execution routines and
13 enables unified logging behaviour. Other scripts just have to define
14 the actual command functions following certain conventions, so far
15 there is only one: node index is appended to the list of command line
16 parameters, then everything is passed to the function.
17
18install.sh - implements a cluster-wide 'install' command which takes a name
19 of the distribution file as the first argument
20
21remove.sh - implements a cluster-wide "remove" command.
22
23action.sh - usual start/stop/restart/check commands, both cluster-wide and
24 per node.
25
26kill.sh - a per-node kill -9 command
27
28Assumed convention: cluster-wide commands are just commnads, per-node commands
29have _node suffix. E.g.
30
31./command.sh start
32
33starts all nodes,
34
35./command.sh stop_node 1
36
37stops only node number 1. Numbering is 0-based.
38
39It is intended that each command should implement its own help.
40
41
42SPECIAL FILES AND DIRECTORIES:
43
44../conf directory contains configuration files.
45
46Each command creates at least 4 files named <command>_<node_id>.<ext> where
47<ext> is:
48
49out - standard output of the command
50err - standard error of the command
51pid - pid of the porcess executing command
52ret - return code of the command
53
54"out" files are placed into $BASE_OUT directory, other files are placed in
55$BASE_RUN. The reason to separate is unclear.
56
57