Ambari Agent Configuration
module.exports = (service) ->
options = service.options
Environment
options.fqdn = service.node.fqdn
options.sudo ?= false
options.conf_dir ?= '/etc/ambari-agent/conf'
Identities
options.hadoop_group = merge {}, service.deps.ambari_server[0].options.hadoop_group, options.hadoop_group
options.group = merge service.deps.ambari_server[0].options.group, options.group
options.user = merge service.deps.ambari_server[0].options.user, options.user
options.test_group = merge service.deps.ambari_server[0].options.test_group, options.test_group
options.test_user = merge service.deps.ambari_server[0].options.test_user, options.test_user
Configuration
options.config ?= {}
options.config.server ?= {}
options.config.server['hostname'] ?= "#{service.deps.ambari_server[0].node.fqdn}"
options.config.server['url_port'] = service.deps.ambari_server[0].options.config['server.url_port']
options.config.server['secured_url_port'] = service.deps.ambari_server[0].options.config['server.secured_url_port']
options.config.agent ?= {}
options.config.agent['hostname_script'] ?= "#{options.conf_dir}/hostname.sh"
options.config.agent['parallel_execution'] ?= 0
Ambari Rest Api URL
options.ambari_url ?= service.deps.ambari_server[0].options.ambari_url
options.ambari_admin_password ?= service.deps.ambari_server[0].options.admin_password
options.cluster_name ?= service.deps.ambari_server[0].options.cluster_name
Cluster Provisionning
options.provision_cluster ?= service.deps.ambari_server[0].options.provision_cluster
User Provisionning
Contains object of user that ambari-agent should create on all hosts. By default Ambari needs to all user on all node even if the service is not installed on a host.
The components should register their user to ambari agents
options.users ?= {}
options.groups ?= {}
Config Groups
options.config_groups ?= []
for srv in service.deps.ambari_server
for name in options.config_groups
srv.options.config_groups ?= {}
srv.options.config_groups[name] ?= {}
srv.options.config_groups[name]['hosts'] ?= []
srv.options.config_groups[name]['hosts'].push service.node.fqdn unless srv.options.config_groups[name]['hosts'].indexOf(service.node.fqdn) > -1
Wait Ambari
options.wait_ambari_rest = service.deps.ambari_server[0].options.wait.rest
Dependencies
{merge} = require '@nikitajs/core/lib/misc'