@@ -41,8 +41,17 @@ export HIVE_WAREHOUSE_PATH="${HIVE_WAREHOUSE_PATH:-/opt/hive/data/warehouse}"
4141export HIVE_SCRATCH_DIR=" ${HIVE_SCRATCH_DIR:-/ opt/ hive/ scratch} "
4242export HIVE_QUERY_RESULTS_CACHE_DIRECTORY=" ${HIVE_WAREHOUSE_PATH:-/ opt/ hive/ scratch/ _resultscache_} "
4343
44+ export HIVE_ZOOKEEPER_QUORUM=" ${HIVE_ZOOKEEPER_QUORUM:- zookeeper: 2181} "
45+ export HIVE_LLAP_DAEMON_SERVICE_HOSTS=" ${HIVE_LLAP_DAEMON_SERVICE_HOSTS:-@ llap0} "
46+
47+ export HIVE_SERVER2_TEZ_USE_EXTERNAL_SESSIONS=" ${HIVE_SERVER2_TEZ_USE_EXTERNAL_SESSIONS:- true} "
48+ export TEZ_FRAMEWORK_MODE=" ${TEZ_FRAMEWORK_MODE:- STANDALONE_ZOOKEEPER} "
49+ export TEZ_AM_REGISTRY_NAMESPACE=" ${TEZ_AM_REGISTRY_NAMESPACE:-/ tez_am/ server} "
50+ export TEZ_AM_ZOOKEEPER_QUORUM=" ${TEZ_AM_ZOOKEEPER_QUORUM:- ${HIVE_ZOOKEEPER_QUORUM} } "
51+
4452envsubst < $HIVE_HOME /conf/core-site.xml.template > $HIVE_HOME /conf/core-site.xml
4553envsubst < $HIVE_HOME /conf/hive-site.xml.template > $HIVE_HOME /conf/hive-site.xml
54+ envsubst < $HIVE_HOME /conf/tez-site.xml.template > $HIVE_HOME /conf/tez-site.xml
4655# =========================================================================
4756
4857: " ${DB_DRIVER:= derby} "
@@ -68,9 +77,30 @@ function initialize_hive {
6877 fi
6978}
7079
80+ function append_java_opens {
81+ local -n _opts=$1
82+ local opens=(
83+ " --add-opens=java.base/java.lang=ALL-UNNAMED"
84+ " --add-opens=java.base/java.util=ALL-UNNAMED"
85+ " --add-opens=java.base/java.io=ALL-UNNAMED"
86+ " --add-opens=java.base/java.net=ALL-UNNAMED"
87+ " --add-opens=java.base/java.nio=ALL-UNNAMED"
88+ " --add-opens=java.base/java.util.concurrent=ALL-UNNAMED"
89+ " --add-opens=java.base/java.util.concurrent.atomic=ALL-UNNAMED"
90+ " --add-opens=java.base/java.util.regex=ALL-UNNAMED"
91+ " --add-opens=java.base/java.lang.reflect=ALL-UNNAMED"
92+ " --add-opens=java.sql/java.sql=ALL-UNNAMED"
93+ " --add-opens=java.base/java.text=ALL-UNNAMED"
94+ " -Dnet.bytebuddy.experimental=true"
95+ )
96+ for opt in " ${opens[@]} " ; do
97+ if [[ " ${_opts} " != * " ${opt} " * ]]; then
98+ _opts=" ${_opts} ${opt} "
99+ fi
100+ done
101+ }
102+
71103function run_llap {
72- export HIVE_ZOOKEEPER_QUORUM=" ${HIVE_ZOOKEEPER_QUORUM:- zookeeper: 2181} "
73- export HIVE_LLAP_DAEMON_SERVICE_HOSTS=" ${HIVE_LLAP_DAEMON_SERVICE_HOSTS:-@ llap0} "
74104 export LLAP_MEMORY_MB=" ${LLAP_MEMORY_MB:- 1024} "
75105 export LLAP_EXECUTORS=" ${LLAP_EXECUTORS:- 1} "
76106
@@ -87,25 +117,8 @@ function run_llap {
87117 export LLAP_DAEMON_CONF_DIR=" ${LLAP_DAEMON_CONF_DIR:- $HIVE_CONF_DIR } "
88118 export LLAP_DAEMON_USER_CLASSPATH=" ${LLAP_DAEMON_USER_CLASSPATH:- $TEZ_HOME /*: $TEZ_HOME / lib/*: $HADOOP_HOME / share/ hadoop/ common/*: $HADOOP_HOME / share/ hadoop/ common/ lib/*: $HADOOP_HOME / share/ hadoop/ yarn/*: $HADOOP_HOME / share/ hadoop/ yarn/ lib/*: $HADOOP_HOME / share/ hadoop/ hdfs/*: $HADOOP_HOME / share/ hadoop/ hdfs/ lib/*: $HADOOP_HOME / share/ hadoop/ mapreduce/*: $HADOOP_HOME / share/ hadoop/ mapreduce/ lib/*: $HADOOP_HOME / share/ hadoop/ tools/ lib/* } "
89119
90- JAVA_ADD_OPENS=(
91- " --add-opens=java.base/java.lang=ALL-UNNAMED"
92- " --add-opens=java.base/java.util=ALL-UNNAMED"
93- " --add-opens=java.base/java.io=ALL-UNNAMED"
94- " --add-opens=java.base/java.net=ALL-UNNAMED"
95- " --add-opens=java.base/java.nio=ALL-UNNAMED"
96- " --add-opens=java.base/java.util.concurrent=ALL-UNNAMED"
97- " --add-opens=java.base/java.util.concurrent.atomic=ALL-UNNAMED"
98- " --add-opens=java.base/java.util.regex=ALL-UNNAMED"
99- " --add-opens=java.base/java.lang.reflect=ALL-UNNAMED"
100- " --add-opens=java.sql/java.sql=ALL-UNNAMED"
101- " --add-opens=java.base/java.text=ALL-UNNAMED"
102- " -Dnet.bytebuddy.experimental=true"
103- )
104- for opt in " ${JAVA_ADD_OPENS[@]} " ; do
105- if [[ " ${LLAP_DAEMON_OPTS:- } " != * " ${opt} " * ]]; then
106- LLAP_DAEMON_OPTS=" ${LLAP_DAEMON_OPTS:- } ${opt} "
107- fi
108- done
120+ LLAP_DAEMON_OPTS=" ${LLAP_DAEMON_OPTS:- } "
121+ append_java_opens LLAP_DAEMON_OPTS
109122
110123 if [[ -n " ${LLAP_EXTRA_OPTS:- } " ]]; then
111124 export LLAP_DAEMON_OPTS=" ${LLAP_DAEMON_OPTS:- } ${LLAP_EXTRA_OPTS} "
@@ -121,6 +134,35 @@ function run_llap {
121134 exec " ${LLAP_RUN_SCRIPT} " run " $@ "
122135}
123136
137+ function run_tezam {
138+ : " ${USER:= hive} "
139+ : " ${LOCAL_DIRS:= " /tmp" } "
140+ : " ${LOG_DIRS:= " /opt/tez/logs" } "
141+ : " ${APP_SUBMIT_TIME_ENV:= $(($(date +% s) * 1000))} "
142+ : " ${TEZ_AM_EXTERNAL_ID:= " tez-session-${HOSTNAME:- tezam} " } "
143+ export USER LOCAL_DIRS LOG_DIRS APP_SUBMIT_TIME_ENV TEZ_AM_EXTERNAL_ID
144+
145+ export HADOOP_HOME=" ${HADOOP_HOME:-/ opt/ hadoop} "
146+ export TEZ_HOME=" ${TEZ_HOME:-/ opt/ tez} "
147+ export HIVE_HOME=" ${HIVE_HOME:-/ opt/ hive} "
148+ export HADOOP_CONF_DIR=" ${HADOOP_CONF_DIR:- $HIVE_CONF_DIR } "
149+ export TEZ_CONF_DIR=" ${TEZ_CONF_DIR:- $HADOOP_CONF_DIR } "
150+ # service_plugins_descriptor.json references org.apache.hadoop.hive.llap.tezplugins.* (hive-llap-tez, etc.)
151+ tezam_cp=" ${HADOOP_CONF_DIR} :${TEZ_CONF_DIR} :${TEZ_HOME} /*:${TEZ_HOME} /lib/*:${HIVE_HOME} /lib/*:${HADOOP_HOME} /share/hadoop/common/*:${HADOOP_HOME} /share/hadoop/common/lib/*:${HADOOP_HOME} /share/hadoop/yarn/*:${HADOOP_HOME} /share/hadoop/yarn/lib/*:${HADOOP_HOME} /share/hadoop/hdfs/*:${HADOOP_HOME} /share/hadoop/hdfs/lib/*:${HADOOP_HOME} /share/hadoop/mapreduce/*:${HADOOP_HOME} /share/hadoop/mapreduce/lib/*:${HADOOP_CLASSPATH:- } "
152+
153+ local java_bin
154+ local tezam_java_opts
155+ java_bin=" ${JAVA_HOME: +$JAVA_HOME / bin/ } java"
156+ tezam_java_opts=" ${HADOOP_CLIENT_OPTS:- } -Dlog4j.configuration=file:${HIVE_CONF_DIR} /tez-log4j.properties"
157+ append_java_opens tezam_java_opts
158+ " ${java_bin} " ${tezam_java_opts} -cp " ${tezam_cp} " org.apache.tez.dag.app.DAGAppMaster --session " $@ "
159+ local rc=$?
160+ if [[ ${rc} -ne 0 ]]; then
161+ echo " DAGAppMaster exited with code ${rc} . See logs above for details."
162+ fi
163+ exit " ${rc} "
164+ }
165+
124166export HIVE_CONF_DIR=$HIVE_HOME /conf
125167if [ -d " ${HIVE_CUSTOM_CONF_DIR:- } " ]; then
126168 find " ${HIVE_CUSTOM_CONF_DIR} " -type f -exec \
@@ -129,7 +171,7 @@ if [ -d "${HIVE_CUSTOM_CONF_DIR:-}" ]; then
129171 export TEZ_CONF_DIR=$HIVE_CONF_DIR
130172fi
131173
132- export HADOOP_CLIENT_OPTS=" $HADOOP_CLIENT_OPTS -Xmx1G $SERVICE_OPTS "
174+ export HADOOP_CLIENT_OPTS=" ${ HADOOP_CLIENT_OPTS:- } -Xmx1G ${ SERVICE_OPTS:- } "
133175if [[ " ${SKIP_SCHEMA_INIT} " == " false" && ( " ${SERVICE_NAME} " == " hiveserver2" || " ${SERVICE_NAME} " == " metastore" ) ]]; then
134176 # handles schema initialization
135177 initialize_hive
@@ -147,4 +189,6 @@ elif [ "${SERVICE_NAME}" == "metastore" ]; then
147189 fi
148190elif [ " ${SERVICE_NAME} " == " llap" ]; then
149191 run_llap " $@ "
192+ elif [ " ${SERVICE_NAME} " == " tezam" ]; then
193+ run_tezam " $@ "
150194fi
0 commit comments