Check for an updated copy of this README at http://wiki.apache.org/hadoop/Chukwa_Startup_and_Shutdown_Scripts

start-all.sh - runs start-collectors.sh, start-agents.sh, start-probes.sh, start-data-processors.sh

start-collectors.sh - start the chukwa collector daemon (jettyCollector.sh) on hosts listed in conf/collectors
stop-collectors.sh - stop the chukwa collector daemon (jettyCollector.sh) on hosts listed in conf/collectors

jettyCollector.sh - start the chukwa collector daemon on the current host

start-agents.sh - start chukwa agent daemon (agent.sh) on all hosts listed in conf/agents
stop-agents.sh - stop chukwa agent daemon (agent.sh) on all hosts listed in conf/agents

agent.sh - start the chukwa agent on the current host

start-probes.sh - runs, in this order, systemDataLoader.sh, torqueDataLoader.sh, nodeActivityDataLoader.sh

systemDataLoader.sh - every 60 seconds run: sar, iostat, top, top, df, netstat. //TODO: figure out where these guys send their output
torqueDataLoader.sh - //TODO: FILL THIS IN!
nodeActivityDataLoader.sh - //TODO: FILL THIS IN!

slaves.sh <command command_args ...> - run arbitrary commands on all hosts in conf/slaves

jettycollector.sh - start a jetty based version of the Chukwa collector
agent.sh - start the chukwa agent on the local machine
