@Override public void start(){
  if (!started.compareAndSet(false,true)) {
    log.info("Attempting to start an already started ContainerManager");
    return;
  }
  metrics.start();
  service.onInit();
  log.info("Starting YarnContainerManager.");
  amClient.init(hConfig);
  amClient.start();
  lifecycle.onInit();
  if (lifecycle.shouldShutdown()) {
    clusterManagerCallback.onError(new SamzaException("Invalid resource request."));
  }
  log.info("Finished starting YarnContainerManager");
}

@ Override public void start ( ) { if ( ! started . compareAndSet ( false , true ) ) { log . info ( "Attempting to start an already started ContainerManager" ) ; return ; } metrics . start ( ) ; service . onInit ( ) ; log . info ( "Starting YarnContainerManager." ) ; amClient . init ( hConfig ) ; amClient . start ( ) ; lifecycle . onInit ( ) ; if ( lifecycle . shouldShutdown ( ) ) { clusterManagerCallback . onError ( new SamzaException ( "Invalid resource request." ) ) ; } log . info ( "Finished starting YarnContainerManager" ) ; }
starts the yarncontainermanager and initialize all its sub - systems . attempting to start an already started container manager will return immediately .
