Fix #128 Minimize setup output
diff --git a/bin/impl/setup-accumulo.sh b/bin/impl/setup-accumulo.sh
index 174f52b..0d5ea2f 100755
--- a/bin/impl/setup-accumulo.sh
+++ b/bin/impl/setup-accumulo.sh
@@ -21,8 +21,8 @@
fi
if [[ $1 != "--no-deps" ]]; then
- "$UNO_HOME"/bin/impl/setup-hadoop.sh
- "$UNO_HOME"/bin/impl/setup-zookeeper.sh
+ run_setup_script Hadoop
+ run_setup_script ZooKeeper
fi
pkill -f accumulo.start
@@ -30,7 +30,7 @@
# stop if any command fails
set -e
-echo "Setting up Apache Accumulo at $ACCUMULO_HOME"
+echo >&0 "Setting up Apache Accumulo at $ACCUMULO_HOME"
rm -rf "$INSTALL"/accumulo-*
rm -f "$ACCUMULO_LOG_DIR"/*
@@ -78,7 +78,7 @@
echo "accumulo.sink.graphite.server_port=2004"
echo "accumulo.sink.graphite.metrics_prefix=accumulo"
} >> "$conf"/"$metrics_props"
- "$UNO_HOME"/bin/impl/setup-metrics.sh
+ run_setup_script Metrics
fi
if [[ "$ACCUMULO_USE_NATIVE_MAP" == "true" ]]; then
@@ -98,4 +98,3 @@
"$ACCUMULO_HOME"/bin/accumulo-cluster start
fi
-echo "Apache Accumulo setup complete"
diff --git a/bin/impl/setup-fluo-yarn.sh b/bin/impl/setup-fluo-yarn.sh
index ae896d3..ddcbafb 100755
--- a/bin/impl/setup-fluo-yarn.sh
+++ b/bin/impl/setup-fluo-yarn.sh
@@ -24,11 +24,11 @@
fi
if [[ $1 != "--no-deps" ]]; then
- "$UNO_HOME"/bin/impl/setup-fluo.sh
+ run_setup_script Fluo
fi
if [[ -f "$DOWNLOADS/$FLUO_YARN_TARBALL" ]]; then
- echo "Setting up Apache Fluo YARN launcher at $FLUO_YARN_HOME"
+ echo >&0 "Setting up Apache Fluo YARN launcher at $FLUO_YARN_HOME"
# Don't stop if pkills fail
set +e
pkill -f "fluo\.yarn"
@@ -51,10 +51,8 @@
"$FLUO_YARN_HOME"/lib/fetch.sh
- echo "Apache Fluo YARN launcher setup complete"
-
stty sane
else
- echo "WARNING: Apache Fluo YARN launcher tarball '$FLUO_YARN_TARBALL' was not found in $DOWNLOADS."
- echo "Apache Fluo YARN launcher will not be set up!"
+ echo >&0 "WARNING: Apache Fluo YARN launcher tarball '$FLUO_YARN_TARBALL' was not found in $DOWNLOADS."
+ echo >&0 "Apache Fluo YARN launcher will not be set up!"
fi
diff --git a/bin/impl/setup-fluo.sh b/bin/impl/setup-fluo.sh
index b1ee442..424a74d 100755
--- a/bin/impl/setup-fluo.sh
+++ b/bin/impl/setup-fluo.sh
@@ -24,11 +24,11 @@
fi
if [[ $1 != "--no-deps" ]]; then
- "$UNO_HOME"/bin/impl/setup-accumulo.sh
+ run_setup_script Accumulo
fi
if [[ -f "$DOWNLOADS/$FLUO_TARBALL" ]]; then
- echo "Setting up Apache Fluo at $FLUO_HOME"
+ echo >&0 "Setting up Apache Fluo at $FLUO_HOME"
# Don't stop if pkills fail
set +e
pkill -f fluo.yarn
@@ -70,10 +70,8 @@
"$FLUO_HOME"/lib/fetch.sh extra
- echo "Apache Fluo setup complete"
-
stty sane
else
- echo "WARNING: Apache Fluo tarball '$FLUO_TARBALL' was not found in $DOWNLOADS."
- echo "Apache Fluo will not be set up!"
+ echo >&0 "WARNING: Apache Fluo tarball '$FLUO_TARBALL' was not found in $DOWNLOADS."
+ echo >&0 "Apache Fluo will not be set up!"
fi
diff --git a/bin/impl/setup-hadoop.sh b/bin/impl/setup-hadoop.sh
index d2bf0e0..d8a81ff 100755
--- a/bin/impl/setup-hadoop.sh
+++ b/bin/impl/setup-hadoop.sh
@@ -24,7 +24,7 @@
# stop if any command fails
set -e
-echo "Setting up Apache Hadoop at $HADOOP_PREFIX"
+echo >&0 "Setting up Apache Hadoop at $HADOOP_PREFIX"
rm -rf "$INSTALL"/hadoop-*
rm -f "$HADOOP_LOG_DIR"/*
@@ -51,4 +51,3 @@
"$HADOOP_PREFIX"/sbin/start-dfs.sh
"$HADOOP_PREFIX"/sbin/start-yarn.sh
-echo "Apache Hadoop setup complete"
diff --git a/bin/impl/setup-metrics.sh b/bin/impl/setup-metrics.sh
index f4b3c45..e045ca1 100755
--- a/bin/impl/setup-metrics.sh
+++ b/bin/impl/setup-metrics.sh
@@ -17,11 +17,11 @@
source "$UNO_HOME"/bin/impl/util.sh
if [[ "$OSTYPE" == "darwin"* ]]; then
- echo "The metrics services (InfluxDB and Grafana) are not supported on Mac OS X at this time."
+ echo >&0 "The metrics services (InfluxDB and Grafana) are not supported on Mac OS X at this time."
exit 1
fi
-echo "Killing InfluxDB & Grafana (if running)"
+echo >&0 "Killing InfluxDB & Grafana (if running)"
pkill -f influxdb
pkill -f grafana-server
@@ -35,36 +35,36 @@
INFLUXDB_TARBALL=influxdb-"$INFLUXDB_VERSION".tar.gz
GRAFANA_TARBALL=grafana-"$GRAFANA_VERSION".tar.gz
if [[ ! -f "$DOWNLOADS/build/$INFLUXDB_TARBALL" ]]; then
- echo "InfluxDB tarball $INFLUXDB_TARBALL does not exists in downloads/build/"
+ echo >&0 "InfluxDB tarball $INFLUXDB_TARBALL does not exists in downloads/build/"
exit 1
fi
if [[ ! -f "$DOWNLOADS/build/$GRAFANA_TARBALL" ]]; then
- echo "Grafana tarball $GRAFANA_TARBALL does not exists in downloads/build"
+ echo >&0 "Grafana tarball $GRAFANA_TARBALL does not exists in downloads/build"
exit 1
fi
if [[ ! -d "$FLUO_HOME" ]]; then
- echo "Fluo must be installed before setting up metrics"
+ echo >&0 "Fluo must be installed before setting up metrics"
exit 1
fi
# stop if any command fails
set -e
-echo "Removing previous versions of InfluxDB & Grafana"
+echo >&0 "Removing previous versions of InfluxDB & Grafana"
rm -rf "$INSTALL"/influxdb-*
rm -rf "$INSTALL"/grafana-*
-echo "Remove previous log and data dirs"
+echo >&0 "Remove previous log and data dirs"
rm -f "$LOGS_DIR"/metrics/*
rm -rf "$DATA_DIR"/influxdb
mkdir -p "$LOGS_DIR"/metrics
-echo "Setting up metrics (influxdb + grafana)..."
+echo >&0 "Setting up metrics (influxdb + grafana)..."
tar xzf "$DOWNLOADS/build/$INFLUXDB_TARBALL" -C "$INSTALL"
"$INFLUXDB_HOME"/bin/influxd config -config "$UNO_HOME"/conf/influxdb/influxdb.conf > "$INFLUXDB_HOME"/influxdb.conf
if [[ ! -f "$INFLUXDB_HOME"/influxdb.conf ]]; then
- echo "Failed to create $INFLUXDB_HOME/influxdb.conf"
+ echo >&0 "Failed to create $INFLUXDB_HOME/influxdb.conf"
exit 1
fi
$SED "s#DATA_DIR#$DATA_DIR#g" "$INFLUXDB_HOME"/influxdb.conf
@@ -79,7 +79,7 @@
cp "$UNO_HOME"/conf/grafana/accumulo-dashboard.json "$GRAFANA_HOME"/dashboards/
"$GRAFANA_HOME"/bin/grafana-server -homepath="$GRAFANA_HOME" 2> /dev/null &
-echo "Configuring Fluo to send metrics to InfluxDB"
+echo >&0 "Configuring Fluo to send metrics to InfluxDB"
if [[ $FLUO_VERSION =~ ^1\.[0-1].*$ ]]; then
FLUO_PROPS=$FLUO_HOME/conf/fluo.properties
else
@@ -94,14 +94,14 @@
echo "fluo.metrics.reporter.graphite.frequency=30"
} >> "$FLUO_PROPS"
-echo "Configuring InfluxDB..."
+echo >&0 "Configuring InfluxDB..."
sleep 10
"$INFLUXDB_HOME"/bin/influx -import -path "$FLUO_HOME"/contrib/influxdb/fluo_metrics_setup.txt
# allow commands to fail
set +e
-echo "Configuring Grafana..."
+echo >&0 "Configuring Grafana..."
sleep 5
@@ -112,11 +112,11 @@
--data-binary "$1"
retcode=$?
if [[ $retcode != 0 ]]; then
- echo "Failed to add Grafana data source. Retrying in 5 sec.."
+ echo >&0 "Failed to add Grafana data source. Retrying in 5 sec.."
sleep 5
fi
done
- echo ""
+ echo >&0 ""
}
accumulo_data='{"name":"accumulo_metrics","type":"influxdb","url":"http://'
diff --git a/bin/impl/setup-spark.sh b/bin/impl/setup-spark.sh
index c7688c4..3f015f9 100755
--- a/bin/impl/setup-spark.sh
+++ b/bin/impl/setup-spark.sh
@@ -19,11 +19,11 @@
verify_exist_hash "$SPARK_TARBALL" "$SPARK_HASH"
if [[ ! -d "$HADOOP_PREFIX" ]]; then
- echo "Apache Hadoop needs to be setup before Apache Spark can be setup."
+ echo >&0 "Apache Hadoop needs to be setup before Apache Spark can be setup."
exit 1
fi
-echo "Setting up Apache Spark at $SPARK_HOME"
+echo >&0 "Setting up Apache Spark at $SPARK_HOME"
pkill -f org.apache.spark.deploy.history.HistoryServer
@@ -45,4 +45,3 @@
export SPARK_LOG_DIR=$LOGS_DIR/spark
"$SPARK_HOME"/sbin/start-history-server.sh
-echo "Apache Spark setup complete"
diff --git a/bin/impl/setup-zookeeper.sh b/bin/impl/setup-zookeeper.sh
index dfd9d62..9a6ef37 100755
--- a/bin/impl/setup-zookeeper.sh
+++ b/bin/impl/setup-zookeeper.sh
@@ -23,7 +23,7 @@
# stop if any command fails
set -e
-echo "Setting up Apache ZooKeeper at $ZOOKEEPER_HOME"
+echo >&0 "Setting up Apache ZooKeeper at $ZOOKEEPER_HOME"
rm -rf "$INSTALL"/zookeeper-*
rm -f "$ZOO_LOG_DIR"/*
mkdir -p "$ZOO_LOG_DIR"
@@ -36,4 +36,3 @@
rm -rf "$DATA_DIR"/zookeeper
"$ZOOKEEPER_HOME"/bin/zkServer.sh start
-echo "Apache ZooKeeper setup complete"
diff --git a/bin/impl/util.sh b/bin/impl/util.sh
index 14bbe7c..ac1a4fa 100755
--- a/bin/impl/util.sh
+++ b/bin/impl/util.sh
@@ -19,7 +19,7 @@
expected_hash=$(echo "${2// /}" | tr '[:upper:]' '[:lower:]')
if [[ ! -f "$DOWNLOADS/$tarball" ]]; then
- echo "The tarball $tarball does not exist in downloads/"
+ echo >&0 "The tarball $tarball does not exist in downloads/"
exit 1
fi
@@ -30,14 +30,14 @@
64) HASH_CMD='shasum -a 256' ;;
128) HASH_CMD='shasum -a 512' ;;
*)
- echo "Expected checksum ($expected_hash) of $tarball is not an MD5, SHA1, SHA256, or SHA512 sum"
+ echo >&0 "Expected checksum ($expected_hash) of $tarball is not an MD5, SHA1, SHA256, or SHA512 sum"
exit 1
;;
esac
actual_hash=$($HASH_CMD "$DOWNLOADS/$tarball" | awk '{print $1}')
if [[ "$actual_hash" != "$expected_hash" ]]; then
- echo "The actual checksum ($actual_hash) of $tarball does not match the expected checksum ($expected_hash)"
+ echo >&0 "The actual checksum ($actual_hash) of $tarball does not match the expected checksum ($expected_hash)"
exit 1
fi
}
@@ -46,8 +46,16 @@
function check_dirs() {
for arg in "$@"; do
if [[ ! -d "${!arg}" ]]; then
- echo "$arg=${!arg} is not a valid directory. Please make sure it exists"
+ echo >&0 "$arg=${!arg} is not a valid directory. Please make sure it exists"
exit 1
fi
done
}
+
+function run_setup_script() {
+ local SCRIP; SCRIP=$(echo "$1" | tr '[:upper:] ' '[:lower:]-')
+ local L_DIR; L_DIR="$LOGS_DIR/setup"
+ mkdir -p "$L_DIR"
+ shift
+ "$UNO_HOME/bin/impl/setup-$SCRIP.sh" "$@" 1>"$L_DIR/$SCRIP.stdout" 2>"$L_DIR/$SCRIP.stderr"
+}
diff --git a/bin/uno b/bin/uno
index 2dc8406..94c74ab 100755
--- a/bin/uno
+++ b/bin/uno
@@ -40,26 +40,28 @@
fi
;;
setup)
+ [[ -n $LOGS_DIR ]] && rm -f "$LOGS_DIR"/setup/*.std{out,err}
+ echo "Beginning setup (detailed logs in $LOGS_DIR/setup)..."
case "$2" in
all)
- "$bin"/impl/setup-fluo.sh
- "$bin"/impl/setup-spark.sh
- "$bin"/impl/setup-metrics.sh
+ run_setup_script Fluo
+ run_setup_script Spark
+ run_setup_script Metrics
;;
accumulo)
- "$bin"/impl/setup-accumulo.sh "$3"
+ run_setup_script Accumulo "$3"
;;
fluo)
- "$bin"/impl/setup-fluo.sh "$3"
+ run_setup_script Fluo "$3"
;;
fluo-yarn)
- "$bin"/impl/setup-fluo-yarn.sh "$3"
+ run_setup_script "Fluo Yarn" "$3"
;;
spark)
- "$bin"/impl/setup-spark.sh
+ run_setup_script Spark
;;
metrics)
- "$bin"/impl/setup-metrics.sh
+ run_setup_script Metrics
;;
*)
echo "Usage: uno setup <component> [--no-deps]"
@@ -75,6 +77,12 @@
exit 1
;;
esac
+ if [[ "$?" == 0 ]]; then
+ echo "Setup complete."
+ else
+ echo "Setup failed!"
+ false
+ fi
;;
kill)
"$bin"/impl/kill.sh "${@:2}"