Hive Client Configuration
Example:
{
"ryba": {
"hive": {
"client": {
opts": "-Xmx4096m",
heapsize": "1024"
}
}
}
}
module.exports = (service) ->
options = service.options
Identities
options.hadoop_group = merge {}, service.deps.hadoop_core.options.hadoop_group, options.hadoop_group
options.group = merge service.deps.hive_server2[0].options.group, options.group
options.user = merge service.deps.hive_server2[0].options.user, options.user
Kerberos
# Kerberos Test Principal
options.test_krb5_user ?= service.deps.test_user.options.krb5.user
Environment
# Layout
options.conf_dir ?= '/etc/hive/conf'
# Opts and Java
options.java_home ?= service.deps.java.options.java_home
options.opts = ""
options.heapsize = 1024
options.aux_jars_paths ?= {}
for path, val of service.deps.hive_hcatalog[0].options.aux_jars_paths
options.aux_jars_paths[path] ?= val
#aux_jars forced by ryba to guaranty consistency
options.aux_jars = "#{Object.keys(options.aux_jars_paths).join ':'}"
# Misc
options.hostname ?= service.node.hostname
options.force_check ?= false
Import HiveServer2 Configuration
options.hive_site ?= {}
for property in [
'hive.server2.authentication'
'hive.server2.authentication.kerberos.principal'
'hive.server2.authentication'
'hive.server2.transport.mode'
'hive.server2.use.SSL'
'hive.server2.thrift.http.port'
'hive.server2.thrift.port'
# Transaction, read/write locks
'hive.execution.engine'
'hive.zookeeper.quorum'
'hive.server2.thrift.sasl.qop'
'hive.optimize.mapjoin.mapreduce'
'hive.heapsize'
'hive.auto.convert.sortmerge.join.noconditionaltask'
'hive.exec.max.created.files'
] then options.hive_site[property] ?= service.deps.hive_server2[0].options.hive_site[property]
Configure SSL
options.ssl = merge {}, service.deps.hadoop_core.options.ssl, options.ssl
options.truststore_location ?= "#{options.conf_dir}/truststore"
options.truststore_password ?= options.ssl.truststore.password
Test
options.ranger_admin ?= service.deps.ranger_admin.options.admin if service.deps.ranger_admin
options.ranger_hive_install = service.deps.ranger_hive[0].options.install if service.deps.ranger_hive
options.ranger_hdfs_install = service.deps.ranger_hdfs[0].options.install if service.deps.ranger_hdfs
options.test = merge {}, service.deps.test_user.options, options.test
# Hive Server2
options.hive_server2 = for srv in service.deps.hive_server2
fqdn: srv.options.fqdn
hostname: srv.options.hostname
hive_site: srv.options.hive_site
# Spark Thrift Server
options.spark_thrift_server = for srv in service.deps.spark_thrift_server or []
fqdn: srv.options.fqdn
hostname: srv.options.hostname
Wait
options.wait_hive_server2 = service.deps.hive_server2[0].options.wait
options.wait_spark_thrift_server = service.deps.spark_thrift_server[0].options.wait if service.deps.spark_thrift_server
options.wait_ranger_admin = service.deps.ranger_admin.options.wait if service.deps.ranger_admin
Dependencies
{merge} = require '@nikitajs/core/lib/misc'