Hive & HCatalog Client
module.exports = header: 'Hive Client Install', handler: ({options}) ->
Register
@registry.register 'hconfigure', 'ryba/lib/hconfigure'
@registry.register 'hdp_select', 'ryba/lib/hdp_select'
Identities
By default, the "hive" and "hive-hcatalog" packages create the following entries:
cat /etc/passwd | grep hive
hive:x:493:493:Hive:/var/lib/hive:/sbin/nologin
cat /etc/group | grep hive
hive:x:493:
@system.group header: 'Group', options.group
@system.user header: 'User', options.user
Service
The phoenix server jar is referenced inside the HIVE_AUX_JARS_PATH if phoenix is installed on the host.
@service
name: 'phoenix'
if: options.phoenix_enabled
# migration: wdavidw 170908, attempt to simplify package installation
@service 'hive'
@hdp_select 'hive-webhcat' # Selecting "hive-client" throw "Invalid package" error
# @service 'hive'
# @service 'hive-webhcat' # Install hcat command
# @hdp_select 'hive-webhcat'
@service
name: 'hive-hcatalog'
Configure
See Hive/HCatalog Configuration Files
@hconfigure
header: 'Hive Site'
target: "#{options.conf_dir}/hive-site.xml"
source: "#{__dirname}/../../resources/hive/hive-site.xml"
local: true
properties: options.hive_site
merge: true
backup: true
mode: 0o644
Env
Enrich the "hive-env.sh" file with the value of the options "opts" and "heapsize". Internally, the environmental variables "HADOOP_CLIENT_OPTS" and "HADOOP_HEAPSIZE" are enriched and they only apply to the Hive client.
Using this functionnality, a user may for example raise the heap size of Hive Client to 4Gb by either setting a "opts" value equal to "-Xmx4096m" or the by setting a "heapsize" value equal to "4096".
@file.render
header: 'Hive Env'
source: "#{__dirname}/../resources/hive-env.sh.j2"
target: "#{options.conf_dir}/hive-env.sh"
local: true
context: options: options
eof: true
backup: true
SSL
# @java.keystore_add
# header: 'Client SSL'
# keystore: options.truststore_location
# storepass: options.truststore_password
# caname: "hive_root_ca"
# cacert: ssl.cacert
# local: true