Skip to content

Commit

Permalink
[FLINK-2756] [scripts] Fix start/stop scripts for paths with spaces
Browse files Browse the repository at this point in the history
This closes apache#1182
  • Loading branch information
fhueske authored and Alexander Kolb committed Oct 8, 2015
1 parent f10c8c6 commit 34cd7c9
Show file tree
Hide file tree
Showing 6 changed files with 21 additions and 19 deletions.
13 changes: 7 additions & 6 deletions flink-dist/src/main/flink-bin/bin/flink-daemon.sh
Original file line number Diff line number Diff line change
Expand Up @@ -22,7 +22,7 @@ USAGE="Usage: flink-daemon.sh (start|stop|stop-all) (jobmanager|taskmanager|zook

STARTSTOP=$1
DAEMON=$2
ARGS=$3
ARGS=("${@:3}") # get remaining arguments as array

case $DAEMON in
(jobmanager)
Expand Down Expand Up @@ -62,12 +62,12 @@ mkdir -p "$FLINK_PID_DIR"
# This allows us to start multiple daemon of each type.
id=$([ -f "$pid" ] && echo $(wc -l < $pid) || echo "0")

log=$FLINK_LOG_DIR/flink-$FLINK_IDENT_STRING-$DAEMON-$id-$HOSTNAME.log
out=$FLINK_LOG_DIR/flink-$FLINK_IDENT_STRING-$DAEMON-$id-$HOSTNAME.out
log="${FLINK_LOG_DIR}/flink-${FLINK_IDENT_STRING}-${DAEMON}-${id}-${HOSTNAME}.log"
out="${FLINK_LOG_DIR}/flink-${FLINK_IDENT_STRING}-${DAEMON}-${id}-${HOSTNAME}.out"

log_setting=(-Dlog.file="$log" -Dlog4j.configuration=file:"$FLINK_CONF_DIR"/log4j.properties -Dlogback.configurationFile=file:"$FLINK_CONF_DIR"/logback.xml)
log_setting=("-Dlog.file=${log}" "-Dlog4j.configuration=file:${FLINK_CONF_DIR}/log4j.properties" "-Dlogback.configurationFile=file:${FLINK_CONF_DIR}/logback.xml")

JAVA_VERSION=$($JAVA_RUN -version 2>&1 | sed 's/.*version "\(.*\)\.\(.*\)\..*"/\1\2/; 1q')
JAVA_VERSION=$(${JAVA_RUN} -version 2>&1 | sed 's/.*version "\(.*\)\.\(.*\)\..*"/\1\2/; 1q')

# Only set JVM 8 arguments if we have correctly extracted the version
if [[ ${JAVA_VERSION} =~ ${IS_NUMBER} ]]; then
Expand All @@ -90,7 +90,8 @@ case $STARTSTOP in
fi

echo "Starting $DAEMON daemon on host $HOSTNAME."
$JAVA_RUN $JVM_ARGS ${FLINK_ENV_JAVA_OPTS} "${log_setting[@]}" -classpath "`manglePathList "$FLINK_TM_CLASSPATH:$INTERNAL_HADOOP_CLASSPATHS"`" ${CLASS_TO_RUN} ${ARGS} > "$out" 2>&1 < /dev/null &
$JAVA_RUN $JVM_ARGS ${FLINK_ENV_JAVA_OPTS} "${log_setting[@]}" -classpath "`manglePathList "$FLINK_TM_CLASSPATH:$INTERNAL_HADOOP_CLASSPATHS"`" ${CLASS_TO_RUN} "${ARGS[@]}" > "$out" 2>&1 < /dev/null &

mypid=$!

# Add to pid file if successful start
Expand Down
10 changes: 6 additions & 4 deletions flink-dist/src/main/flink-bin/bin/jobmanager.sh
Original file line number Diff line number Diff line change
Expand Up @@ -62,14 +62,16 @@ if [[ $STARTSTOP == "start" ]]; then
fi

# Startup parameters
args="--configDir ${FLINK_CONF_DIR} --executionMode ${EXECUTIONMODE} --streamingMode ${STREAMINGMODE}"
args=("--configDir" "${FLINK_CONF_DIR}" "--executionMode" "${EXECUTIONMODE}" "--streamingMode" "${STREAMINGMODE}")
if [ ! -z $HOST ]; then
args="${args} --host $HOST"
args+=("--host")
args+=("${HOST}")
fi

if [ ! -z $WEBUIPORT ]; then
args="${args} --webui-port $WEBUIPORT"
args+=("--webui-port")
args+=("${WEBUIPORT}")
fi
fi

${FLINK_BIN_DIR}/flink-daemon.sh $STARTSTOP jobmanager "${args}"
"${FLINK_BIN_DIR}"/flink-daemon.sh $STARTSTOP jobmanager "${args[@]}"
4 changes: 2 additions & 2 deletions flink-dist/src/main/flink-bin/bin/start-cluster.sh
Original file line number Diff line number Diff line change
Expand Up @@ -42,7 +42,7 @@ if [[ $RECOVERY_MODE == "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 ${STREAMING_MODE} ${master} ${webuiport} &"
ssh -n $FLINK_SSH_OPTS $master -- "nohup /bin/bash -l \"${FLINK_BIN_DIR}/jobmanager.sh\" start cluster ${STREAMING_MODE} ${master} ${webuiport} &"
done

else
Expand All @@ -57,5 +57,5 @@ shopt -u nocasematch
readSlaves

for slave in ${SLAVES[@]}; do
ssh -n $FLINK_SSH_OPTS $slave -- "nohup /bin/bash -l $FLINK_BIN_DIR/taskmanager.sh start ${STREAMING_MODE} &"
ssh -n $FLINK_SSH_OPTS $slave -- "nohup /bin/bash -l \"${FLINK_BIN_DIR}/taskmanager.sh\" start ${STREAMING_MODE} &"
done
4 changes: 2 additions & 2 deletions flink-dist/src/main/flink-bin/bin/stop-cluster.sh
Original file line number Diff line number Diff line change
Expand Up @@ -26,7 +26,7 @@ bin=`cd "$bin"; pwd`
readSlaves

for slave in ${SLAVES[@]}; do
ssh -n $FLINK_SSH_OPTS $slave -- "nohup /bin/bash -l $FLINK_BIN_DIR/taskmanager.sh stop &"
ssh -n $FLINK_SSH_OPTS $slave -- "nohup /bin/bash -l \"${FLINK_BIN_DIR}/taskmanager.sh\" stop &"
done

# Stop JobManager instance(s)
Expand All @@ -36,7 +36,7 @@ if [[ $RECOVERY_MODE == "zookeeper" ]]; then
readMasters

for master in ${MASTERS[@]}; do
ssh -n $FLINK_SSH_OPTS $master -- "nohup /bin/bash -l $FLINK_BIN_DIR/jobmanager.sh stop &"
ssh -n $FLINK_SSH_OPTS $master -- "nohup /bin/bash -l \"${FLINK_BIN_DIR}/jobmanager.sh\" stop &"
done

else
Expand Down
5 changes: 2 additions & 3 deletions flink-dist/src/main/flink-bin/bin/taskmanager.sh
Original file line number Diff line number Diff line change
Expand Up @@ -85,13 +85,12 @@ if [[ $STARTSTOP == "start" ]]; then
fi

TM_HEAP_SIZE=$((TM_HEAP_SIZE - FLINK_TM_MEM_NETWORK_SIZE - NETTY_BUFFERS))
echo export JVM_ARGS="${JVM_ARGS} -Xms${TM_HEAP_SIZE}M -Xmx${TM_HEAP_SIZE}M -XX:MaxDirectMemorySize=$((TM_OFFHEAP_SIZE + FLINK_TM_MEM_NETWORK_SIZE + NETTY_BUFFERS))M"
export JVM_ARGS="${JVM_ARGS} -Xms${TM_HEAP_SIZE}M -Xmx${TM_HEAP_SIZE}M -XX:MaxDirectMemorySize=$((TM_OFFHEAP_SIZE + FLINK_TM_MEM_NETWORK_SIZE + NETTY_BUFFERS))M"

fi

# Startup parameters
args="--configDir ${FLINK_CONF_DIR} --streamingMode ${STREAMINGMODE}"
args=("--configDir" "${FLINK_CONF_DIR}" "--streamingMode" "${STREAMINGMODE}")
fi

${FLINK_BIN_DIR}/flink-daemon.sh $STARTSTOP taskmanager "${args}"
"${FLINK_BIN_DIR}"/flink-daemon.sh $STARTSTOP taskmanager "${args[@]}"
4 changes: 2 additions & 2 deletions flink-dist/src/main/flink-bin/bin/zookeeper.sh
Original file line number Diff line number Diff line change
Expand Up @@ -50,7 +50,7 @@ if [[ $STARTSTOP == "start" ]]; then
fi

# Startup parameters
args="--zkConfigFile $ZK_CONF --peerId $PEER_ID"
args=("--zkConfigFile" "${ZK_CONF}" "--peerId" "${PEER_ID}")
fi

${FLINK_BIN_DIR}/flink-daemon.sh $STARTSTOP zookeeper "${args}"
"${FLINK_BIN_DIR}"/flink-daemon.sh $STARTSTOP zookeeper "${args[@]}"

0 comments on commit 34cd7c9

Please sign in to comment.