[FLINK-8682] [shell scripts] Make shell scripts work without SSH for local-only 
HA setups.

This allows users to set up HA testing on a local machine with multiple 
JobManagers
without configuring SSH keys.


Project: http://git-wip-us.apache.org/repos/asf/flink/repo
Commit: http://git-wip-us.apache.org/repos/asf/flink/commit/39711fb6
Tree: http://git-wip-us.apache.org/repos/asf/flink/tree/39711fb6
Diff: http://git-wip-us.apache.org/repos/asf/flink/diff/39711fb6

Branch: refs/heads/master
Commit: 39711fb6f1d801e067e121803ea82b1c2742c956
Parents: 096bf80
Author: Stephan Ewen <[email protected]>
Authored: Fri Feb 16 20:52:36 2018 +0100
Committer: Stephan Ewen <[email protected]>
Committed: Sun Feb 18 22:24:35 2018 +0100

----------------------------------------------------------------------
 flink-dist/src/main/flink-bin/bin/config.sh        |  5 +++++
 flink-dist/src/main/flink-bin/bin/start-cluster.sh |  7 ++++++-
 flink-dist/src/main/flink-bin/bin/stop-cluster.sh  | 14 ++++++++++----
 3 files changed, 21 insertions(+), 5 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/flink/blob/39711fb6/flink-dist/src/main/flink-bin/bin/config.sh
----------------------------------------------------------------------
diff --git a/flink-dist/src/main/flink-bin/bin/config.sh 
b/flink-dist/src/main/flink-bin/bin/config.sh
index 645e156..27b3912 100755
--- a/flink-dist/src/main/flink-bin/bin/config.sh
+++ b/flink-dist/src/main/flink-bin/bin/config.sh
@@ -446,6 +446,7 @@ readMasters() {
     MASTERS=()
     WEBUIPORTS=()
 
+    MASTERS_ALL_LOCALHOST=true
     GOON=true
     while $GOON; do
         read line || GOON=false
@@ -461,6 +462,10 @@ readMasters() {
             else
                 WEBUIPORTS+=(${WEBUIPORT})
             fi
+
+            if [ "${HOST}" != "localhost" ] ; then
+                MASTERS_ALL_LOCALHOST=false
+            fi
         fi
     done < "$MASTERS_FILE"
 }

http://git-wip-us.apache.org/repos/asf/flink/blob/39711fb6/flink-dist/src/main/flink-bin/bin/start-cluster.sh
----------------------------------------------------------------------
diff --git a/flink-dist/src/main/flink-bin/bin/start-cluster.sh 
b/flink-dist/src/main/flink-bin/bin/start-cluster.sh
index 5bb123b..d0f4ff9 100755
--- a/flink-dist/src/main/flink-bin/bin/start-cluster.sh
+++ b/flink-dist/src/main/flink-bin/bin/start-cluster.sh
@@ -33,7 +33,12 @@ if [[ $HIGH_AVAILABILITY == "zookeeper" ]]; then
     for ((i=0;i<${#MASTERS[@]};++i)); do
         master=${MASTERS[i]}
         webuiport=${WEBUIPORTS[i]}
-        ssh -n $FLINK_SSH_OPTS $master -- "nohup /bin/bash -l 
\"${FLINK_BIN_DIR}/jobmanager.sh\" start cluster ${master} ${webuiport} &"
+
+        if [ ${MASTERS_ALL_LOCALHOST} = true ] ; then
+            "${FLINK_BIN_DIR}"/jobmanager.sh start cluster "${master}" 
"${webuiport}"
+        else
+            ssh -n $FLINK_SSH_OPTS $master -- "nohup /bin/bash -l 
\"${FLINK_BIN_DIR}/jobmanager.sh\" start cluster ${master} ${webuiport} &"
+        fi
     done
 
 else

http://git-wip-us.apache.org/repos/asf/flink/blob/39711fb6/flink-dist/src/main/flink-bin/bin/stop-cluster.sh
----------------------------------------------------------------------
diff --git a/flink-dist/src/main/flink-bin/bin/stop-cluster.sh 
b/flink-dist/src/main/flink-bin/bin/stop-cluster.sh
index cd243da..bcd97eb 100755
--- a/flink-dist/src/main/flink-bin/bin/stop-cluster.sh
+++ b/flink-dist/src/main/flink-bin/bin/stop-cluster.sh
@@ -33,11 +33,17 @@ if [[ $HIGH_AVAILABILITY == "zookeeper" ]]; then
     # HA Mode
     readMasters
 
-    for master in ${MASTERS[@]}; do
-        ssh -n $FLINK_SSH_OPTS $master -- "nohup /bin/bash -l 
\"${FLINK_BIN_DIR}/jobmanager.sh\" stop \"${FLIP6}\" &"
-    done
+    if [ ${MASTERS_ALL_LOCALHOST} = true ] ; then
+        for master in ${MASTERS[@]}; do
+            "$FLINK_BIN_DIR"/jobmanager.sh stop "${FLIP6}"
+        done
+    else
+        for master in ${MASTERS[@]}; do
+            ssh -n $FLINK_SSH_OPTS $master -- "nohup /bin/bash -l 
\"${FLINK_BIN_DIR}/jobmanager.sh\" stop \"${FLIP6}\" &"
+        done
+    fi
 
 else
-         "$FLINK_BIN_DIR"/jobmanager.sh stop "${FLIP6}"
+    "$FLINK_BIN_DIR"/jobmanager.sh stop "${FLIP6}"
 fi
 shopt -u nocasematch

Reply via email to