mirror of
https://github.com/apache/impala.git
synced 2025-12-19 18:12:08 -05:00
IMPALA-12362: (part-1/4) Refactor service management scripts.
Uniform all service management scripts to 'bin/impala.sh', administrator can customize environment variables based on their cluster at 'conf/impala-env.sh', as well as set flags at 'conf/impalad_flags...'. Usually administrator can override the environment variables in 'conf/impala-env.sh' with commandline arguments. The same is true for flags in 'conf/impalad_flags...'. This flexibility can be used in scenarios such as supporting multi-instance deployments. The directory structure has been adjusted as follows: - put java libs to 'lib/jars' directory. - put native libs to 'lib/native' directory. - put impalad binary to 'sbin' directory. Testing: - Manually deploy packages on Ubuntu22.04 and verify it. Change-Id: I8f4dcad9cfa12d351d562e7ef8c0a8957d3ca147 Reviewed-on: http://gerrit.cloudera.org:8080/20921 Reviewed-by: Impala Public Jenkins <impala-public-jenkins@cloudera.com> Tested-by: Impala Public Jenkins <impala-public-jenkins@cloudera.com>
This commit is contained in:
committed by
Impala Public Jenkins
parent
e50bfa8376
commit
b64dc110c1
@@ -518,24 +518,24 @@ add_subdirectory(shell)
|
||||
|
||||
install(DIRECTORY "www/" DESTINATION ${IMPALA_INSTALLDIR}/www)
|
||||
install(FILES fe/target/impala-frontend-$ENV{IMPALA_VERSION}.jar
|
||||
DESTINATION ${IMPALA_INSTALLDIR}/jar)
|
||||
DESTINATION ${IMPALA_INSTALLDIR}/lib/jars)
|
||||
|
||||
set(IMPALA_GCC_HOME $ENV{IMPALA_TOOLCHAIN_PACKAGES_HOME}/gcc-$ENV{IMPALA_GCC_VERSION})
|
||||
FILE(GLOB gcc_lib ${IMPALA_GCC_HOME}/lib64/libgcc_s.so.1*)
|
||||
install(FILES ${gcc_lib} DESTINATION ${IMPALA_INSTALLDIR}/lib)
|
||||
install(FILES ${gcc_lib} DESTINATION ${IMPALA_INSTALLDIR}/lib/native)
|
||||
|
||||
FILE(GLOB cpp_lib ${IMPALA_GCC_HOME}/lib64/libstdc++.so.6*)
|
||||
install(FILES ${cpp_lib} DESTINATION ${IMPALA_INSTALLDIR}/lib)
|
||||
install(FILES ${cpp_lib} DESTINATION ${IMPALA_INSTALLDIR}/lib/native)
|
||||
|
||||
set(KUDU_HOME $ENV{IMPALA_TOOLCHAIN_PACKAGES_HOME}/kudu-$ENV{IMPALA_KUDU_VERSION}/release)
|
||||
# The parent folder is lib64 on centos/redhat, while on ubuntu it's lib.
|
||||
FILE(GLOB kudu_lib ${KUDU_HOME}/lib*/libkudu_client.so*)
|
||||
install(FILES ${kudu_lib} DESTINATION ${IMPALA_INSTALLDIR}/lib)
|
||||
install(FILES ${kudu_lib} DESTINATION ${IMPALA_INSTALLDIR}/lib/native)
|
||||
|
||||
FILE(GLOB hadoop_lib $ENV{HADOOP_LIB_DIR}/native/libhadoop.so*)
|
||||
install(FILES ${hadoop_lib} DESTINATION ${IMPALA_INSTALLDIR}/lib)
|
||||
install(FILES ${hadoop_lib} DESTINATION ${IMPALA_INSTALLDIR}/lib/native)
|
||||
|
||||
install(DIRECTORY fe/target/dependency/ DESTINATION ${IMPALA_INSTALLDIR}/jar
|
||||
install(DIRECTORY fe/target/dependency/ DESTINATION ${IMPALA_INSTALLDIR}/lib/jars
|
||||
FILES_MATCHING PATTERN "*.jar")
|
||||
|
||||
string(TOLOWER ${OS_DISTRIB_ID} OS_DISTRIB_ID)
|
||||
|
||||
@@ -118,9 +118,9 @@ target_link_libraries(impalad
|
||||
${IMPALA_LINK_LIBS}
|
||||
)
|
||||
|
||||
install(FILES ${STATESTORED_SYMLINK} DESTINATION ${IMPALA_INSTALLDIR}/bin)
|
||||
install(FILES ${CATALOGD_SYMLINK} DESTINATION ${IMPALA_INSTALLDIR}/bin)
|
||||
install(TARGETS impalad DESTINATION ${IMPALA_INSTALLDIR}/bin)
|
||||
install(FILES ${STATESTORED_SYMLINK} DESTINATION ${IMPALA_INSTALLDIR}/sbin)
|
||||
install(FILES ${CATALOGD_SYMLINK} DESTINATION ${IMPALA_INSTALLDIR}/sbin)
|
||||
install(TARGETS impalad DESTINATION ${IMPALA_INSTALLDIR}/sbin)
|
||||
|
||||
if (BUILD_WITH_NO_TESTS)
|
||||
return()
|
||||
|
||||
@@ -1,85 +0,0 @@
|
||||
#!/bin/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.
|
||||
|
||||
if [[ -z "$JAVA_HOME" ]]; then
|
||||
echo "JAVA_HOME not set!"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
echo "Using JAVA_HOME: $JAVA_HOME"
|
||||
LIB_JVM_DIR=$(dirname $(find $JAVA_HOME -type f -name libjvm.so))
|
||||
LIB_JSIG_DIR=$(dirname $(find $JAVA_HOME -type f -name libjsig.so))
|
||||
|
||||
export LC_ALL=en_US.utf8
|
||||
export LD_LIBRARY_PATH="/opt/impala/lib/:$LIB_JVM_DIR:$LIB_JSIG_DIR"
|
||||
export CLASSPATH="/opt/impala/conf:/opt/impala/jar/*"
|
||||
|
||||
#TODO: Add graceful shutdown for impalads
|
||||
function stop_process {
|
||||
name=$1
|
||||
pid_file="/tmp/${name}.pid"
|
||||
if [[ -f $pid_file ]]; then
|
||||
PID=$(cat $pid_file)
|
||||
if ps $PID | grep $name; then
|
||||
echo "Killing $name with PID=$PID"
|
||||
kill $PID
|
||||
rm $pid_file
|
||||
echo "Killed $name"
|
||||
else
|
||||
rm $pid_file
|
||||
echo "Already stopped: $name is not running with PID=$PID. Removed stale $pid_file"
|
||||
fi
|
||||
else
|
||||
echo "PID file $pid_file not found!"
|
||||
fi
|
||||
}
|
||||
|
||||
function wait_for_ready {
|
||||
name=$1
|
||||
port=$2
|
||||
pid=$3
|
||||
|
||||
NUM_WAIT_ITERATIONS=20
|
||||
i=0
|
||||
while [[ $i -lt $NUM_WAIT_ITERATIONS ]]; do
|
||||
if ! ps $pid | grep $name > /dev/null 2>&1; then
|
||||
echo "$name with PID $pid doesn't exist"
|
||||
break
|
||||
fi
|
||||
STATUS=$(curl -s http://localhost:$port/healthz)
|
||||
if [[ $? != 0 ]]; then
|
||||
echo "Waiting for $name. Port $port not ready."
|
||||
elif [[ "$STATUS" != "OK" ]]; then
|
||||
echo "Waiting for $name to be ready"
|
||||
else
|
||||
echo "$name is ready"
|
||||
break
|
||||
fi
|
||||
sleep 2
|
||||
i=$((i+1))
|
||||
done
|
||||
if [[ "$STATUS" == "OK" ]]; then
|
||||
echo "Launched $name with PID $pid"
|
||||
elif [[ $i -eq $NUM_WAIT_ITERATIONS ]]; then
|
||||
echo "Timed out waiting for $name to be ready. Check logs for more details."
|
||||
else
|
||||
echo "Failed to launch $name"
|
||||
exit 1
|
||||
fi
|
||||
}
|
||||
271
package/bin/impala.sh
Executable file
271
package/bin/impala.sh
Executable file
@@ -0,0 +1,271 @@
|
||||
#!/bin/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.
|
||||
#
|
||||
# Script to manage Apache Impala services.
|
||||
# User can customize environment variables in '../conf/impala-env.sh'.
|
||||
# User can customize flags in '../conf/[impalad_flags...]', or override them in
|
||||
# commandline arguments when needed(e.g. multiple instance).
|
||||
#
|
||||
# To launch impalad using another username (e.g. "impala"):
|
||||
# sudo -E -u impala bin/impala.sh start impalad
|
||||
#
|
||||
# Note for setup:
|
||||
# Please set the correct JAVA_HOME in '../conf/impala-env.sh'.
|
||||
# Please set the correct hostnames in '../conf/[impalad_flags...]'.
|
||||
# Please modify core-site.xml, hdfs-site.xml, hive-site.xml in conf based on the cluster.
|
||||
set -euo pipefail
|
||||
|
||||
init() {
|
||||
: ${IMPALA_HOME:=$(cd $(dirname ${0})/..;pwd)}
|
||||
export IMPALA_HOME
|
||||
. ${IMPALA_HOME}/conf/impala-env.sh
|
||||
}
|
||||
|
||||
check_counts() {
|
||||
local counts=${1} period=${2}
|
||||
[[ ${counts} =~ ^[0-9]+$ ]] || (echo "Invalid waiting counts:${counts}." && exit 1)
|
||||
[[ ${period} =~ ^[1-9][0-9]*$ ]] || (echo "Invalid waiting period:${period}." && exit 1)
|
||||
}
|
||||
|
||||
# Return 0 if service is running, else otherwise.
|
||||
status() {
|
||||
local service=
|
||||
while [[ $# -gt 0 ]]; do
|
||||
case ${1} in
|
||||
impalad|catalogd|statestored) service=${1} && shift && break ;;
|
||||
*) usage && exit 1 ;;
|
||||
esac
|
||||
done
|
||||
local service_pidfile_key=${service^^}_PIDFILE
|
||||
local service_pidfile=${!service_pidfile_key}
|
||||
if [[ ! -f ${service_pidfile} ]]; then
|
||||
echo "${service} is stopped."
|
||||
return 1
|
||||
fi
|
||||
local pid=$(cat ${service_pidfile})
|
||||
if ps -p ${pid} -o comm=|grep ${service} &> /dev/null ; then
|
||||
echo "${service} is running with PID ${pid}."
|
||||
return 0
|
||||
fi
|
||||
echo "${service} is stopped."
|
||||
return 1
|
||||
}
|
||||
|
||||
# Return 0 if service is stopped in expected time, else otherwise.
|
||||
stop_await() {
|
||||
local service=${1} service_pidfile=${2} counts=${3} period=${4}
|
||||
[[ "${counts}" == "0" ]] && exit 0
|
||||
for ((i=1; i<=${counts}; i++)); do
|
||||
[[ ${i} -gt 1 ]] && sleep ${period}
|
||||
if ! kill -0 ${pid} &> /dev/null; then
|
||||
rm ${service_pidfile} && echo "(${i}/${counts}) ${service} is stopped." && return 0
|
||||
else
|
||||
echo "(${i}/${counts}) Waiting ${service} to stop."
|
||||
fi
|
||||
done
|
||||
return 1
|
||||
}
|
||||
|
||||
#TODO: Add graceful shutdown for impalads
|
||||
stop() {
|
||||
local service= counts=20 period=2
|
||||
while [[ $# -gt 0 ]]; do
|
||||
case ${1} in
|
||||
-c) counts=${2} && shift 2 ;;
|
||||
-p) period=${2} && shift 2 ;;
|
||||
impalad|catalogd|statestored) service=${1} && shift && break ;;
|
||||
*) usage && exit 1 ;;
|
||||
esac
|
||||
done
|
||||
check_counts ${counts} ${period}
|
||||
local service_pidfile_key=${service^^}_PIDFILE
|
||||
local service_pidfile=${!service_pidfile_key}
|
||||
if [[ ! -f ${service_pidfile} ]]; then
|
||||
echo "Already stopped: PID file '${service_pidfile}' not found."
|
||||
exit 0
|
||||
fi
|
||||
local pid=$(cat ${service_pidfile})
|
||||
if ! ps -p ${pid} -o comm=|grep ${service} &> /dev/null ; then
|
||||
rm ${service_pidfile}
|
||||
echo "Already stopped: ${service} is not running with PID ${pid}." \
|
||||
"Removed stale file '${service_pidfile}'."
|
||||
exit 0
|
||||
fi
|
||||
echo "Killing ${service} with PID ${pid}."
|
||||
kill ${pid}
|
||||
if ! stop_await ${service} ${service_pidfile} ${counts} ${period}; then
|
||||
echo "Timed out waiting ${service} to stop, check logs for more details."
|
||||
exit 1
|
||||
fi
|
||||
}
|
||||
|
||||
prerun() {
|
||||
local message=${1:-"on"}
|
||||
: ${JAVA_HOME:?"JAVA_HOME must be set to the location of your JDK!"}
|
||||
if [[ ${message} == "on" ]]; then
|
||||
echo "Using JAVA_HOME: ${JAVA_HOME}"
|
||||
fi
|
||||
local lib_jvm_dir=$(dirname $(find ${JAVA_HOME} -type f -name libjvm.so | head -1))
|
||||
local lib_jsig_dir=$(dirname $(find ${JAVA_HOME} -type f -name libjsig.so | head -1))
|
||||
if [[ -n "${HADOOP_HOME:=}" ]]; then
|
||||
: ${HADOOP_LIB_DIR:=${HADOOP_HOME}/lib/native}
|
||||
if [[ ${message} == "on" ]]; then
|
||||
echo "Using hadoop native libs in '${HADOOP_LIB_DIR}'"
|
||||
fi
|
||||
else
|
||||
: ${HADOOP_LIB_DIR:=${IMPALA_HOME}/lib/native}
|
||||
if [[ ${message} == "on" ]]; then
|
||||
echo "HADOOP_HOME not set, using hadoop native libs in '${HADOOP_LIB_DIR}'"
|
||||
fi
|
||||
fi
|
||||
export LIBHDFS_OPTS="${LIBHDFS_OPTS:=} -Djava.library.path=${HADOOP_LIB_DIR}"
|
||||
export LC_ALL=en_US.utf8
|
||||
export CLASSPATH="${CLASSPATH}:${IMPALA_HOME}/conf:${IMPALA_HOME}/lib/jars/*"
|
||||
export LD_LIBRARY_PATH+=":${IMPALA_HOME}/lib/native:${lib_jvm_dir}:${lib_jsig_dir}"
|
||||
}
|
||||
|
||||
start() {
|
||||
prerun
|
||||
local service= counts=20 period=2
|
||||
while [[ $# -gt 0 ]]; do
|
||||
case ${1} in
|
||||
-c) counts=${2} && shift 2 ;;
|
||||
-p) period=${2} && shift 2 ;;
|
||||
impalad|catalogd|statestored) service=${1} && shift && break ;;
|
||||
*) usage && exit 1 ;;
|
||||
esac
|
||||
done
|
||||
check_counts ${counts} ${period}
|
||||
status ${service} && exit 0
|
||||
local service_flagfile=${IMPALA_HOME}/conf/${service}_flags
|
||||
local service_pidfile_key=${service^^}_PIDFILE
|
||||
local service_pidfile=${!service_pidfile_key}
|
||||
mkdir -p $(dirname ${service_pidfile})
|
||||
# User can override '--flagfile' in the following commandline arguments.
|
||||
${IMPALA_HOME}/sbin/${service} \
|
||||
--flagfile=${service_flagfile} \
|
||||
${@} &
|
||||
local pid=$!
|
||||
echo ${pid} > ${service_pidfile}
|
||||
# Sleep 1s so the glog output won't be messed up with waiting messages.
|
||||
sleep 1
|
||||
health -c ${counts} -p ${period} ${service}
|
||||
}
|
||||
|
||||
restart() {
|
||||
stop ${@} && start ${@}
|
||||
}
|
||||
|
||||
health() {
|
||||
local service= counts=20 period=2
|
||||
while [[ $# -gt 0 ]]; do
|
||||
case ${1} in
|
||||
-c) counts=${2} && shift 2 ;;
|
||||
-p) period=${2} && shift 2 ;;
|
||||
impalad|catalogd|statestored) service=${1} && shift ;;
|
||||
*) usage && exit 1 ;;
|
||||
esac
|
||||
done
|
||||
check_counts ${counts} ${period}
|
||||
[[ "${counts}" == "0" ]] && exit 0
|
||||
status ${service} || exit 1
|
||||
# Determine Web Server port
|
||||
local service_flagfile=${IMPALA_HOME}/conf/${service}_flags
|
||||
local service_pidfile_key=${service^^}_PIDFILE
|
||||
local service_pidfile=${!service_pidfile_key}
|
||||
local pid=$(cat ${service_pidfile})
|
||||
local port=
|
||||
if [[ $(ps --cols 10000 -o args= -p ${pid}) =~ -webserver_port=([0-9]+) ]]; then
|
||||
port=${BASH_REMATCH[1]}
|
||||
else
|
||||
port=$(awk -F= '/-webserver_port=/ {print $2;}' ${service_flagfile})
|
||||
fi
|
||||
if [[ -z "${port}" ]]; then
|
||||
case ${service} in
|
||||
impalad) port=25000;;
|
||||
catalogd) port=25020;;
|
||||
statestored) port=25010;;
|
||||
esac
|
||||
fi
|
||||
# Request healthz code
|
||||
for ((i=1; i<=${counts}; i++)); do
|
||||
[[ ${i} -gt 1 ]] && sleep ${period} || true
|
||||
local code=$(curl -s http://localhost:${port}/healthz)
|
||||
if [[ $? != 0 ]]; then
|
||||
echo "(${i}/${counts}) ${service} on port ${port} is not ready."
|
||||
elif [[ "${code}" != "OK" ]]; then
|
||||
echo "(${i}/${counts}) Waiting for ${service} to be ready."
|
||||
else
|
||||
echo "(${i}/${counts}) ${service} is ready."
|
||||
exit 0
|
||||
fi
|
||||
done
|
||||
echo "Timed out waiting for ${service} to be ready, check logs for more details."
|
||||
exit 1
|
||||
}
|
||||
|
||||
usage() {
|
||||
echo "Usage: $0 <command> [<options>] <service> [<flags>]"
|
||||
echo " $0 --version"
|
||||
echo " $0 --help"
|
||||
echo " command: {start|stop|restart|status|health}"
|
||||
echo " service: {impalad|catalogd|statestored}"
|
||||
echo " flags: in pattern '-key=val...'."
|
||||
echo
|
||||
echo " start: start an Impala daemon service, wait until service is ready."
|
||||
echo " options:"
|
||||
echo " -c: maximum count of checks, defaults to 20."
|
||||
echo " -p: seconds of period between checks, defaults to 2."
|
||||
echo
|
||||
echo " stop: stop an Impala daemon service, wait until service is stopped."
|
||||
echo " options:"
|
||||
echo " -c: maximum count of checks, defaults to 20."
|
||||
echo " -p: seconds of period between checks, defaults to 2."
|
||||
echo
|
||||
echo " restart: restart an Impala daemon service."
|
||||
echo " options: same as start command."
|
||||
echo
|
||||
echo " status: check the process status of an Impala daemon service."
|
||||
echo
|
||||
echo " health: waiting until an Impala daemon service is ready."
|
||||
echo " options:"
|
||||
echo " -c: maximum count of checks, defaults to 20."
|
||||
echo " -p: seconds of period between checks, defaults to 2."
|
||||
}
|
||||
|
||||
version() {
|
||||
if init &> /dev/null && prerun off && ${IMPALA_HOME}/sbin/impalad --version ; then
|
||||
exit 0
|
||||
fi
|
||||
echo "Failed to get version!"
|
||||
exit 1
|
||||
}
|
||||
|
||||
main() {
|
||||
[[ $# -ge 1 && ${1} == "--help" ]] && usage && exit 0
|
||||
[[ $# -ge 1 && ${1} == "--version" ]] && version && exit 0
|
||||
[[ $# -lt 2 ]] && usage && exit 1
|
||||
local command=${1}
|
||||
case ${command} in
|
||||
start|stop|restart|status|health) shift && init && ${command} $@ ;;
|
||||
*) usage && exit 1 ;;
|
||||
esac
|
||||
}
|
||||
|
||||
main ${@}
|
||||
@@ -1,49 +0,0 @@
|
||||
#!/bin/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.
|
||||
#
|
||||
# Script to launch impalad. Required JAVA_HOME being set.
|
||||
# Edit conf/impalad_flags to set the correct hostnames.
|
||||
# Edit core-site.xml, hdfs-site.xml, hive-site.xml, etc. in conf based on the cluster.
|
||||
# Example usage:
|
||||
# export JAVA_HOME=/usr/java/jdk1.8.0_232-cloudera
|
||||
# bin/start-impalad.sh
|
||||
# To launch impalad using another username (e.g. "impala"):
|
||||
# sudo -E -u impala bin/start-impalad.sh
|
||||
|
||||
echo "Using IMPALA_HOME: ${IMPALA_HOME:=/opt/impala}"
|
||||
source $IMPALA_HOME/bin/impala-env.sh
|
||||
|
||||
if [[ -n "$HADOOP_HOME" ]]; then
|
||||
echo "Using HADOOP_HOME: $HADOOP_HOME"
|
||||
export HADOOP_LIB_DIR="${HADOOP_HOME}/lib"
|
||||
export LIBHDFS_OPTS="${LIBHDFS_OPTS:-} -Djava.library.path=${HADOOP_LIB_DIR}/native/"
|
||||
echo "Using hadoop native libs in ${HADOOP_LIB_DIR}/native/"
|
||||
else
|
||||
export LIBHDFS_OPTS="${LIBHDFS_OPTS:-} -Djava.library.path=${IMPALA_HOME}/lib"
|
||||
echo "HADOOP_HOME not set. Using hadoop native libs in ${IMPALA_HOME}/lib"
|
||||
fi
|
||||
|
||||
$IMPALA_HOME/bin/impalad --flagfile=$IMPALA_HOME/conf/impalad_flags &
|
||||
PID=$!
|
||||
echo $PID > /tmp/impalad.pid
|
||||
|
||||
# Sleep 1s so the glog output won't be messed up with waiting messages
|
||||
sleep 1
|
||||
|
||||
wait_for_ready impalad 25000 $PID
|
||||
@@ -1,37 +0,0 @@
|
||||
#!/bin/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.
|
||||
#
|
||||
# Script to launch statestore. Required JAVA_HOME being set.
|
||||
# Edit conf/statestore_flags to set a correct hostname.
|
||||
# Example usage:
|
||||
# export JAVA_HOME=/usr/java/jdk1.8.0_232-cloudera
|
||||
# bin/start-statestored.sh
|
||||
# To launch statestore using another username (e.g. "impala"):
|
||||
# sudo -E -u impala bin/start-statestored.sh
|
||||
|
||||
echo "Using IMPALA_HOME: ${IMPALA_HOME:=/opt/impala}"
|
||||
source $IMPALA_HOME/bin/impala-env.sh
|
||||
$IMPALA_HOME/bin/statestored --flagfile=$IMPALA_HOME/conf/statestore_flags &
|
||||
PID=$!
|
||||
echo $PID > /tmp/statestored.pid
|
||||
|
||||
# Sleep 1s so the glog output won't be messed up with waiting messages
|
||||
sleep 1
|
||||
|
||||
wait_for_ready statestored 25010 $PID
|
||||
@@ -1,23 +0,0 @@
|
||||
#!/bin/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.
|
||||
|
||||
echo "Using IMPALA_HOME: ${IMPALA_HOME:=/opt/impala}"
|
||||
source $IMPALA_HOME/bin/impala-env.sh
|
||||
|
||||
stop_process catalogd
|
||||
@@ -1,23 +0,0 @@
|
||||
#!/bin/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.
|
||||
|
||||
echo "Using IMPALA_HOME: ${IMPALA_HOME:=/opt/impala}"
|
||||
source $IMPALA_HOME/bin/impala-env.sh
|
||||
|
||||
stop_process impalad
|
||||
@@ -1,23 +0,0 @@
|
||||
#!/bin/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.
|
||||
|
||||
echo "Using IMPALA_HOME: ${IMPALA_HOME:=/opt/impala}"
|
||||
source $IMPALA_HOME/bin/impala-env.sh
|
||||
|
||||
stop_process statestored
|
||||
@@ -6,7 +6,6 @@
|
||||
-log_filename=catalogd
|
||||
-state_store_port=24000
|
||||
-minidump_path=/var/log/impala-minidumps
|
||||
-webserver_doc_root=/opt/impala
|
||||
-catalog_topic_mode=minimal
|
||||
-hms_event_polling_interval_s=0
|
||||
-v=1
|
||||
|
||||
37
package/bin/start-catalogd.sh → package/conf/impala-env.sh
Executable file → Normal file
37
package/bin/start-catalogd.sh → package/conf/impala-env.sh
Executable file → Normal file
@@ -17,22 +17,27 @@
|
||||
# specific language governing permissions and limitations
|
||||
# under the License.
|
||||
#
|
||||
# Script to launch catalogd. Required JAVA_HOME being set.
|
||||
# Edit conf/catalogd_flags to set the correct hostname and state_store_host.
|
||||
# Edit core-site.xml, hdfs-site.xml, hive-site.xml, etc. in conf based on the cluster.
|
||||
# Example usage:
|
||||
# export JAVA_HOME=/usr/java/jdk1.8.0_232-cloudera
|
||||
# bin/start-catalogd.sh
|
||||
# To launch catalogd using another username (e.g. "impala"):
|
||||
# sudo -E -u impala bin/start-catalogd.sh
|
||||
# Specify default value for user-specific environment variables.
|
||||
# It's recommended to use a form that can be overridden from the command line, like
|
||||
# ': ${FOO:="bar"}', or 'export FOO=${FOO:-"bar"}' when the variable need to be exported.
|
||||
|
||||
echo "Using IMPALA_HOME: ${IMPALA_HOME:=/opt/impala}"
|
||||
source $IMPALA_HOME/bin/impala-env.sh
|
||||
$IMPALA_HOME/bin/catalogd --flagfile=$IMPALA_HOME/conf/catalogd_flags &
|
||||
PID=$!
|
||||
echo $PID > /tmp/catalogd.pid
|
||||
# Uncomment and modify next line to specify a valid JDK location.
|
||||
# : ${JAVA_HOME:="/usr/lib/jvm/java"}
|
||||
|
||||
# Sleep 1s so the glog output won't be messed up with waiting messages
|
||||
sleep 1
|
||||
# Specify extra CLASSPATH.
|
||||
: ${CLASSPATH:=}
|
||||
|
||||
wait_for_ready catalogd 25020 $PID
|
||||
# Specify extra LD_LIBRARY_PATH.
|
||||
: ${LD_LIBRARY_PATH:=}
|
||||
|
||||
# Uncomment next line to enable coredump.
|
||||
# ulimit -c unlimited
|
||||
|
||||
# Specify JVM options.
|
||||
export JAVA_TOOL_OPTIONS=${JAVA_TOOL_OPTIONS:-}
|
||||
|
||||
# Specify default pidfile directories.
|
||||
: ${IMPALAD_PIDFILE:="/tmp/impalad.pid"}
|
||||
: ${CATALOGD_PIDFILE:="/tmp/catalogd.pid"}
|
||||
: ${ADMISSIOND_PIDFILE:="/tmp/admissiond.pid"}
|
||||
: ${STATESTORED_PIDFILE:="/tmp/statestored.pid"}
|
||||
@@ -11,6 +11,5 @@
|
||||
-local_library_dir=/var/lib/impala/udfs
|
||||
-fair_scheduler_allocation_path=/opt/impala/conf/fair-scheduler.xml
|
||||
-llama_site_path=/opt/impala/conf/llama-site.xml
|
||||
-webserver_doc_root=/opt/impala
|
||||
-v=1
|
||||
-max_log_size=200
|
||||
|
||||
@@ -2,6 +2,5 @@
|
||||
-log_dir=/var/log/statestore
|
||||
-log_filename=statestored
|
||||
-minidump_path=/var/log/impala-minidumps
|
||||
-webserver_doc_root=/opt/impala
|
||||
-v=1
|
||||
-max_log_size=200
|
||||
Reference in New Issue
Block a user