cluster-bootstrap-api/src/main/java/com/streamsets/pipeline/BootstrapEmrBatch.java
public static void main(String[] args) throws Exception {
    EmrBinding binding = null;
    try {
      binding = new EmrBinding(args);
      binding.init();
      binding.awaitTermination(); // killed by ClusterProviderImpl before returning
    } catch (Exception ex) {
      String msg = "Error trying to invoke BootstrapEmrBatch.main: " + ex;
      throw new IllegalStateException(msg, ex);
    } finally {
      try {
        if (binding != null) {
          binding.close();
        }
      } catch (Exception ex) {
        LOG.warn("Error on binding close: " + ex, ex);
      }
    }
  }
public static void main(String[] args) throws Exception {
    EmrBinding binding = null;
    try {
      binding = new EmrBinding(args);
      binding.init();
      binding.awaitTermination(); // killed by ClusterProviderImpl before returning
    } catch (Exception ex) {
      String msg = "Error trying to invoke BootstrapEmrBatch.main: " + ex;
      throw new IllegalStateException(msg, ex);
    } finally {
      try {
        if (binding != null) {
          binding.close();
        }
      } catch (Exception ex) {
        LOG.warn("Error on binding close: " + ex, ex);
      }
    }
  }
Bootstrapping the Driver which starts a EMR job on cluster