From cbc8f359dd88f50e6118eaa9a022e94be3826d5c Mon Sep 17 00:00:00 2001 From: "peng.jianhua" Date: Thu, 30 Nov 2017 20:13:13 +0800 Subject: [PATCH 1/1] KYLIN-3075 Improvement kylin.sh, remove duplicate dependency check, let kylin start faster. --- build/bin/kylin.sh | 47 ++++++++++++++++++++++++++--------------------- 1 file changed, 26 insertions(+), 21 deletions(-) diff --git a/build/bin/kylin.sh b/build/bin/kylin.sh index bf1c862ed..772ddbb85 100755 --- a/build/bin/kylin.sh +++ b/build/bin/kylin.sh @@ -27,32 +27,37 @@ if [ "$verbose" = true ]; then shift fi -source ${dir}/check-env.sh mkdir -p ${KYLIN_HOME}/logs mkdir -p ${KYLIN_HOME}/ext function retrieveDependency() { - #retrive $hive_dependency and $hbase_dependency - source ${dir}/find-hive-dependency.sh - source ${dir}/find-hbase-dependency.sh - source ${dir}/find-hadoop-conf-dir.sh - source ${dir}/find-kafka-dependency.sh - source ${dir}/find-spark-dependency.sh - - #retrive $KYLIN_EXTRA_START_OPTS - if [ -f "${dir}/setenv.sh" ]; then - echo "WARNING: ${dir}/setenv.sh is deprecated and ignored, please remove it and use ${KYLIN_HOME}/conf/setenv.sh instead" - source ${dir}/setenv.sh - fi - - if [ -f "${KYLIN_HOME}/conf/setenv.sh" ]; then - source ${KYLIN_HOME}/conf/setenv.sh - fi + if [ "$retrieve_dependency" != "true" ] + then + source ${dir}/check-env.sh + + #retrive $hive_dependency and $hbase_dependency + source ${dir}/find-hive-dependency.sh + source ${dir}/find-hbase-dependency.sh + source ${dir}/find-kafka-dependency.sh + source ${dir}/find-spark-dependency.sh + + #retrive $KYLIN_EXTRA_START_OPTS + if [ -f "${dir}/setenv.sh" ]; then + echo "WARNING: ${dir}/setenv.sh is deprecated and ignored, please remove it and use ${KYLIN_HOME}/conf/setenv.sh instead" + source ${dir}/setenv.sh + fi - export HBASE_CLASSPATH_PREFIX=${KYLIN_HOME}/conf:${KYLIN_HOME}/lib/*:${KYLIN_HOME}/ext/*:${HBASE_CLASSPATH_PREFIX} - export HBASE_CLASSPATH=${HBASE_CLASSPATH}:${hive_dependency}:${kafka_dependency}:${spark_dependency} + if [ -f "${KYLIN_HOME}/conf/setenv.sh" ]; then + source ${KYLIN_HOME}/conf/setenv.sh + fi + + export HBASE_CLASSPATH_PREFIX=${KYLIN_HOME}/conf:${KYLIN_HOME}/lib/*:${KYLIN_HOME}/ext/*:${HBASE_CLASSPATH_PREFIX} + export HBASE_CLASSPATH=${HBASE_CLASSPATH}:${hive_dependency}:${kafka_dependency}:${spark_dependency} + + verbose "HBASE_CLASSPATH: ${HBASE_CLASSPATH}" - verbose "HBASE_CLASSPATH: ${HBASE_CLASSPATH}" + export retrieve_dependency="true" + fi } # start command @@ -121,7 +126,7 @@ then -Dkylin.hadoop.conf.dir=${kylin_hadoop_conf_dir} \ -Dspring.profiles.active=${spring_profile} \ org.apache.hadoop.util.RunJar ${tomcat_root}/bin/bootstrap.jar org.apache.catalina.startup.Bootstrap start >> ${KYLIN_HOME}/logs/kylin.out 2>&1 & echo $! > ${KYLIN_HOME}/pid & - + echo "" echo "A new Kylin instance is started by $USER. To stop it, run 'kylin.sh stop'" echo "Check the log at ${KYLIN_HOME}/logs/kylin.log" -- 2.11.0.windows.1