Merge pull request #68 from ericnewton/master
#67 parallelize setup
diff --git a/bin/impl/fluo_deploy/main.py b/bin/impl/fluo_deploy/main.py
index dde3219..ef31356 100644
--- a/bin/impl/fluo_deploy/main.py
+++ b/bin/impl/fluo_deploy/main.py
@@ -166,7 +166,7 @@
exit("ERROR - Command failed with return code of {0}: {1}".format(retcode, command))
def exec_on_proxy(config, command, opts=''):
- ssh_command = "ssh -A -o 'StrictHostKeyChecking no' {opts} {usr}@{ldr} '{cmd}'".format(usr=config.cluster_username(),
+ ssh_command = "ssh -t -A -o 'StrictHostKeyChecking no' {opts} {usr}@{ldr} '{cmd}'".format(usr=config.cluster_username(),
ldr=config.proxy_public_ip(), cmd=command, opts=opts)
return (subprocess.call(ssh_command, shell=True), ssh_command)
diff --git a/cluster/install/fluo-cluster/bin/impl/configure.sh b/cluster/install/fluo-cluster/bin/impl/configure.sh
index d531cca..9979f75 100755
--- a/cluster/install/fluo-cluster/bin/impl/configure.sh
+++ b/cluster/install/fluo-cluster/bin/impl/configure.sh
@@ -24,8 +24,9 @@
ADDR=${ARR[0]}
HOST=${ARR[1]}
NUM_EPHEMERAL=${ARR[2]}
- ssh -tt "${SSH_OPTS[@]}" $CLUSTER_USERNAME@$ADDR $BIN_DIR/fluo-cluster configure-local $HOST $NUM_EPHEMERAL < /dev/null
+ ssh -tt "${SSH_OPTS[@]}" $CLUSTER_USERNAME@$ADDR $BIN_DIR/fluo-cluster configure-local $HOST $NUM_EPHEMERAL < /dev/null &
done < $CONF_DIR/hosts/all_for_configure
+ wait
else
echo "User chose not to configure ~/.ssh/config, /etc/hosts, & ~/.bashrc on cluster"
fi
diff --git a/cluster/install/fluo-cluster/bin/impl/setup.sh b/cluster/install/fluo-cluster/bin/impl/setup.sh
index 0a7bbf7..e22a118 100755
--- a/cluster/install/fluo-cluster/bin/impl/setup.sh
+++ b/cluster/install/fluo-cluster/bin/impl/setup.sh
@@ -27,8 +27,17 @@
}
# Download required tarballs
-wget -nc -nv -P $TARBALLS_DIR $APACHE_MIRROR/zookeeper/zookeeper-$ZOOKEEPER_VERSION/$ZOOKEEPER_TARBALL
+wget -nc -nv -P $TARBALLS_DIR $APACHE_MIRROR/zookeeper/zookeeper-$ZOOKEEPER_VERSION/$ZOOKEEPER_TARBALL &
+wget -nc -nv -P $TARBALLS_DIR $APACHE_MIRROR/hadoop/common/hadoop-$HADOOP_VERSION/$HADOOP_TARBALL &
+wget -nc -nv -P $TARBALLS_DIR --no-check-certificate --no-cookies --header "Cookie: oraclelicense=accept-securebackup-cookie" http://download.oracle.com/otn-pub/java/jdk/7u75-b13/$JAVA_TARBALL &
+wget -nc -nv -P $TARBALLS_DIR $APACHE_MIRROR/maven/maven-3/$MAVEN_VERSION/binaries/$MAVEN_TARBALL &
+echo "Waiting"
+wait
+
+verify_checksum $HADOOP_TARBALL $HADOOP_MD5
+verify_checksum $JAVA_TARBALL 6f1f81030a34f7a9c987f8b68a24d139
verify_checksum $ZOOKEEPER_TARBALL $ZOOKEEPER_MD5
+verify_checksum $MAVEN_TARBALL $MAVEN_MD5
if [[ $ACCUMULO_VERSION != *"SNAPSHOT"* ]]
then
@@ -36,23 +45,16 @@
verify_checksum $ACCUMULO_TARBALL $ACCUMULO_MD5
fi
-wget -nc -nv -P $TARBALLS_DIR $APACHE_MIRROR/hadoop/common/hadoop-$HADOOP_VERSION/$HADOOP_TARBALL
-verify_checksum $HADOOP_TARBALL $HADOOP_MD5
-
-wget -nc -nv -P $TARBALLS_DIR --no-check-certificate --no-cookies --header "Cookie: oraclelicense=accept-securebackup-cookie" http://download.oracle.com/otn-pub/java/jdk/7u75-b13/$JAVA_TARBALL
-verify_checksum $JAVA_TARBALL 6f1f81030a34f7a9c987f8b68a24d139
-
-wget -nc -nv -P $TARBALLS_DIR $APACHE_MIRROR/maven/maven-3/$MAVEN_VERSION/binaries/$MAVEN_TARBALL
-verify_checksum $MAVEN_TARBALL $MAVEN_MD5
-
-# Push install directory to all hosts
+# do an initial ssh to each node to set-up the strict keys
for host in `cat $CONF_DIR/hosts/all_except_proxy`; do
- echo "`hostname`: Copying scripts to $host"
- ssh "${SSH_OPTS[@]}" $CLUSTER_USERNAME@$host mkdir -p $TARBALLS_DIR
- scp $TARBALLS_DIR/install.tar.gz $CLUSTER_USERNAME@$host:$TARBALLS_DIR
- ssh $CLUSTER_USERNAME@$host "rm -rf $INSTALL_DIR; tar -C $BASE_DIR -xzf $TARBALLS_DIR/install.tar.gz"
+ ssh "${SSH_OPTS[@]}" $CLUSTER_USERNAME@$host mkdir -p $TARBALLS_DIR
done
+sudo yum install -y pssh
+echo copying scripts
+pscp.pssh -h $CONF_DIR/hosts/all_except_proxy $TARBALLS_DIR/install.tar.gz $TARBALLS_DIR/install.tar.gz
+pssh -i -h $CONF_DIR/hosts/all_except_proxy "rm -rf $INSTALL_DIR; tar -C $BASE_DIR -xzf $TARBALLS_DIR/install.tar.gz"
+
$BIN_DIR/fluo-cluster kill &> /dev/null
$BIN_DIR/fluo-cluster configure