blob: 15b941a18e5c76f02484bb4001fd92ef1b8f84a2 [file] [log] [blame]
<?xml version="1.0"?>
<?xml-stylesheet type="text/xsl" href="configuration.xsl"?>
<!--
/**
* 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.
*/
-->
<configuration supports_adding_forbidden="true">
<property>
<name>hive.atlas.hook</name>
<value>false</value>
<display-name>Enable Atlas Hook</display-name>
<description>Enable Atlas Hook</description>
<value-attributes>
<type>boolean</type>
<overridable>false</overridable>
</value-attributes>
<on-ambari-upgrade add="false"/>
<depends-on>
<property>
<type>application-properties</type>
<name>atlas.rest.address</name>
</property>
</depends-on>
</property>
<property>
<name>hive.metastore.heapsize</name>
<value>1024</value>
<description>Hive Metastore Java heap size</description>
<display-name>Metastore Heap Size</display-name>
<value-attributes>
<type>int</type>
<minimum>512</minimum>
<maximum>2048</maximum>
<unit>MB</unit>
<increment-step>512</increment-step>
</value-attributes>
<on-ambari-upgrade add="false"/>
</property>
<property>
<name>hive_database_type</name>
<value>mysql</value>
<display-name>Hive Database Type</display-name>
<description>Default HIVE DB type.</description>
<value-attributes>
<overridable>false</overridable>
</value-attributes>
<depends-on>
<property>
<type>hive-env</type>
<name>hive_database</name>
</property>
</depends-on>
<on-ambari-upgrade add="false"/>
</property>
<property>
<name>hive_ambari_database</name>
<value>MySQL</value>
<description>Database type.</description>
<deleted>true</deleted>
<on-ambari-upgrade add="false"/>
</property>
<property>
<name>hive_database_name</name>
<value>hive</value>
<description>Database name.</description>
<value-attributes>
<type>database</type>
<visible>false</visible>
<editable-only-at-install>true</editable-only-at-install>
<overridable>false</overridable>
</value-attributes>
<on-ambari-upgrade add="false"/>
</property>
<property>
<name>hive_log_dir</name>
<value>/var/log/hive</value>
<display-name>Hive Log Dir</display-name>
<description>Directory for Hive Log files.</description>
<value-attributes>
<type>directory</type>
<overridable>false</overridable>
</value-attributes>
<on-ambari-upgrade add="false"/>
</property>
<property>
<name>hive_pid_dir</name>
<value>/var/run/hive</value>
<display-name>Hive PID Dir</display-name>
<description>Hive PID Dir.</description>
<value-attributes>
<type>directory</type>
<overridable>false</overridable>
<editable-only-at-install>true</editable-only-at-install>
</value-attributes>
<on-ambari-upgrade add="false"/>
</property>
<property>
<name>hive_user</name>
<display-name>Hive User</display-name>
<value>hive</value>
<property-type>USER</property-type>
<description>Hive User.</description>
<value-attributes>
<type>user</type>
<overridable>false</overridable>
<user-groups>
<property>
<type>cluster-env</type>
<name>user_group</name>
</property>
</user-groups>
</value-attributes>
<on-ambari-upgrade add="false"/>
</property>
<!--HCAT-->
<property>
<name>hcat_log_dir</name>
<value>/var/log/webhcat</value>
<display-name>WebHCat Log Dir</display-name>
<description>WebHCat Log Dir.</description>
<value-attributes>
<type>directory</type>
<overridable>false</overridable>
</value-attributes>
<on-ambari-upgrade add="true"/>
</property>
<property>
<name>hcat_pid_dir</name>
<value>/var/run/webhcat</value>
<display-name>WebHCat Pid Dir</display-name>
<description>WebHCat Pid Dir.</description>
<value-attributes>
<type>directory</type>
<overridable>false</overridable>
<editable-only-at-install>true</editable-only-at-install>
</value-attributes>
<on-ambari-upgrade add="true"/>
</property>
<property>
<name>webhcat_user</name>
<display-name>WebHCat User</display-name>
<value>hcat</value>
<property-type>USER</property-type>
<description>WebHCat User.</description>
<value-attributes>
<type>user</type>
<overridable>false</overridable>
<user-groups>
<property>
<type>cluster-env</type>
<name>user_group</name>
</property>
</user-groups>
</value-attributes>
<on-ambari-upgrade add="true"/>
</property>
<property>
<name>hive_user_nofile_limit</name>
<value>32000</value>
<description>Max open files limit setting for HIVE user.</description>
<on-ambari-upgrade add="false"/>
</property>
<property>
<name>hive_user_nproc_limit</name>
<value>16000</value>
<description>Max number of processes limit setting for HIVE user.</description>
<on-ambari-upgrade add="false"/>
</property>
<property>
<name>hive.heapsize</name>
<value>512</value>
<description>Hive Java heap size</description>
<display-name>HiveServer2 Heap Size</display-name>
<value-attributes>
<type>int</type>
<minimum>512</minimum>
<maximum>2048</maximum>
<unit>MB</unit>
<increment-step>512</increment-step>
<overridable>false</overridable>
</value-attributes>
<on-ambari-upgrade add="false"/>
</property>
<property>
<name>hive_security_authorization</name>
<display-name>Choose Authorization</display-name>
<description>
Authorization mode, default NONE. Options are NONE, Ranger, SQLStdAuth.
SQL standard authorization provides grant/revoke functionality at database, table level.
Ranger provides a centralized authorization interface for Hive and provides more granular
access control at column level through the Hive plugin.
</description>
<value>None</value>
<depends-on>
<property>
<type>ranger-env</type>
<name>ranger-hive-plugin-enabled</name>
</property>
</depends-on>
<value-attributes>
<type>value-list</type>
<entries>
<entry>
<value>None</value>
<label>None</label>
</entry>
<entry>
<value>SQLStdAuth</value>
<label>SQLStdAuth</label>
</entry>
<entry>
<value>Ranger</value>
<label>Ranger</label>
</entry>
</entries>
</value-attributes>
<on-ambari-upgrade add="false"/>
</property>
<property>
<name>hive_timeline_logging_enabled</name>
<display-name>Use ATS Logging</display-name>
<value>false</value>
<value-attributes>
<type>boolean</type>
</value-attributes>
<on-ambari-upgrade add="false"/>
</property>
<property>
<name>hive_database</name>
<value>New MySQL Database</value>
<display-name>Hive Database</display-name>
<description>
Property that determines whether the HIVE DB is managed by Ambari.
</description>
<value-attributes>
<overridable>false</overridable>
<type>value-list</type>
<entries_editable>false</entries_editable>
<entries>
<entry>
<value>New MySQL Database</value>
<label>New MySQL</label>
</entry>
<entry>
<value>Existing MySQL / MariaDB Database</value>
<label>Existing MySQL / MariaDB</label>
</entry>
<entry>
<value>Existing PostgreSQL Database</value>
<label>Existing PostgreSQL</label>
</entry>
<entry>
<value>Existing Oracle Database</value>
<label>Existing Oracle</label>
</entry>
</entries>
</value-attributes>
<on-ambari-upgrade add="false"/>
</property>
<property>
<name>hive.log.level</name>
<description>Hive Log level to control log4j - Options are INFO, DEBUG, WARN, ERROR</description>
<value>INFO</value>
<display-name>Hive Log Level</display-name>
<value-attributes>
<type>value-list</type>
<entries>
<entry>
<value>INFO</value>
<label>INFO (Recommended)</label>
</entry>
<entry>
<value>DEBUG</value>
<label>DEBUG (Most Verbose)</label>
</entry>
<entry>
<value>WARN</value>
<label>WARN</label>
</entry>
<entry>
<value>ERROR</value>
<label>ERROR (Least Verbose)</label>
</entry>
</entries>
<selection-cardinality>1</selection-cardinality>
</value-attributes>
<on-ambari-upgrade add="false"/>
</property>
<property>
<name>alert_ldap_username</name>
<value></value>
<description>LDAP username to be used for alerts</description>
<display-name>LDAP user for Alerts</display-name>
<value-attributes>
<empty-value-valid>true</empty-value-valid>
</value-attributes>
<depends-on>
<property>
<type>hive-site</type>
<name>hive.server2.authentication</name>
</property>
</depends-on>
<on-ambari-upgrade add="false"/>
</property>
<property>
<name>alert_ldap_password</name>
<value></value>
<property-type>PASSWORD</property-type>
<description>Password to be used for LDAP user used in alerts</description>
<display-name>LDAP password for Alerts</display-name>
<value-attributes>
<empty-value-valid>true</empty-value-valid>
<type>password</type>
</value-attributes>
<depends-on>
<property>
<type>hive-site</type>
<name>hive.server2.authentication</name>
</property>
</depends-on>
<on-ambari-upgrade add="false"/>
</property>
<property>
<name>enable_heap_dump</name>
<value>false</value>
<description>Enable or disable taking Heap Dump. (true/false)</description>
<display-name>Enable heap dump</display-name>
<value-attributes>
<type>boolean</type>
</value-attributes>
<on-ambari-upgrade add="false"/>
</property>
<property>
<name>heap_dump_location</name>
<value>/tmp</value>
<description>Location for heap dump file</description>
<display-name>Heap dump location</display-name>
<on-ambari-upgrade add="false"/>
<value-attributes>
<empty-value-valid>false</empty-value-valid>
</value-attributes>
</property>
<property>
<name>beeline_jdbc_url_default</name>
<value>container</value>
<description>Default url to use for beeline (container|llap)</description>
<display-name>Default beeline url</display-name>
<on-ambari-upgrade add="true"/>
</property>
<!-- hive-env.sh -->
<property>
<name>content</name>
<display-name>hive-env template</display-name>
<description>This is the jinja template for hive-env.sh file</description>
<value>
# The heap size of the jvm, and jvm args stared by hive shell script can be controlled via:
if [ "$SERVICE" = "metastore" ]; then
export HADOOP_HEAPSIZE={{hive_metastore_heapsize}} # Setting for HiveMetastore
export HADOOP_OPTS="$HADOOP_OPTS -Xloggc:{{hive_log_dir}}/hivemetastore-gc-%t.log -XX:+UseG1GC -XX:+PrintGCDetails -XX:+PrintGCTimeStamps -XX:+PrintGCCause -XX:+UseGCLogFileRotation -XX:NumberOfGCLogFiles=10 -XX:GCLogFileSize=10M -XX:+HeapDumpOnOutOfMemoryError -XX:HeapDumpPath={{hive_log_dir}}/hms_heapdump.hprof -Dhive.log.dir={{hive_log_dir}} -Dhive.log.file=hivemetastore.log"
fi
if [ "$SERVICE" = "hiveserver2" ]; then
export HADOOP_HEAPSIZE={{hive_heapsize}} # Setting for HiveServer2 and Client
export HADOOP_OPTS="$HADOOP_OPTS -Xloggc:{{hive_log_dir}}/hiveserver2-gc-%t.log -XX:+UseG1GC -XX:+PrintGCDetails -XX:+PrintGCTimeStamps -XX:+PrintGCCause -XX:+UseGCLogFileRotation -XX:NumberOfGCLogFiles=10 -XX:GCLogFileSize=10M -XX:+HeapDumpOnOutOfMemoryError -XX:HeapDumpPath={{hive_log_dir}}/hs2_heapdump.hprof -Dhive.log.dir={{hive_log_dir}} -Dhive.log.file=hiveserver2.log"
fi
{% if security_enabled %}
export HADOOP_OPTS="$HADOOP_OPTS -Dzookeeper.sasl.client.username={{zk_principal_user}}"
{% endif %}
export HADOOP_CLIENT_OPTS="$HADOOP_CLIENT_OPTS -Xmx${HADOOP_HEAPSIZE}m"
export HADOOP_CLIENT_OPTS="$HADOOP_CLIENT_OPTS{{heap_dump_opts}}"
# 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 (hwi etc).
# Set HADOOP_HOME to point to a specific hadoop install directory
HADOOP_HOME=${HADOOP_HOME:-{{hadoop_home}}}
export HIVE_HOME=${HIVE_HOME:-{{hive_home_dir}}}
# Hive Configuration Directory can be controlled by:
export HIVE_CONF_DIR=${HIVE_CONF_DIR:-{{hive_config_dir}}}
# Folder containing extra libraries required for hive compilation/execution can be controlled by:
if [ "${HIVE_AUX_JARS_PATH}" != "" ]; then
export HIVE_AUX_JARS_PATH=${HIVE_AUX_JARS_PATH}
elif [ -d "/usr/lib/hive-hcatalog/" ]; then
export HIVE_AUX_JARS_PATH=/usr/lib/hive-hcatalog/share/hcatalog/hive-hcatalog-core-*.jar
else
export HIVE_AUX_JARS_PATH=/usr/lib/hcatalog/share/hcatalog/hcatalog-core.jar
fi
export METASTORE_PORT={{hive_metastore_port}}
{% if sqla_db_used or lib_dir_available %}
export LD_LIBRARY_PATH="$LD_LIBRARY_PATH:{{jdbc_libs_dir}}"
export JAVA_LIBRARY_PATH="$JAVA_LIBRARY_PATH:{{jdbc_libs_dir}}"
{% endif %}
</value>
<value-attributes>
<type>content</type>
</value-attributes>
<on-ambari-upgrade add="false"/>
</property>
</configuration>