1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495969798 |
- #!/usr/bin/env bash
- #
- # Licensed to the Apache Software Foundation (ASF) under one
- # or more contributor license agreements. See the NOTICE file
- # distributed with this work for additional information
- # regarding copyright ownership. The ASF licenses this file
- # to you under the Apache License, Version 2.0 (the
- # "License"); you may not use this file except in compliance
- # with the License. You may obtain a copy of the License at
- #
- # http://www.apache.org/licenses/LICENSE-2.0
- #
- # Unless required by applicable law or agreed to in writing, software
- # distributed under the License is distributed on an "AS IS" BASIS,
- # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- # See the License for the specific language governing permissions and
- # limitations under the License.
- #
- function usage() {
- echo "Usage: sql-gateway.sh [start|start-foreground|stop|stop-all] [args]"
- echo " commands:"
- echo " start - Run a SQL Gateway as a daemon"
- echo " start-foreground - Run a SQL Gateway as a console application"
- echo " stop - Stop the SQL Gateway daemon"
- echo " stop-all - Stop all the SQL Gateway daemons"
- echo " -h | --help - Show this help message"
- }
- ################################################################################
- # Adopted from "flink" bash script
- ################################################################################
- target="$0"
- # For the case, the executable has been directly symlinked, figure out
- # the correct bin path by following its symlink up to an upper bound.
- # Note: we can't use the readlink utility here if we want to be POSIX
- # compatible.
- iteration=0
- while [ -L "$target" ]; do
- if [ "$iteration" -gt 100 ]; then
- echo "Cannot resolve path: You have a cyclic symlink in $target."
- break
- fi
- ls=`ls -ld -- "$target"`
- target=`expr "$ls" : '.* -> \(.*\)$'`
- iteration=$((iteration + 1))
- done
- # Convert relative path to absolute path
- bin=`dirname "$target"`
- # get flink config
- . "$bin"/config.sh
- if [ "$FLINK_IDENT_STRING" = "" ]; then
- FLINK_IDENT_STRING="$USER"
- fi
- ################################################################################
- # SQL gateway specific logic
- ################################################################################
- ENTRYPOINT=sql-gateway
- if [[ "$1" = *--help ]] || [[ "$1" = *-h ]]; then
- usage
- exit 0
- fi
- STARTSTOP=$1
- if [ -z "$STARTSTOP" ]; then
- STARTSTOP="start"
- fi
- if [[ $STARTSTOP != "start" ]] && [[ $STARTSTOP != "start-foreground" ]] && [[ $STARTSTOP != "stop" ]] && [[ $STARTSTOP != "stop-all" ]]; then
- usage
- exit 1
- fi
- # ./sql-gateway.sh start --help, print the message to the console
- if [[ "$STARTSTOP" = start* ]] && ( [[ "$*" = *--help* ]] || [[ "$*" = *-h* ]] ); then
- FLINK_TM_CLASSPATH=`constructFlinkClassPath`
- SQL_GATEWAY_CLASSPATH=`findSqlGatewayJar`
- "$JAVA_RUN" -classpath "`manglePathList "$FLINK_TM_CLASSPATH:$SQL_GATEWAY_CLASSPATH:$INTERNAL_HADOOP_CLASSPATHS"`" org.apache.flink.table.gateway.SqlGateway "${@:2}"
- exit 0
- fi
- if [[ $STARTSTOP == "start" ]] || [[ $STARTSTOP == "start-foreground" ]]; then
- export FLINK_ENV_JAVA_OPTS="${FLINK_ENV_JAVA_OPTS} ${FLINK_ENV_JAVA_OPTS_SQL_GATEWAY}"
- fi
- if [[ $STARTSTOP == "start-foreground" ]]; then
- exec "${FLINK_BIN_DIR}"/flink-console.sh $ENTRYPOINT "${@:2}"
- else
- "${FLINK_BIN_DIR}"/flink-daemon.sh $STARTSTOP $ENTRYPOINT "${@:2}"
- fi
|