controller.createHostComponents(requests);
}
private void createHDFSServiceConfigs(boolean version1) throws AmbariException {
String clusterName = "c1";
ClusterRequest r = new ClusterRequest(null, clusterName, "HDP-0.1", null);
controller.createCluster(r);
clusters.getCluster(clusterName).setDesiredStackVersion(new StackId("HDP-0.1"));
String serviceName = "HDFS";
createService(clusterName, serviceName, null);
String componentName1 = "NAMENODE";
String componentName2 = "DATANODE";
String componentName3 = "HDFS_CLIENT";
Map<String, String> mapRequestProps = new HashMap<String, String>();
mapRequestProps.put("context", "Called from a test");
createServiceComponent(clusterName, serviceName, componentName1,
State.INIT);
createServiceComponent(clusterName, serviceName, componentName2,
State.INIT);
createServiceComponent(clusterName, serviceName, componentName3,
State.INIT);
String host1 = "h1";
clusters.addHost(host1);
clusters.getHost("h1").setOsType("centos5");
clusters.getHost("h1").persist();
String host2 = "h2";
clusters.addHost(host2);
clusters.getHost("h2").setOsType("centos6");
clusters.getHost("h2").persist();
clusters.mapHostToCluster(host1, clusterName);
clusters.mapHostToCluster(host2, clusterName);
createServiceComponentHost(clusterName, null, componentName1,
host1, null);
createServiceComponentHost(clusterName, serviceName, componentName2,
host1, null);
createServiceComponentHost(clusterName, serviceName, componentName2,
host2, null);
createServiceComponentHost(clusterName, serviceName, componentName3,
host1, null);
createServiceComponentHost(clusterName, serviceName, componentName3,
host2, null);
// Create configs
if (version1) {
Map<String, String> configs = new HashMap<String, String>();
configs.put(NAMENODE_PORT_V1, "localhost:${ambari.dfs.datanode.http.port}");
configs.put(DATANODE_PORT, "localhost:70075");
configs.put("ambari.dfs.datanode.http.port", "70070");
ConfigurationRequest cr = new ConfigurationRequest(clusterName,
"hdfs-site", "version1", configs);
ClusterRequest crequest = new ClusterRequest(null, clusterName, null, null);
crequest.setDesiredConfig(cr);
controller.updateClusters(Collections.singleton(crequest), new HashMap<String,String>());
} else {
Map<String, String> configs = new HashMap<String, String>();
configs.put(NAMENODE_PORT_V2, "localhost:70071");
configs.put(DATANODE_PORT, "localhost:70075");
ConfigurationRequest cr = new ConfigurationRequest(clusterName,
"hdfs-site", "version2", configs);
ClusterRequest crequest = new ClusterRequest(null, clusterName, null, null);
crequest.setDesiredConfig(cr);
controller.updateClusters(Collections.singleton(crequest), new HashMap<String,String>());
}
}