/** * @return Mesos Protos FrameworkInfo. */ public Protos.FrameworkInfo getFrameworkInfo() throws Exception { final int frameworkFailoverTimeout = 0; Protos.FrameworkInfo.Builder frameworkBuilder = Protos.FrameworkInfo.newBuilder() .setName(IGNITE_FRAMEWORK_NAME) .setUser(getUser()) .setRole(getRole()) .setFailoverTimeout(frameworkFailoverTimeout); if (System.getenv(MESOS_CHECKPOINT) != null) { log.info("Enabling checkpoint for the framework"); frameworkBuilder.setCheckpoint(true); } if (System.getenv(MESOS_AUTHENTICATE) != null) frameworkBuilder.setPrincipal(System.getenv(DEFAULT_PRINCIPAL)); else frameworkBuilder.setPrincipal("ignite-framework-java"); return frameworkBuilder.build(); }
private void start() { try { FrameworkInfo frameworkInfo = FrameworkInfo.newBuilder() .setUser("") // Let Mesos fill in the user. .setCheckpoint(conf.getBoolean("bsp.master.port", false)) .setRole(conf.get("hama.mesos.role", "*")) .setName( "Hama: (Master Port: " + conf.get("bsp.groom.rpc.port") + "," + " WebUI port: " + conf.get("bsp.http.groomserver.port") + ")").build(); String master = conf.get("hama.mesos.master", "local"); driver = new MesosSchedulerDriver(this, frameworkInfo, master); driver.start(); } catch (Exception e) { // If the MesosScheduler can't be loaded, the JobTracker won't be useful // at all, so crash it now so that the user notices. LOG.fatal("Failed to start MesosScheduler", e); System.exit(1); } }
FrameworkInfo frameworkInfo = FrameworkInfo .newBuilder() .setUser("") // Let Mesos fill in the user. .setCheckpoint(conf.getBoolean("mapred.mesos.checkpoint", false)) .setRole(conf.get("mapred.mesos.role", "*"))
.setUser("") // Have Mesos fill in the current user.
.setUser(targetUser == null ? "" : targetUser) .setName(mesosCloud.getFrameworkName()) .setRole(mesosCloud.getRole())
.setName(frameworkConfig.getFrameworkName()) .setPrincipal(frameworkConfig.getPrincipal()) .setUser(frameworkConfig.getUser()) .setFailoverTimeout(TWO_WEEK_SEC) .setCheckpoint(true);
final Protos.FrameworkInfo.Builder builder = Protos.FrameworkInfo.newBuilder() .setRole(serviceConfig.getRole()) .setUser(serviceConfig.getUser()) .setName(targetConfig.getServiceConfig().getName()) .setPrincipal(serviceConfig.getPrincipal())
@Inject REEFScheduler(final REEFEventHandlers reefEventHandlers, final MesosRemoteManager mesosRemoteManager, final REEFExecutors executors, final REEFFileNames fileNames, final EStage<SchedulerDriver> schedulerDriverEStage, final ClasspathProvider classpath, @Parameter(JobIdentifier.class) final String jobIdentifier, @Parameter(MesosMasterIp.class) final String masterIp, @Parameter(MesosSlavePort.class) final int slavePort, @Parameter(JobSubmissionDirectoryPrefix.class) final String jobSubmissionDirectoryPrefix) { this.mesosRemoteManager = mesosRemoteManager; this.reefEventHandlers = reefEventHandlers; this.executors = executors; this.fileNames = fileNames; this.jobSubmissionDirectoryPrefix = jobSubmissionDirectoryPrefix; this.reefTarUri = getReefTarUri(jobIdentifier); this.classpath = classpath; this.schedulerDriverEStage = schedulerDriverEStage; final Protos.FrameworkInfo frameworkInfo = Protos.FrameworkInfo.newBuilder() .setUser("") .setName(REEF_JOB_NAME_PREFIX + jobIdentifier) .build(); this.mesosMaster = new MesosSchedulerDriver(this, frameworkInfo, masterIp); this.mesosSlavePort = slavePort; }
private SchedulerDriver getSchedulerDriver(final TaskScheduler taskScheduler, final JobEventBus jobEventBus, final FrameworkIDService frameworkIDService) { Optional<String> frameworkIDOptional = frameworkIDService.fetch(); Protos.FrameworkInfo.Builder builder = Protos.FrameworkInfo.newBuilder(); if (frameworkIDOptional.isPresent()) { builder.setId(Protos.FrameworkID.newBuilder().setValue(frameworkIDOptional.get()).build()); } Optional<String> role = env.getMesosRole(); String frameworkName = MesosConfiguration.FRAMEWORK_NAME; if (role.isPresent()) { builder.setRole(role.get()); frameworkName += "-" + role.get(); } builder.addCapabilitiesBuilder().setType(Protos.FrameworkInfo.Capability.Type.PARTITION_AWARE); MesosConfiguration mesosConfig = env.getMesosConfiguration(); Protos.FrameworkInfo frameworkInfo = builder.setUser(mesosConfig.getUser()).setName(frameworkName) .setHostname(mesosConfig.getHostname()).setFailoverTimeout(MesosConfiguration.FRAMEWORK_FAILOVER_TIMEOUT_SECONDS) .setWebuiUrl(WEB_UI_PROTOCOL + env.getFrameworkHostPort()).setCheckpoint(true).build(); return new MesosSchedulerDriver(new SchedulerEngine(taskScheduler, facadeService, jobEventBus, frameworkIDService, statisticManager), frameworkInfo, mesosConfig.getUrl()); }
private FrameworkInfo.Builder createFrameworkBuilder() throws IOException { Number failoverTimeout = Optional.fromNullable((Number) mesosStormConf.get(CONF_MASTER_FAILOVER_TIMEOUT_SECS)).or(24 * 7 * 3600); String role = Optional.fromNullable((String) mesosStormConf.get(CONF_MESOS_ROLE)).or("*"); Boolean checkpoint = Optional.fromNullable((Boolean) mesosStormConf.get(CONF_MESOS_CHECKPOINT)).or(false); String frameworkUser = Optional.fromNullable((String) mesosStormConf.get(CONF_MESOS_FRAMEWORK_USER)).or(""); FrameworkInfo.Builder finfo = FrameworkInfo.newBuilder() .setName(frameworkName) .setFailoverTimeout(failoverTimeout.doubleValue()) .setUser(frameworkUser) .setRole(role) .setCheckpoint(checkpoint); String id = _state.get(FRAMEWORK_ID); if (id != null) { finfo.setId(FrameworkID.newBuilder().setValue(id).build()); } return finfo; } // Super ugly method but it only gets called once.
public Protos.FrameworkInfo.Builder create() { Protos.FrameworkInfo.Builder frameworkBuilder = Protos.FrameworkInfo.newBuilder() .setName(applicationName) .setUser("root") .addRoles(mesosConfig.getRole()) .addCapabilities(Protos.FrameworkInfo.Capability.newBuilder().setType(Protos.FrameworkInfo.Capability.Type.MULTI_ROLE).build()) .setCheckpoint(true) .setFailoverTimeout(150.0) .setId(stateRepository.getFrameworkID().orElseGet(() -> Protos.FrameworkID.newBuilder().setValue("").build())); Protos.Credential credential = credentialFactory.create(); if (credential.isInitialized()) { logger.debug("Adding framework principal: " + credential.getPrincipal()); frameworkBuilder.setPrincipal(credential.getPrincipal()); } Optional.ofNullable(mesosConfig.getWebuiUrl()).ifPresent(frameworkBuilder::setWebuiUrl); return frameworkBuilder; } }
public Protos.FrameworkInfo asInfo() { Protos.FrameworkInfo.Builder builder = Protos.FrameworkInfo.newBuilder() .setName(name) .setId(Protos.FrameworkID .newBuilder() .setValue(id)) .setPrincipal(principal) .setRole(role) .setUser(user) .setCheckpoint(checkpoint) .setFailoverTimeout(failoverTimeout.getSeconds()); return builder.build(); }
@Override public void run() { // Have Mesos fill in the current user. FrameworkInfo framework = FrameworkInfo.newBuilder().setUser("") .setName("Gitlab CI Framework").build(); driver = new MesosSchedulerDriver(GitlabScheduler.this, framework, mesosMaster); if (driver.run() != Status.DRIVER_STOPPED) { LOGGER.severe("The mesos driver was aborted!"); } driver = null; } }).start();
MesosOptions.RESOURCEMANAGER_FRAMEWORK_ROLE)); frameworkInfo.setUser(flinkConfig.getString( MesosOptions.RESOURCEMANAGER_FRAMEWORK_USER));