Examples of CmServiceDef


Examples of com.vmware.bdd.plugin.clouderamgr.model.CmServiceDef

            return o1.getType().compareTo(o2.getType());
         }
      });

      Iterator<CmServiceDef> serviceDefIterator = cluster.getServices().iterator();
      CmServiceDef hueService = null;
      while (serviceDefIterator.hasNext() || hueService != null) {
         ApiServiceList serviceList = new ApiServiceList();
         try {
            if (hueService != null) {
               CmServiceDef hdfsService = cluster.serviceDefOfType("HDFS");
               CmRoleDef namenodeRole = null;
               for (CmRoleDef roleDef : hdfsService.getRoles()) {
                  if (roleDef.getType().getDisplayName().equals("HDFS_NAMENODE")) {
                     namenodeRole = roleDef;
                     break;
                  }
               }
               if (namenodeRole != null) {
                  // namenode role def should already synced the role ID from CM
                  hueService.addConfig(Constants.CONFIG_HUE__WEBHDFS, namenodeRole.getName());
                  addApiService(serviceList, cluster, hueService, servicesConfigured);
               }
               hueService = null;
            }

            while (serviceDefIterator.hasNext()) {
               CmServiceDef serviceDef = serviceDefIterator.next();
               if (serviceDef.getType().getDisplayName().equals("HUE")) {
                  hueService = serviceDef;
                  break;
               }
               addApiService(serviceList, cluster, serviceDef, servicesConfigured);
            }
View Full Code Here

Examples of com.vmware.bdd.plugin.clouderamgr.model.CmServiceDef

    * @param endProgress
    * @throws Exception
    */
   private void startNnHA(final CmClusterDef cluster, final ClusterReportQueue reportQueue, final int endProgress) throws Exception {
      // Initialize Zookeeper
      CmServiceDef zkService = cluster.serviceDefOfType("ZOOKEEPER");

      executeAndReport("Initializing Zookeeper", apiResourceRootV6.getClustersResource().getServicesResource(cluster.getName())
            .zooKeeperInitCommand(zkService.getName()),
            INVALID_PROGRESS, cluster.getCurrentReport(), reportQueue, false);

      startService(cluster, zkService, (cluster.getCurrentReport().getProgress() + endProgress) / 2, reportQueue);

      // Initialize High Availability state in Zookeeper
      CmServiceDef hdfsService = cluster.serviceDefOfType("HDFS");
      for (CmRoleDef roleDef : hdfsService.getRoles()) {
         if (roleDef.getType().getDisplayName().equals("HDFS_FAILOVER_CONTROLLER") && roleDef.isActive()) {
            executeAndReport("Initialize High Availability state in Zookeeper", apiResourceRootV6.getClustersResource().getServicesResource(cluster.getName())
                  .getRoleCommandsResource(hdfsService.getName())
                  .hdfsInitializeAutoFailoverCommand(new ApiRoleNameList(ImmutableList.<String>builder().add(roleDef.getName()).build())),
                  INVALID_PROGRESS, cluster.getCurrentReport(), reportQueue, false);
            break;
         }
      }

      // Start JournalNodes
      ApiRoleNameList jnRoles = new ApiRoleNameList();
      for (CmRoleDef roleDef : hdfsService.getRoles()) {
         if (roleDef.getType().getDisplayName().equals("HDFS_JOURNALNODE")) {
            jnRoles.add(roleDef.getName());
         }
      }
      executeAndReport("Starting JournalNodes", apiResourceRootV6.getClustersResource().getServicesResource(cluster.getName())
            .getRoleCommandsResource(hdfsService.getName()).startCommand(jnRoles),
            INVALID_PROGRESS, cluster.getCurrentReport(), reportQueue, false);

      /*
      1) Format active NN
      2) Intialize shared edits directory of NameNode
      3) Start active NN
      */
      for (CmRoleDef roleDef : hdfsService.getRoles()) {
         if (roleDef.getType().getDisplayName().equals("HDFS_NAMENODE") && roleDef.isActive()) {
            ApiRoleNameList nnRoles = new ApiRoleNameList();
            nnRoles.add(roleDef.getName());
            try {
               executeAndReport("Formatting Active Namenode",
                     apiResourceRootV6.getClustersResource().getServicesResource(cluster.getName())
                           .getRoleCommandsResource(hdfsService.getName()).formatCommand(nnRoles),
                     INVALID_PROGRESS, cluster.getCurrentReport(), reportQueue, false);
            } catch (Exception e){
               // ignore
            }

            try {
               executeAndReport("Initializing Shared Edits Directory of Namenode",
                     apiResourceRootV6.getClustersResource().getServicesResource(cluster.getName())
                           .getRoleCommandsResource(hdfsService.getName()).hdfsInitializeSharedDirCommand(nnRoles),
                     INVALID_PROGRESS, cluster.getCurrentReport(), reportQueue, false);
            } catch (Exception e) {
               // ignore
            }

            executeAndReport("Starting Active Namenode", apiResourceRootV6.getClustersResource().getServicesResource(cluster.getName())
                  .getRoleCommandsResource(hdfsService.getName()).startCommand(nnRoles),
                  INVALID_PROGRESS, cluster.getCurrentReport(), reportQueue, true);

            break;
         }
      }

      // Wait for active NameNode start up
      Thread.sleep(10 * 1000); // TODO: wait until standby NN started responding to RPCs

      /*
      1) Bootstrapping standby NN
      2) Start standby NN
       */
      for (CmRoleDef roleDef : hdfsService.getRoles()) {
         if (roleDef.getType().getDisplayName().equals("HDFS_NAMENODE") && !roleDef.isActive()) {

            ApiRoleNameList nnRoles = new ApiRoleNameList();
            nnRoles.add(roleDef.getName());
            executeAndReport("Boostrapping Standby Namenode",
                  apiResourceRootV6.getClustersResource().getServicesResource(cluster.getName())
                        .getRoleCommandsResource(hdfsService.getName()).hdfsBootstrapStandByCommand(nnRoles),
                  INVALID_PROGRESS, cluster.getCurrentReport(), reportQueue, true);

            executeAndReport("Starting Standby Namenode", apiResourceRootV6.getClustersResource().getServicesResource(cluster.getName())
                  .getRoleCommandsResource(hdfsService.getName()).startCommand(nnRoles),
                  INVALID_PROGRESS, cluster.getCurrentReport(), reportQueue, true);

            break;
         }
      }

      // Start Failover controllers
      List<String> failOverRoles = new ArrayList<String>();
      for (CmRoleDef roleDef : hdfsService.getRoles()) {
         if (roleDef.getType().getDisplayName().equals("HDFS_FAILOVER_CONTROLLER")) {
            failOverRoles.add(roleDef.getName());
         }
      }

      executeAndReport("Starting Failover Controllers", apiResourceRootV6.getClustersResource().getServicesResource(cluster.getName())
            .getRoleCommandsResource(hdfsService.getName()).startCommand(new ApiRoleNameList(failOverRoles)),
            INVALID_PROGRESS, cluster.getCurrentReport(), reportQueue, true);

      // Wait for standby NameNode start up
      Thread.sleep(10 * 1000); // TODO: wait until standby NN started responding to RPCs

      // Create HDFS /tmp directory
      executeAndReport("Creating HDFS Temp Dir", apiResourceRootV6.getClustersResource()
            .getServicesResource(cluster.getName()).hdfsCreateTmpDir(hdfsService.getName()),
            INVALID_PROGRESS, cluster.getCurrentReport(), reportQueue, true);

      // Start all other roles;
      startService(cluster, hdfsService, endProgress, reportQueue);
   }
View Full Code Here
TOP
Copyright © 2018 www.massapi.com. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.