Apache Hive : WebHCat Configure

Last updated: December 12, 2024

Apache Hive : WebHCat Configure

Configuration Files

The configuration for WebHCat (Templeton) merges the normal Hadoop configuration with the WebHCat-specific variables. Because WebHCat is designed to connect services that are not normally connected, the configuration is more complex than might be desirable.

The WebHCat-specific configuration is split into two layers:

  1. webhcat-default.xml – All the configuration variables that WebHCat needs. This file sets the defaults that ship with WebHCat and should only be changed by WebHCat developers. Do not copy this file or change it to maintain local installation settings. Because webhcat-default.xml is present in the WebHCat war file, editing a local copy of it will not change the configuration.
  2. webhcat-site.xml – The (possibly empty) configuration file in which the system administrator can set variables for their Hadoop cluster. Create this file and maintain entries in it for configuration variables that require you to override default values based on your local installation.

Note

The WebHCat server will require restart after any change to the configuration.

The configuration files are loaded in this order with later files overriding earlier ones:

  • To find the configuration files, WebHCat first attempts to load a file from the CLASSPATH and then looks in the directory specified in the TEMPLETON_HOME environment variable.

Configuration files may access the special environment variable env for all environment variables. For example, the Pig executable could be specified using:

${env.PIG_HOME}/bin/pig

Configuration variables that use a filesystem path try to have reasonable defaults. However, it’s always safe to specify the full and complete path if there is any uncertainty.

Log File Location

The webhcat-log4j.properties file sets the location of the log files created by WebHCat and some other properties of the logging system.

Configuration Variables

NameDescription
templeton.portThe HTTP port for the main server.
templeton.hadoop.config.dirThe path to the Hadoop configuration.
Obsolete: templeton.jarThe path to the WebHCat jar file. (Not used in recent releases, so removed in Hive 0.14.0.)
templeton.libjarsJars to add to the classpath.
templeton.override.jarsJars to add to the HADOOP_CLASSPATH for all Map Reduce jobs. These jars must exist on HDFS.
templeton.override.enabledEnable the override path in templeton.override.jars.
templeton.streaming.jarThe HDFS path to the Hadoop streaming jar file.
templeton.hadoopThe path to the Hadoop executable.
templeton.pig.archiveThe path to the Pig archive.
templeton.pig.pathThe path to the Pig executable.
templeton.hcatThe path to the HCatalog executable.
templeton.hive.archiveThe path to the Hive archive.
templeton.hive.pathThe path to the Hive executable.
templeton.hive.propertiesProperties to set when running Hive (during job submission).  This is expected to be a comma-separated prop=value list. If some value is itself a comma-separated list, the escape character is ‘' (from Hive 0.13.1 onward).To use it in a cluster with Kerberos security enabled, set hive.metastore.sasl.enabled=false and add hive.metastore.execute.setugi=true. Using localhost in metastore URI does not work with Kerberos security.
templeton.exec.encodingThe encoding of the stdout and stderr data.
templeton.exec.timeoutHow long in milliseconds a program is allowed to run on the WebHCat box.
templeton.exec.max-procsThe maximum number of processes allowed to run at once.
templeton.exec.max-output-bytesThe maximum number of bytes from stdout or stderr stored in ram.
templeton.controller.mr.child.optsJava options to be passed to WebHCat controller map task.
templeton.exec.envsThe environment variables passed through to exec.
templeton.zookeeper.hostsZooKeeper servers, as comma-separated host:port pairs.
templeton.zookeeper.session-timeoutZooKeeper session timeout in milliseconds.
templeton.callback.retry.intervalHow long to wait between callback retry attempts in milliseconds.
templeton.callback.retry.attemptsHow many times to retry the callback.
templeton.storage.classThe class to use as storage.
templeton.storage.rootThe path to the directory to use for storage.
templeton.hdfs.cleanup.intervalThe maximum delay between a thread’s cleanup checks.
templeton.hdfs.cleanup.maxageThe maximum age of a WebHCat job.
templeton.zookeeper.cleanup.intervalThe maximum delay between a thread’s cleanup checks.
templeton.zookeeper.cleanup.maxageThe maximum age of a WebHCat job.
templeton.kerberos.secretThe secret used to sign the HTTP cookie value. The default value is a random value. Unless multiple WebHCat instances need to share the secret the random value is adequate.
templeton.kerberos.principalThe Kerberos principal to used by the server. As stated by the Kerberos SPNEGO specification, it should be USER/${HOSTNAME}@{REALM}. It does not have a default value.
templeton.kerberos.keytabThe keytab file containing the credentials for the Kerberos principal.
templeton.hadoop.queue.nameMapReduce queue name where WebHCat map-only jobs will be submitted to. Can be used to avoid a deadlock where all map slots in the cluster are taken over by Templeton launcher tasks.Versions: Hive 0.12.0 and later.
templeton.mapper.memory.mbWebHCat controller job’s Launch mapper’s memory limit in megabytes. When submitting a controller job, WebHCat will overwrite mapreduce.map.memory.mb with this value. If empty, WebHCat will not set mapreduce.map.memory.mb when submitting the controller job, therefore the configuration in mapred-site.xml will be used.Versions: Hive 0.14.0 and later.
templeton.frame.options.filterAdds web server protection from clickjacking using X-Frame-Options header. The possible values are DENY, SAMEORIGIN, ALLOW-FROM .Versions: Hive 3.0.0 and later.

Default Values

Some of the default values for WebHCat configuration variables depend on the release number. For the default values in the Hive release you are using, see the webhcat-default.xml file. It can be found in the SVN repository at:

where <release_number> is 0.11, 0.12, and so on. Prior to Hive 0.11, WebHCat was in the Apache incubator.

For example:

Default values prior to Hive 0.11 are listed in the HCatalog 0.5.0 documentation:

 

Navigation Links Previous: Installation
Next: Reference

Hive configuration: Configuring Hive, Hive Configuration Properties, Thrift Server Setup