Search in sources :

Example 1 with HadoopHostedService

use of org.talend.repository.hadoopcluster.configurator.HadoopHostedService in project tbd-studio-se by Talend.

the class ClouderaHadoopConfig512Test method testConfigurator_cdh512.

// FIXME: use Mock of Cloudera API or TestContainers framework (https://www.testcontainers.org/) to be able to test it.
@Ignore("ignored in buildme system, comment out this line when run locally")
@Test
public void testConfigurator_cdh512() throws Exception {
    String folder = "/tmp/cm";
    // 512
    String url = "http://163.172.6.25:7180";
    HadoopConfigurator configurator = new HadoopConfiguratorBuilder().withVendor(HadoopConfigurationManager.CLOUDERA_MANAGER).withBaseURL(new URL(url)).withUsernamePassword("talendwiz", "83RpC5MWcnZPbQyVaNxF").build();
    TestUtil.checkCluster(configurator, "Cluster 1");
    HadoopCluster cluster = configurator.getCluster(configurator.getAllClusters().get(0));
    Map<HadoopHostedService, HadoopClusterService> services = cluster.getHostedServices();
    TestUtil.checkService(services, HadoopHostedService.HDFS, HadoopHostedService.YARN, HadoopHostedService.HIVE, HadoopHostedService.HBASE);
    TestUtil.checkServiceConf(services.get(HadoopHostedService.HDFS), "hdfs-site.xml", "core-site.xml");
    TestUtil.checkServiceConf(services.get(HadoopHostedService.YARN), "yarn-site.xml", "hdfs-site.xml", "core-site.xml", "mapred-site.xml");
    TestUtil.checkServiceConf(services.get(HadoopHostedService.HIVE), "hive-site.xml", "yarn-site.xml", "hdfs-site.xml", "core-site.xml", "mapred-site.xml");
    TestUtil.checkServiceConf(services.get(HadoopHostedService.HBASE), "hbase-site.xml", "hdfs-site.xml", "core-site.xml");
}
Also used : HadoopConfiguratorBuilder(org.talend.repository.hadoopcluster.configurator.HadoopConfiguratorBuilder) HadoopHostedService(org.talend.repository.hadoopcluster.configurator.HadoopHostedService) HadoopConfigurator(org.talend.repository.hadoopcluster.configurator.HadoopConfigurator) HadoopClusterService(org.talend.repository.hadoopcluster.configurator.HadoopClusterService) URL(java.net.URL) HadoopCluster(org.talend.repository.hadoopcluster.configurator.HadoopCluster) Ignore(org.junit.Ignore) Test(org.junit.Test)

Example 2 with HadoopHostedService

use of org.talend.repository.hadoopcluster.configurator.HadoopHostedService in project tbd-studio-se by Talend.

the class ClouderaHadoopConfig611Test method testConfigurator_cdh611.

// FIXME: use Mock of Cloudera API or TestContainers framework (https://www.testcontainers.org/) to be able to test it.
@Ignore("ignored in buildme system, comment out this line when run locally")
@Test
public void testConfigurator_cdh611() throws Exception {
    String folder = "/tmp/cm";
    // 611
    String url = "https://tal-qa300.talend.lan:7183";
    String trustStoreFile = "tal-qa300.jks";
    String trustStorePwd = "ROv7PbRuQpB4o3KkyY0FUPfn8NAClUCraPF0APHawb8";
    String trustStoreType = "jks";
    HadoopConfigurator configurator = TestUtil.getConfigurator(url, trustStoreFile, trustStoreType, trustStorePwd);
    TestUtil.checkCluster(configurator, "Cluster 1");
    HadoopCluster cluster = configurator.getCluster(configurator.getAllClusters().get(0));
    Map<HadoopHostedService, HadoopClusterService> services = cluster.getHostedServices();
    TestUtil.checkService(services, HadoopHostedService.HDFS, HadoopHostedService.YARN, HadoopHostedService.HIVE, HadoopHostedService.HBASE);
    TestUtil.checkServiceConf(services.get(HadoopHostedService.HDFS), "hdfs-site.xml", "core-site.xml");
    TestUtil.checkServiceConf(services.get(HadoopHostedService.YARN), "yarn-site.xml", "hdfs-site.xml", "core-site.xml", "mapred-site.xml");
    TestUtil.checkServiceConf(services.get(HadoopHostedService.HIVE), "hive-site.xml", "yarn-site.xml", "hdfs-site.xml", "core-site.xml", "mapred-site.xml");
    TestUtil.checkServiceConf(services.get(HadoopHostedService.HBASE), "hbase-site.xml", "hdfs-site.xml", "core-site.xml");
}
Also used : HadoopHostedService(org.talend.repository.hadoopcluster.configurator.HadoopHostedService) HadoopConfigurator(org.talend.repository.hadoopcluster.configurator.HadoopConfigurator) HadoopClusterService(org.talend.repository.hadoopcluster.configurator.HadoopClusterService) HadoopCluster(org.talend.repository.hadoopcluster.configurator.HadoopCluster) Ignore(org.junit.Ignore) Test(org.junit.Test)

Example 3 with HadoopHostedService

use of org.talend.repository.hadoopcluster.configurator.HadoopHostedService in project tbd-studio-se by Talend.

the class RetrieveRemoteConfsService method getConfsMap.

@Override
public Map<String, Map<String, String>> getConfsMap() throws MalformedURLException {
    if (confsMap != null) {
        return confsMap;
    }
    confsMap = new LinkedHashMap<>();
    Map<HadoopHostedService, HadoopClusterService> services = cluster.getHostedServices();
    for (HadoopHostedService serviceName : services.keySet()) {
        HadoopClusterService service = services.get(serviceName);
        Map<String, String> configuration = service.getConfiguration();
        confsMap.put(serviceName.name(), configuration);
    }
    return confsMap;
}
Also used : HadoopHostedService(org.talend.repository.hadoopcluster.configurator.HadoopHostedService) HadoopClusterService(org.talend.repository.hadoopcluster.configurator.HadoopClusterService)

Example 4 with HadoopHostedService

use of org.talend.repository.hadoopcluster.configurator.HadoopHostedService in project tbd-studio-se by Talend.

the class TalendHadoopConfiguratorApiDemo method main.

public static void main(String[] args) {
    try {
        String folder = "/tmp/cm";
        // HadoopConfigurator configurator = new HadoopConfiguratorBuilder()
        // .withVendor(HadoopConfigurationManager.CLOUDERA_MANAGER).withBaseURL(new
        // URL("http://192.168.32.35:7180"))
        // .withUsernamePassword("admin", "admin").build();
        HadoopConfigurator configurator = new HadoopConfiguratorBuilder().withVendor(HadoopConfigurationManager.AMBARI).withBaseURL(new URL("http://192.168.33.12:8080")).withUsernamePassword("admin", "talend").build();
        // HadoopConfigurator configurator = new
        // HadoopConfiguratorBuilder().withVendor(HadoopConfigurationManager.AMBARI)
        // .withBaseURL(new URL("http://192.168.33.74:8080")).withUsernamePassword("admin", "admin").build();
        System.out.println(configurator.getAllClusters());
        HadoopCluster cluster = configurator.getCluster(configurator.getAllClusters().get(0));
        Map<HadoopHostedService, HadoopClusterService> services = cluster.getHostedServices();
        for (HadoopHostedService serviceName : services.keySet()) {
            HadoopClusterService service = services.get(serviceName);
            System.out.println("---------------------------------");
            System.out.println("Service Name:" + serviceName);
            Map<String, String> configuration = service.getConfiguration();
            for (String key : configuration.keySet()) {
                System.out.println(key + ":" + configuration.get(key));
            }
            System.out.println("---------------------------------");
            service.exportConfigurationToXml(folder + "/" + serviceName);
        // service.exportConfigurationToXml(folder);
        }
    } catch (MalformedURLException e) {
        e.printStackTrace();
    }
}
Also used : HadoopConfiguratorBuilder(org.talend.repository.hadoopcluster.configurator.HadoopConfiguratorBuilder) MalformedURLException(java.net.MalformedURLException) HadoopHostedService(org.talend.repository.hadoopcluster.configurator.HadoopHostedService) HadoopConfigurator(org.talend.repository.hadoopcluster.configurator.HadoopConfigurator) HadoopClusterService(org.talend.repository.hadoopcluster.configurator.HadoopClusterService) URL(java.net.URL) HadoopCluster(org.talend.repository.hadoopcluster.configurator.HadoopCluster)

Example 5 with HadoopHostedService

use of org.talend.repository.hadoopcluster.configurator.HadoopHostedService in project tbd-studio-se by Talend.

the class HadoopCMCluster method getHostedServices.

/*
     * (non-Javadoc)
     *
     * @see org.talend.repository.hadoopcluster.configurator.HadoopCluster#getHostedServices()
     */
@Override
public Map<HadoopHostedService, HadoopClusterService> getHostedServices() {
    Map<HadoopHostedService, HadoopClusterService> servicesMapping = new HashMap<HadoopHostedService, HadoopClusterService>();
    ApiServiceList services;
    try {
        services = this.serviceAPI.readServices(this.clusterName, DEFAULT_VIEW_NAME);
        for (ApiService service : services.getItems()) {
            if (HadoopHostedService.isSupport(service.getType())) {
                HadoopCMClusterService clusterService = new HadoopCMClusterService(this.clusterName, service.getName(), this.serviceAPI, blacklistParams);
                if (clusterService.hasConfigurations()) {
                    servicesMapping.put(HadoopHostedService.fromString(service.getType()), clusterService);
                }
            }
        }
    } catch (ApiException e) {
        throw new RuntimeException(e);
    }
    return servicesMapping;
}
Also used : HadoopHostedService(org.talend.repository.hadoopcluster.configurator.HadoopHostedService) HashMap(java.util.HashMap) ApiService(com.cloudera.api.swagger.model.ApiService) ApiServiceList(com.cloudera.api.swagger.model.ApiServiceList) HadoopClusterService(org.talend.repository.hadoopcluster.configurator.HadoopClusterService) ApiException(com.cloudera.api.swagger.client.ApiException)

Aggregations

HadoopClusterService (org.talend.repository.hadoopcluster.configurator.HadoopClusterService)10 HadoopHostedService (org.talend.repository.hadoopcluster.configurator.HadoopHostedService)10 HadoopCluster (org.talend.repository.hadoopcluster.configurator.HadoopCluster)4 HadoopConfigurator (org.talend.repository.hadoopcluster.configurator.HadoopConfigurator)4 HashMap (java.util.HashMap)3 Ignore (org.junit.Ignore)3 Test (org.junit.Test)3 URL (java.net.URL)2 HadoopConfiguratorBuilder (org.talend.repository.hadoopcluster.configurator.HadoopConfiguratorBuilder)2 ApiException (com.cloudera.api.swagger.client.ApiException)1 ApiService (com.cloudera.api.swagger.model.ApiService)1 ApiServiceList (com.cloudera.api.swagger.model.ApiServiceList)1 MalformedURLException (java.net.MalformedURLException)1 ArrayList (java.util.ArrayList)1 ApiConfigFile (org.apache.ambari.api.model.ApiConfigFile)1