| #!/bin/bash |
| # |
| # Licensed 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. |
| # |
| |
| # resolve links - $0 may be a softlink |
| PRG="${0}" |
| |
| while [ -h "${PRG}" ]; do |
| ls=`ls -ld "${PRG}"` |
| link=`expr "$ls" : '.*-> \(.*\)$'` |
| if expr "$link" : '/.*' > /dev/null; then |
| PRG="$link" |
| else |
| PRG=`dirname "${PRG}"`/"$link" |
| fi |
| done |
| |
| BASEDIR=`dirname ${PRG}` |
| BASEDIR=`cd ${BASEDIR}/..;pwd` |
| |
| |
| function print() { |
| if [ "${HTTPFS_SILENT}" != "true" ]; then |
| echo "$@" |
| fi |
| } |
| |
| # if HTTPFS_HOME is already set warn it will be ignored |
| # |
| if [ "${HTTPFS_HOME}" != "" ]; then |
| echo "WARNING: current setting of HTTPFS_HOME ignored" |
| fi |
| |
| print |
| |
| # setting HTTPFS_HOME to the installation dir, it cannot be changed |
| # |
| export HTTPFS_HOME=${BASEDIR} |
| httpfs_home=${HTTPFS_HOME} |
| print "Setting HTTPFS_HOME: ${HTTPFS_HOME}" |
| |
| # if the installation has a env file, source it |
| # this is for native packages installations |
| # |
| if [ -e "${HTTPFS_HOME}/bin/httpfs-env.sh" ]; then |
| print "Sourcing: ${HTTPFS_HOME}/bin/httpfs-env.sh" |
| source ${HTTPFS_HOME}/bin/httpfs-env.sh |
| if [ "${HTTPFS_SILENT}" != "true" ]; then |
| grep "^ *export " "${HTTPFS_HOME}/bin/httpfs-env.sh" | |
| sed 's/ *export/ setting/' |
| fi |
| fi |
| |
| # verify that the sourced env file didn't change HTTPFS_HOME |
| # if so, warn and revert |
| # |
| if [ "${HTTPFS_HOME}" != "${httpfs_home}" ]; then |
| print "WARN: HTTPFS_HOME resetting to ''${HTTPFS_HOME}'' ignored" |
| export HTTPFS_HOME=${httpfs_home} |
| print " using HTTPFS_HOME: ${HTTPFS_HOME}" |
| fi |
| |
| if [ "${HTTPFS_CONFIG}" = "" ]; then |
| export HTTPFS_CONFIG=${HTTPFS_HOME}/etc/hadoop |
| print "Setting HTTPFS_CONFIG: ${HTTPFS_CONFIG}" |
| else |
| print "Using HTTPFS_CONFIG: ${HTTPFS_CONFIG}" |
| fi |
| httpfs_config=${HTTPFS_CONFIG} |
| |
| # if the configuration dir has a env file, source it |
| # |
| if [ -e "${HTTPFS_CONFIG}/httpfs-env.sh" ]; then |
| print "Sourcing: ${HTTPFS_CONFIG}/httpfs-env.sh" |
| source ${HTTPFS_CONFIG}/httpfs-env.sh |
| if [ "${HTTPFS_SILENT}" != "true" ]; then |
| grep "^ *export " "${HTTPFS_CONFIG}/httpfs-env.sh" | |
| sed 's/ *export/ setting/' |
| fi |
| fi |
| |
| # verify that the sourced env file didn't change HTTPFS_HOME |
| # if so, warn and revert |
| # |
| if [ "${HTTPFS_HOME}" != "${httpfs_home}" ]; then |
| echo "WARN: HTTPFS_HOME resetting to ''${HTTPFS_HOME}'' ignored" |
| export HTTPFS_HOME=${httpfs_home} |
| fi |
| |
| # verify that the sourced env file didn't change HTTPFS_CONFIG |
| # if so, warn and revert |
| # |
| if [ "${HTTPFS_CONFIG}" != "${httpfs_config}" ]; then |
| echo "WARN: HTTPFS_CONFIG resetting to ''${HTTPFS_CONFIG}'' ignored" |
| export HTTPFS_CONFIG=${httpfs_config} |
| fi |
| |
| if [ "${HTTPFS_LOG}" = "" ]; then |
| export HTTPFS_LOG=${HTTPFS_HOME}/logs |
| print "Setting HTTPFS_LOG: ${HTTPFS_LOG}" |
| else |
| print "Using HTTPFS_LOG: ${HTTPFS_LOG}" |
| fi |
| |
| if [ ! -f ${HTTPFS_LOG} ]; then |
| mkdir -p ${HTTPFS_LOG} |
| fi |
| |
| if [ "${HTTPFS_TEMP}" = "" ]; then |
| export HTTPFS_TEMP=${HTTPFS_HOME}/temp |
| print "Setting HTTPFS_TEMP: ${HTTPFS_TEMP}" |
| else |
| print "Using HTTPFS_TEMP: ${HTTPFS_TEMP}" |
| fi |
| |
| if [ ! -f ${HTTPFS_TEMP} ]; then |
| mkdir -p ${HTTPFS_TEMP} |
| fi |
| |
| if [ "${HTTPFS_HTTP_PORT}" = "" ]; then |
| export HTTPFS_HTTP_PORT=14000 |
| print "Setting HTTPFS_HTTP_PORT: ${HTTPFS_HTTP_PORT}" |
| else |
| print "Using HTTPFS_HTTP_PORT: ${HTTPFS_HTTP_PORT}" |
| fi |
| |
| if [ "${HTTPFS_ADMIN_PORT}" = "" ]; then |
| export HTTPFS_ADMIN_PORT=`expr $HTTPFS_HTTP_PORT + 1` |
| print "Setting HTTPFS_ADMIN_PORT: ${HTTPFS_ADMIN_PORT}" |
| else |
| print "Using HTTPFS_ADMIN_PORT: ${HTTPFS_ADMIN_PORT}" |
| fi |
| |
| if [ "${HTTPFS_HTTP_HOSTNAME}" = "" ]; then |
| export HTTPFS_HTTP_HOSTNAME=`hostname -f` |
| print "Setting HTTPFS_HTTP_HOSTNAME: ${HTTPFS_HTTP_HOSTNAME}" |
| else |
| print "Using HTTPFS_HTTP_HOSTNAME: ${HTTPFS_HTTP_HOSTNAME}" |
| fi |
| |
| if [ "${HTTPFS_SSL_ENABLED}" = "" ]; then |
| export HTTPFS_SSL_ENABLED="false" |
| print "Setting HTTPFS_SSL_ENABLED: ${HTTPFS_SSL_ENABLED}" |
| else |
| print "Using HTTPFS_SSL_ENABLED: ${HTTPFS_SSL_ENABLED}" |
| fi |
| |
| if [ "${HTTPFS_SSL_CLIENT_AUTH}" = "" ]; then |
| export HTTPFS_SSL_CLIENT_AUTH="false" |
| print "Setting HTTPFS_SSL_CLIENT_AUTH: ${HTTPFS_SSL_CLIENT_AUTH}" |
| else |
| print "Using HTTPFS_SSL_CLIENT_AUTH: ${HTTPFS_SSL_CLIENT_AUTH}" |
| fi |
| |
| if [ "${HTTPFS_SSL_ENABLED_PROTOCOLS}" = "" ]; then |
| export HTTPFS_SSL_ENABLED_PROTOCOLS="TLSv1,TLSv1.1,TLSv1.2,SSLv2Hello" |
| print "Setting HTTPFS_SSL_ENABLED_PROTOCOLS: ${HTTPFS_SSL_ENABLED_PROTOCOLS}" |
| else |
| print "Using HTTPFS_SSL_ENABLED_PROTOCOLS: ${HTTPFS_SSL_ENABLED_PROTOCOLS}" |
| fi |
| |
| if [ "${HTTPFS_SSL_CIPHERS}" = "" ]; then |
| export HTTPFS_SSL_CIPHERS="TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384" |
| HTTPFS_SSL_CIPHERS+=",TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256" |
| HTTPFS_SSL_CIPHERS+=",TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384" |
| HTTPFS_SSL_CIPHERS+=",TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256" |
| HTTPFS_SSL_CIPHERS+=",TLS_ECDH_RSA_WITH_AES_256_CBC_SHA384" |
| HTTPFS_SSL_CIPHERS+=",TLS_ECDH_RSA_WITH_AES_256_CBC_SHA" |
| HTTPFS_SSL_CIPHERS+=",TLS_ECDH_RSA_WITH_AES_128_CBC_SHA256" |
| HTTPFS_SSL_CIPHERS+=",TLS_ECDH_RSA_WITH_AES_128_CBC_SHA" |
| HTTPFS_SSL_CIPHERS+=",TLS_ECDH_RSA_WITH_3DES_EDE_CBC_SHA" |
| HTTPFS_SSL_CIPHERS+=",TLS_RSA_WITH_AES_256_CBC_SHA256" |
| HTTPFS_SSL_CIPHERS+=",TLS_RSA_WITH_AES_256_CBC_SHA" |
| HTTPFS_SSL_CIPHERS+=",TLS_RSA_WITH_AES_128_CBC_SHA256" |
| HTTPFS_SSL_CIPHERS+=",TLS_RSA_WITH_AES_128_CBC_SHA" |
| HTTPFS_SSL_CIPHERS+=",TLS_RSA_WITH_3DES_EDE_CBC_SHA" |
| print "Setting HTTPFS_SSL_CIPHERS: ${HTTPFS_SSL_CIPHERS}" |
| else |
| print "Using HTTPFS_SSL_CIPHERS: ${HTTPFS_SSL_CIPHERS}" |
| fi |
| |
| if [ "${HTTPFS_SSL_KEYSTORE_FILE}" = "" ]; then |
| export HTTPFS_SSL_KEYSTORE_FILE=${HOME}/.keystore |
| print "Setting HTTPFS_SSL_KEYSTORE_FILE: ${HTTPFS_SSL_KEYSTORE_FILE}" |
| else |
| print "Using HTTPFS_SSL_KEYSTORE_FILE: ${HTTPFS_SSL_KEYSTORE_FILE}" |
| fi |
| |
| if [ "${HTTPFS_SSL_KEYSTORE_PASS}" = "" ]; then |
| export HTTPFS_SSL_KEYSTORE_PASS=password |
| print "Setting HTTPFS_SSL_KEYSTORE_PASS: ${HTTPFS_SSL_KEYSTORE_PASS}" |
| else |
| print "Using HTTPFS_SSL_KEYSTORE_PASS: ${HTTPFS_SSL_KEYSTORE_PASS}" |
| fi |
| |
| if [ "${HTTPFS_MAX_HTTP_HEADER_SIZE}" = "" ]; then |
| export HTTPFS_MAX_HTTP_HEADER_SIZE=65536 |
| print "Setting HTTPFS_MAX_HTTP_HEADER_SIZE: ${HTTPFS_MAX_HTTP_HEADER_SIZE}" |
| else |
| print "Using HTTPFS_MAX_HTTP_HEADER_SIZE: ${HTTPFS_MAX_HTTP_HEADER_SIZE}" |
| fi |
| |
| if [ "${CATALINA_BASE}" = "" ]; then |
| export CATALINA_BASE=${HTTPFS_HOME}/share/hadoop/httpfs/tomcat |
| print "Setting CATALINA_BASE: ${CATALINA_BASE}" |
| else |
| print "Using CATALINA_BASE: ${CATALINA_BASE}" |
| fi |
| |
| if [ "${HTTPFS_CATALINA_HOME}" = "" ]; then |
| export HTTPFS_CATALINA_HOME=${CATALINA_BASE} |
| print "Setting HTTPFS_CATALINA_HOME: ${HTTPFS_CATALINA_HOME}" |
| else |
| print "Using HTTPFS_CATALINA_HOME: ${HTTPFS_CATALINA_HOME}" |
| fi |
| |
| if [ "${CATALINA_OUT}" = "" ]; then |
| export CATALINA_OUT=${HTTPFS_LOG}/httpfs-catalina.out |
| print "Setting CATALINA_OUT: ${CATALINA_OUT}" |
| else |
| print "Using CATALINA_OUT: ${CATALINA_OUT}" |
| fi |
| |
| if [ "${CATALINA_PID}" = "" ]; then |
| export CATALINA_PID=/tmp/httpfs.pid |
| print "Setting CATALINA_PID: ${CATALINA_PID}" |
| else |
| print "Using CATALINA_PID: ${CATALINA_PID}" |
| fi |
| |
| print |