12345678910111213141516171819202122232425262728293031323334353637383940414243 |
- #!/bin/sh
- #
- # Run a shell command on all slave hosts.
- #
- # Environment Variables
- #
- # HADOOP_SLAVES File naming remote hosts.
- # Default is ${HADOOP_CONF_DIR}/slaves.
- # HADOOP_CONF_DIR Alternate conf dir. Default is ${HADOOP_HOME}/conf.
- # HADOOP_SLAVE_SLEEP Seconds to sleep between spawning remote commands.
- # HADOOP_SSH_OPTS Options passed to ssh when running remote commands.
- ##
- usage="Usage: slaves.sh [--config confdir] command..."
- # if no args specified, show usage
- if [ $# -le 0 ]; then
- echo $usage
- exit 1
- fi
- bin=`dirname "$0"`
- bin=`cd "$bin"; pwd`
- . "$bin"/hadoop-config.sh
- if [ -f "${HADOOP_CONF_DIR}/hadoop-env.sh" ]; then
- . "${HADOOP_CONF_DIR}/hadoop-env.sh"
- fi
- if [ "$HADOOP_SLAVES" = "" ]; then
- export HADOOP_SLAVES="${HADOOP_CONF_DIR}/slaves"
- fi
- for slave in `cat "$HADOOP_SLAVES"`; do
- ssh $HADOOP_SSH_OPTS $slave $"${@// /\\ }" \
- 2>&1 | sed "s/^/$slave: /" &
- if [ "$HADOOP_SLAVE_SLEEP" != "" ]; then
- sleep $HADOOP_SLAVE_SLEEP
- fi
- done
- wait
|