summaryrefslogtreecommitdiff
path: root/ambari-agent
diff options
context:
space:
mode:
authorMahadev Konar <mahadev@apache.org>2012-10-24 06:14:24 +0000
committerMahadev Konar <mahadev@apache.org>2012-10-24 06:14:24 +0000
commit030ef999f141152ef567bb930ad57ae55e128399 (patch)
treeac4e10354ac1b3a4d2b798c91d36128fcf9358fa /ambari-agent
parent4235a3db92b61c6d82491e2bffaf6207c5f203ae (diff)
AMBARI-895. Need name consistency for metrics. (Tom Beerbower via mahadev)
git-svn-id: https://svn.apache.org/repos/asf/incubator/ambari/branches/AMBARI-666@1401565 13f79535-47bb-0310-9956-ffa450edef68
Diffstat (limited to 'ambari-agent')
-rw-r--r--ambari-agent/src/main/puppet/modules/hdp-hbase/manifests/init.pp58
-rw-r--r--ambari-agent/src/main/puppet/modules/hdp-hive/manifests/init.pp9
-rw-r--r--ambari-agent/src/main/puppet/modules/hdp-oozie/manifests/init.pp9
-rw-r--r--ambari-agent/src/main/puppet/modules/hdp/manifests/params.pp2
-rw-r--r--ambari-agent/src/main/python/ambari_agent/manifestGenerator.py60
-rw-r--r--ambari-agent/src/main/python/ambari_agent/site.pp34
-rw-r--r--ambari-agent/src/main/python/ambari_agent/test.json49
7 files changed, 138 insertions, 83 deletions
diff --git a/ambari-agent/src/main/puppet/modules/hdp-hbase/manifests/init.pp b/ambari-agent/src/main/puppet/modules/hdp-hbase/manifests/init.pp
index 9b07dcdb1f..af8dbbeabc 100644
--- a/ambari-agent/src/main/puppet/modules/hdp-hbase/manifests/init.pp
+++ b/ambari-agent/src/main/puppet/modules/hdp-hbase/manifests/init.pp
@@ -28,47 +28,27 @@ class hdp-hbase(
$config_dir = $hdp-hbase::params::conf_dir
$hdp::params::component_exists['hdp-hbase'] = true
+
- #Configs generation
- configgenerator::configfile{'hbase-site.xml.erb':
- module => 'hdp-hbase',
- properties => {'hbase.rootdir' => 'hdfs://<%=scope.function_hdp_host("namenode_host")%>:8020<%=scope.function_hdp_template_var("hbase_hdfs_root_dir")%>',
- 'hbase.cluster.distributed' => 'true',
- 'hbase.tmp.dir' => '<%=scope.function_hdp_template_var("hbase_tmp_dir")%>',
- 'hbase.master.info.bindAddress' => '<%=scope.function_hdp_host("hbase_master_host")%>',
- 'hbase.regionserver.global.memstore.upperLimit' => '<%=scope.function_hdp_template_var("regionserver_memstore_upperlimit")%>',
- 'hbase.regionserver.handler.count' => '<%=scope.function_hdp_template_var("regionserver_handlers")%>',
- 'hbase.hregion.majorcompaction' => '<%=scope.function_hdp_template_var("hregion_majorcompaction")%>',
- 'hbase.regionserver.global.memstore.lowerLimit' => '<%=scope.function_hdp_template_var("regionserver_memstore_lowerlimit")%>',
- 'hbase.hregion.memstore.block.multiplier' => '<%=scope.function_hdp_template_var("hregion_blockmultiplier")%>',
- 'hbase.hregion.memstore.flush.size' => '<%=scope.function_hdp_template_var("hregion_memstoreflushsize")%>',
- 'hbase.hregion.memstore.mslab.enabled' => '<%=scope.function_hdp_template_var("regionserver_memstore_lab")%>',
- 'hbase.hregion.max.filesize' => '<%=scope.function_hdp_template_var("hstorefile_maxsize")%>',
- 'hbase.client.scanner.caching' => '<%=scope.function_hdp_template_var("client_scannercaching")%>',
- 'zookeeper.session.timeout' => '<%=scope.function_hdp_template_var("zookeeper_sessiontimeout")%>',
- 'hbase.client.keyvalue.maxsize' => '<%=scope.function_hdp_template_var("hfile_max_keyvalue_size")%>',
- 'hbase.hstore.compactionThreshold' => '<%=scope.function_hdp_template_var("hstore_compactionthreshold")%>',
- 'hbase.hstore.blockingStoreFiles' => '<%=scope.function_hdp_template_var("hstore_blockingstorefiles")%>',
- 'hfile.block.cache.size' => '<%=scope.function_hdp_template_var("hfile_blockcache_size")%>',
- 'hbase.master.keytab.file' => '<%=scope.function_hdp_template_var("keytab_path")%>/hm.service.keytab',
- 'hbase.master.kerberos.principal' => 'hm/_HOST@<%=scope.function_hdp_template_var("kerberos_domain")%>',
- 'hbase.regionserver.keytab.file' => '<%=scope.function_hdp_template_var("keytab_path")%>/rs.service.keytab',
- 'hbase.regionserver.kerberos.principal' => 'rs/_HOST@<%=scope.function_hdp_template_var("kerberos_domain")%>',
- 'hbase.superuser' => 'hbase',
- 'hbase.coprocessor.region.classes' => '<%=scope.function_hdp_template_var("preloaded_regioncoprocessor_classes")%>',
- 'hbase.coprocessor.master.classes' => '<%=scope.function_hdp_template_var("preloaded_mastercoprocessor_classes")%>',
- 'hbase.zookeeper.quorum' => '<%=zkh=scope.function_hdp_host("zookeeper_hosts");scope.function_hdp_is_empty(zkh) ? "" : [zkh].flatten.join(",")%>',
- 'dfs.support.append' => '<%=scope.function_hdp_template_var("hdfs_support_append")%>',
- 'dfs.client.read.shortcircuit' => '<%=scope.function_hdp_template_var("hdfs_enable_shortcircuit_read")%>',
- 'dfs.client.read.shortcircuit.skip.checksum' => '<%=scope.function_hdp_template_var("hdfs_enable_shortcircuit_skipchecksum")%>',}
+ #Configs generation
+
+ if has_key($configuration, 'hbase_site') {
+ configgenerator::configfile{'hbase_site':
+ modulespath => $hdp-hbase::params::conf_dir,
+ filename => 'hbase-site.xml',
+ module => 'hdp-hbase',
+ configuration => $configuration['hbase_site']
}
-
- configgenerator::configfile{'hbase-policy.xml.erb':
- module => 'hdp-hbase',
- properties => {'security.client.protocol.acl' => '*',
- 'security.admin.protocol.acl' => '*',
- 'security.masterregion.protocol.acl' => '*',}
+ }
+
+ if has_key($configuration, 'hbase_policy') {
+ configgenerator::configfile{'hbase_policy':
+ modulespath => $hdp-hbase::params::conf_dir,
+ filename => 'hbase-policy.xml',
+ module => 'hdp-hbase',
+ configuration => $configuration['hbase_policy']
}
+ }
anchor{'hdp-hbase::begin':}
anchor{'hdp-hbase::end':}
@@ -94,7 +74,7 @@ class hdp-hbase(
force => true
}
- hdp-hbase::configfile { ['hbase-env.sh','hbase-site.xml','hbase-policy.xml','log4j.properties','hadoop-metrics.properties']:
+ hdp-hbase::configfile { ['hbase-env.sh','log4j.properties','hadoop-metrics.properties']:
type => $type
}
hdp-hbase::configfile { 'regionservers':}
diff --git a/ambari-agent/src/main/puppet/modules/hdp-hive/manifests/init.pp b/ambari-agent/src/main/puppet/modules/hdp-hive/manifests/init.pp
index 9e0d232b41..454522d7e6 100644
--- a/ambari-agent/src/main/puppet/modules/hdp-hive/manifests/init.pp
+++ b/ambari-agent/src/main/puppet/modules/hdp-hive/manifests/init.pp
@@ -30,11 +30,12 @@ class hdp-hive(
# Configs generation
- if has_key($configuration, 'hdp_hive__hive_site') {
- configgenerator::configfile{'hive_site_xml':
+ if has_key($configuration, 'hive_site') {
+ configgenerator::configfile{'hive_site':
+ modulespath => $hdp-hive::params::hive_conf_dir,
filename => 'hive-site.xml',
module => 'hdp-hive',
- configuration => $configuration['hdp_hive__hive_site']
+ configuration => $configuration['hive_site']
}
}
@@ -66,7 +67,7 @@ class hdp-hive(
force => true
}
- hdp-hive::configfile { ['hive-env.sh','hive-site.xml']: }
+ hdp-hive::configfile { ['hive-env.sh']: }
Anchor['hdp-hive::begin'] -> Hdp::Package['hive'] -> Hdp::User[$hive_user] ->
Hdp::Directory[$hive_config_dir] -> Hdp-hive::Configfile<||> -> Anchor['hdp-hive::end']
diff --git a/ambari-agent/src/main/puppet/modules/hdp-oozie/manifests/init.pp b/ambari-agent/src/main/puppet/modules/hdp-oozie/manifests/init.pp
index 5c68fc79d1..d76a0a073f 100644
--- a/ambari-agent/src/main/puppet/modules/hdp-oozie/manifests/init.pp
+++ b/ambari-agent/src/main/puppet/modules/hdp-oozie/manifests/init.pp
@@ -28,11 +28,12 @@ class hdp-oozie(
# Configs generation
- if has_key($configuration, 'hdp_oozie__oozie_site') {
- configgenerator::configfile{'oozie_site_xml':
+ if has_key($configuration, 'oozie_site') {
+ configgenerator::configfile{'oozie_site':
+ modulespath => $hdp-oozie::params::conf_dir,
filename => 'oozie-site.xml',
module => 'hdp-oozie',
- configuration => $configuration['hdp_oozie__oozie_site']
+ configuration => $configuration['oozie_site']
}
}
@@ -72,7 +73,7 @@ class hdp-oozie(
force => true
}
- hdp-oozie::configfile { ['oozie-site.xml','oozie-env.sh','oozie-log4j.properties']: }
+ hdp-oozie::configfile { ['oozie-env.sh','oozie-log4j.properties']: }
anchor { 'hdp-oozie::begin': } -> Hdp::Package['oozie-client'] -> Hdp::User[$oozie_user] -> Hdp::Directory[$oozie_config_dir] -> Hdp-oozie::Configfile<||> -> anchor { 'hdp-oozie::end': }
diff --git a/ambari-agent/src/main/puppet/modules/hdp/manifests/params.pp b/ambari-agent/src/main/puppet/modules/hdp/manifests/params.pp
index 887939cf6a..7dcf644395 100644
--- a/ambari-agent/src/main/puppet/modules/hdp/manifests/params.pp
+++ b/ambari-agent/src/main/puppet/modules/hdp/manifests/params.pp
@@ -327,7 +327,7 @@ class hdp::params()
$hadoop_bin = "/usr/lib/hadoop/bin"
$hadoop_conf_dir = "/etc/hadoop/conf"
$zk_conf_dir = "/etc/zookeeper/conf"
- $hbase_conf_dir = "/etc/hbase/conf/"
+ $hbase_conf_dir = "/etc/hbase/conf"
$sqoop_conf_dir = "/usr/lib/sqoop/conf"
$pig_conf_dir = "/etc/pig/conf"
$oozie_conf_dir = "/etc/oozie/conf"
diff --git a/ambari-agent/src/main/python/ambari_agent/manifestGenerator.py b/ambari-agent/src/main/python/ambari_agent/manifestGenerator.py
index 87af868b46..cdb18b0eea 100644
--- a/ambari-agent/src/main/python/ambari_agent/manifestGenerator.py
+++ b/ambari-agent/src/main/python/ambari_agent/manifestGenerator.py
@@ -41,6 +41,7 @@ def generateManifest(parsedJson, fileName, modulesdir):
clusterHostInfo = parsedJson['clusterHostInfo']
params = parsedJson['params']
configurations = parsedJson['configurations']
+ xmlConfigurationsKeys = parsedJson['xml_configurations_keys']
#hostAttributes = parsedJson['hostAttributes']
roles = parsedJson['roleCommands']
@@ -56,8 +57,19 @@ def generateManifest(parsedJson, fileName, modulesdir):
#writing params from map
writeParams(manifest, params)
+
+ xmlConfigurations = {}
+ flatConfigurations = {}
+
+ for configKey in configurations.iterkeys():
+ if configKey in xmlConfigurationsKeys:
+ xmlConfigurations[configKey] = configurations[configKey]
+ else:
+ flatConfigurations[configKey] = configurations[configKey]
+
#writing config maps
- writeConfigurations(manifest, configurations)
+ writeXmlConfigurations(manifest, xmlConfigurations)
+ writeFlatConfigurations(manifest, flatConfigurations)
#writing host attributes
#writeHostAttributes(manifest, hostAttributes)
@@ -92,23 +104,23 @@ def writeNodes(outputFile, clusterHostInfo):
outputFile.write(']\n')
#write params
-def writeParams(outputFile, params):
-
+def writeParams(outputFile, params):
+
for paramName in params.iterkeys():
-
- param = params[paramName]
- if type(param) is dict:
-
+
+ param = params[paramName]
+ if type(param) is dict:
+
outputFile.write('$' + paramName + '= {\n')
- coma = ''
+ coma = ''
for subParam in param.iterkeys():
outputFile.write(coma + '"' + subParam + '" => "' + param[subParam] + '"')
- coma = ',\n'
-
- outputFile.write('\n}\n')
- else:
+ coma = ',\n'
+
+ outputFile.write('\n}\n')
+ else:
outputFile.write('$' + paramName + '="' + param + '"\n')
@@ -123,14 +135,21 @@ def writeHostAttributes(outputFile, hostAttributes):
outputFile.write('}\n')
-#write configurations
-def writeConfigurations(outputFile, configs):
+#write flat configurations
+def writeFlatConfigurations(outputFile, flatConfigs):
+ for flatConfigName in flatConfigs.iterkeys():
+ for flatConfig in flatConfigs[flatConfigName].iterkeys():
+ outputFile.write('$' + flatConfig + ' = "' + flatConfigs[flatConfigName][flatConfig] + '"' + os.linesep)
+
+#write xml configurations
+def writeXmlConfigurations(outputFile, xmlConfigs):
outputFile.write('$configuration = {\n')
- for configName in configs.iterkeys():
- outputFile.write(configName + '=> {\n')
- config = configs[configName]
+ for configName in xmlConfigs.iterkeys():
+
+ config = xmlConfigs[configName]
+ outputFile.write(configName + '=> {\n')
coma = ''
for configParam in config.iterkeys():
outputFile.write(coma + '"' + configParam + '" => "' + config[configParam] + '"')
@@ -192,7 +211,7 @@ def writeStages(outputFile, numStages):
outputFile.write('\n')
-def main():
+def main():
logging.basicConfig(level=logging.DEBUG)
#test code
jsonFile = open('test.json', 'r')
@@ -200,9 +219,10 @@ def main():
modulesdir = os.path.abspath(os.getcwd() + ".." + os.sep + ".." +
os.sep + ".." + os.sep + "puppet" +
os.sep + "modules" + os.sep)
+ inputJsonStr = jsonStr
parsedJson = json.loads(inputJsonStr)
generateManifest(parsedJson, 'site.pp', modulesdir)
if __name__ == '__main__':
- main()
-
+ main()
+
diff --git a/ambari-agent/src/main/python/ambari_agent/site.pp b/ambari-agent/src/main/python/ambari_agent/site.pp
index bcd3dd9287..ba41b9338c 100644
--- a/ambari-agent/src/main/python/ambari_agent/site.pp
+++ b/ambari-agent/src/main/python/ambari_agent/site.pp
@@ -25,8 +25,12 @@ capacity_scheduler=> {
"mapred.capacity-scheduler.queue.default.capacity" => "100",
"mapred.capacity-scheduler.queue.default.supports-priorit" => "false"
},
-core_site=> {
-"fs.default.name" => "hrt8n36.cc1.ygridcore.net"
+hdfs_site=> {
+"dfs.block.size" => "256000000",
+"dfs.replication" => "1"
+},
+hbase_policy=> {
+"security.client.protocol.acl" => "*"
},
hadoop_policy=> {
"security.client.datanode.protocol.acl" => "*",
@@ -36,9 +40,17 @@ mapred_queue_acls=> {
"mapred.queue.default.acl-submit-job" => "*",
"mapred.queue.default.acl-administer-jobs" => "*"
},
-hdfs_site=> {
-"dfs.block.size" => "256000000",
-"dfs.replication" => "1"
+hbase_site=> {
+"hbase.cluster.distributed" => "true"
+},
+core_site=> {
+"fs.default.name" => "hrt8n36.cc1.ygridcore.net"
+},
+hive_site=> {
+"hive.exec.scratchdir" => "/tmp"
+},
+oozie_site=> {
+"oozie.service.ActionService.executor.ext.classes" => "org.apache.oozie.action.hadoop.HiveActionExecutor, org.apache.oozie.action.hadoop.SqoopActionExecutor,org.apache.oozie.action.email.EmailActionExecutor,"
},
mapred_site=> {
"mapred.queue.names" => "hive,pig,default",
@@ -46,8 +58,16 @@ mapred_site=> {
},
}
+$security_enabled = "true"
+$task_bin_exe = "ls"
+$hadoop_piddirprefix = "/tmp"
+$ganglia_server_host = "localhost"
node /default/ {
- stage{1 :} -> stage{2 :}
-class {'hdp-hadoop::namenode': stage => 1, service_state => running}
+ stage{1 :} -> stage{2 :} -> stage{3 :} -> stage{4 :} -> stage{5 :} -> stage{6 :}
+class {'hdp-hadoop::namenode': stage => 1, service_state => installed_and_configured}
class {'hdp-hadoop::datanode': stage => 2, service_state => installed_and_configured}
+class {'hdp-hbase::master': stage => 3, service_state => installed_and_configured}
+class {'hdp-hive::server': stage => 4, service_state => installed_and_configured}
+class {'hdp-hive::client': stage => 5, service_state => installed_and_configured}
+class {'hdp-oozie::server': stage => 6, service_state => installed_and_configured}
}
diff --git a/ambari-agent/src/main/python/ambari_agent/test.json b/ambari-agent/src/main/python/ambari_agent/test.json
index 24e16db43e..c968dc0ff1 100644
--- a/ambari-agent/src/main/python/ambari_agent/test.json
+++ b/ambari-agent/src/main/python/ambari_agent/test.json
@@ -16,6 +16,11 @@
"java64_home" : "/usr/jdk64/jdk1.6.0_31",
"jdk_bins" : { "32" : "jdk-6u31-linux-x64.bin", "64" : "jdk-6u31-linux-x64.bin" }
},
+
+"xml_configurations_keys" : ["hdfs_site", "hdfs_site", "core_site", "mapred_queue_acls",
+ "hadoop_policy", "mapred_site", "capacity_scheduler", "hbase_site",
+ "hbase_policy", "hive_site", "oozie_site"],
+
"configurations" : {
"hdfs_site" : { "dfs.block.size" : "256000000", "dfs.replication" : "1" } ,
"core_site" : { "fs.default.name" : "hrt8n36.cc1.ygridcore.net" } ,
@@ -26,19 +31,47 @@
"mapred_site" : {"mapred.jobtracker.taskScheduler" : "org.apache.hadoop.mapred.CapacityTaskScheduler",
"mapred.queue.names" : "hive,pig,default"},
"capacity_scheduler" : {"mapred.capacity-scheduler.queue.default.capacity" : "100",
- "mapred.capacity-scheduler.queue.default.supports-priorit" : "false"}
+ "mapred.capacity-scheduler.queue.default.supports-priorit" : "false"},
+"health_check" : {"security_enabled" : "true",
+ "task_bin_exe" : "ls"},
+"hadoop_env" : {"hadoop_piddirprefix" : "/tmp"},
+
+"hbase_site" : {"hbase.cluster.distributed" : "true"},
+"hbase_policy" : {"security.client.protocol.acl" : "*"},
+"hadoop_metrics" : {"ganglia_server_host" : "localhost"},
+"hive_site" : {"hive.exec.scratchdir" : "/tmp"},
+"oozie_site" : {"oozie.service.ActionService.executor.ext.classes" : "org.apache.oozie.action.hadoop.HiveActionExecutor, org.apache.oozie.action.hadoop.SqoopActionExecutor,org.apache.oozie.action.email.EmailActionExecutor,"}
},
"roleCommands": [
{
-"role" : "NAMENODE",
-"cmd": "START",
-"roleParams" : {
-}
+ "role": "NAMENODE",
+ "cmd": "INSTALL",
+ "roleParams" : {}
+},
+{
+ "role": "DATANODE",
+ "cmd": "INSTALL",
+ "roleParams" : {}
+},
+{
+ "role": "HBASE_MASTER",
+ "cmd": "INSTALL",
+ "roleParams" : {}
+},
+{
+ "role": "HIVE_SERVER",
+ "cmd": "INSTALL",
+ "roleParams" : {}
+},
+{
+ "role": "HIVE_CLIENT",
+ "cmd": "INSTALL",
+ "roleParams" : {}
},
{
-"role": "DATANODE",
-"cmd": "INSTALL",
-"roleParams" : {}
+ "role": "OOZIE_SERVER",
+ "cmd": "INSTALL",
+ "roleParams" : {}
}
]
}