diff --git a/conf/hive-env.sh.template b/conf/hive-env.sh.template index 72e78d52bdde..c2d86e658937 100644 --- a/conf/hive-env.sh.template +++ b/conf/hive-env.sh.template @@ -1,3 +1,5 @@ +#!/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 @@ -18,20 +20,31 @@ # to control the execution of Hive. It should be used by admins to configure # the Hive installation (so that users do not have to set environment variables # or set command line parameters to get correct behavior). -# -# The hive service being invoked (CLI etc.) is available via the environment -# variable SERVICE +# Set HADOOP_HOME to point to a specific hadoop install directory +# HADOOP_HOME=${bin}/../../hadoop + +# Hive Configuration Directory can be controlled by: +# export HIVE_CONF_DIR= + +# Folder containing extra libraries required for hive compilation/execution can be controlled by: +# export HIVE_AUX_JARS_PATH= + +# HIVE Log Directory can be controlled by the following and ensure it exists on the filesystem: +# export HIVE_LOG_DIR= + +# The hive service being invoked (beeline etc.) is available via the environment +# variable SERVICE # Hive Client memory usage can be an issue if a large number of clients -# are running at the same time. The flags below have been useful in +# are running at the same time. The flags below have been useful in # reducing memory usage: -# -# if [ "$SERVICE" = "cli" ]; then + +# if [ "$SERVICE" = "beeline" ]; then # if [ -z "$DEBUG" ]; then -# export HADOOP_OPTS="$HADOOP_OPTS -XX:NewRatio=12 -Xms10m -XX:MaxHeapFreeRatio=40 -XX:MinHeapFreeRatio=15 -XX:+UseParNewGC -XX:-UseGCOverheadLimit" +# export HADOOP_CLIENT_OPTS="$HADOOP_CLIENT_OPTS -Xms10m -XX:MaxHeapFreeRatio=40 -XX:MinHeapFreeRatio=15 -XX:+UseG1GC -XX:-UseGCOverheadLimit" # else -# export HADOOP_OPTS="$HADOOP_OPTS -XX:NewRatio=12 -Xms10m -XX:MaxHeapFreeRatio=40 -XX:MinHeapFreeRatio=15 -XX:-UseGCOverheadLimit" +# export HADOOP_CLIENT_OPTS="$HADOOP_CLIENT_OPTS -Xms10m -XX:MaxHeapFreeRatio=40 -XX:MinHeapFreeRatio=15 -XX:-UseGCOverheadLimit" # fi # fi @@ -39,16 +52,22 @@ # # export HADOOP_HEAPSIZE=1024 # -# Larger heap size may be required when running queries over large number of files or partitions. -# By default hive shell scripts use a heap size of 256 (MB). Larger heap size would also be +# Larger heap size may be required when running queries over large number of files or partitions. +# By default hive shell scripts use a heap size of 256 (MB). Larger heap size would also be # appropriate for hive server. - -# Set HADOOP_HOME to point to a specific hadoop install directory -# HADOOP_HOME=${bin}/../../hadoop - -# Hive Configuration Directory can be controlled by: -# export HIVE_CONF_DIR= - -# Folder containing extra libraries required for hive compilation/execution can be controlled by: -# export HIVE_AUX_JARS_PATH= +# if [ "$SERVICE" = "metastore" ]; then +# export HADOOP_HEAPSIZE=1024 +# export HADOOP_CLIENT_OPTS="$HADOOP_CLIENT_OPTS -Dhive.log.dir=$HIVE_LOG_DIR -Dhive.log.file=hive$SERVICE.log \ +# -Dlog4j.configurationFile=$HIVE_CONF_DIR/hive-log4j2.properties -XX:+UseG1GC \ +# -XX:+HeapDumpOnOutOfMemoryError -XX:HeapDumpPath=$HIVE_LOG_DIR \ +# -Xlog:gc*=info:file=$HIVE_LOG_DIR/gc-${SERVICE}-%p-%t.log:time,uptime,level,tags:filecount=5,filesize=16M" +# fi +# +# if [ "$SERVICE" = "hiveserver2" ]; then +# export HADOOP_HEAPSIZE=1024 +# export HADOOP_CLIENT_OPTS="$HADOOP_CLIENT_OPTS -Dhive.log.dir=$HIVE_LOG_DIR \ +# -Dhive.log.file=$SERVICE.log -Dlog4j.configurationFile=$HIVE_CONF_DIR/hive-log4j2.properties \ +# -XX:+UseG1GC -XX:+HeapDumpOnOutOfMemoryError -XX:HeapDumpPath=$HIVE_LOG_DIR \ +# -Xlog:gc*=info:file=$HIVE_LOG_DIR/gc-${SERVICE}-%p-%t.log:time,uptime,level,tags:filecount=5,filesize=16M" +# fi diff --git a/service/src/java/org/apache/hive/service/server/HiveServer2.java b/service/src/java/org/apache/hive/service/server/HiveServer2.java index a801996bfca2..4ccda2afd8fa 100644 --- a/service/src/java/org/apache/hive/service/server/HiveServer2.java +++ b/service/src/java/org/apache/hive/service/server/HiveServer2.java @@ -1206,7 +1206,7 @@ public void startPrivilegeSynchronizer(HiveConf hiveConf) throws Exception { private static void startHiveServer2() throws Throwable { long attempts = 0, maxAttempts = 1; while (true) { - LOG.info("Starting HiveServer2"); + LOG.info("Starting HiveServer2. PID is: {}", ProcessHandle.current().pid()); HiveConf hiveConf = new HiveConf(); maxAttempts = hiveConf.getLongVar(HiveConf.ConfVars.HIVE_SERVER2_MAX_START_ATTEMPTS); long retrySleepIntervalMs = hiveConf diff --git a/standalone-metastore/metastore-server/src/main/java/org/apache/hadoop/hive/metastore/HiveMetaStore.java b/standalone-metastore/metastore-server/src/main/java/org/apache/hadoop/hive/metastore/HiveMetaStore.java index 065d4f75942d..ed7d436ef099 100644 --- a/standalone-metastore/metastore-server/src/main/java/org/apache/hadoop/hive/metastore/HiveMetaStore.java +++ b/standalone-metastore/metastore-server/src/main/java/org/apache/hadoop/hive/metastore/HiveMetaStore.java @@ -262,9 +262,11 @@ public static void main(String[] args) throws Throwable { startupShutdownMessage(HiveMetaStore.class, args, LOG); try { - String msg = "Starting hive metastore on port " + cli.getPort(); + String msg = + "Starting hive metastore on port %d. PID is %d" + .formatted(cli.getPort(), ProcessHandle.current().pid()); LOG.info(msg); - if (cli.isVerbose()) { + if (isCliVerbose) { System.err.println(msg); }