Main entry points for launching Flink clusters on Mesos, supporting both session and per-job deployment modes with full integration into the Mesos resource management framework.
Entry point for launching long-running Flink session clusters on Mesos that can execute multiple jobs over their lifetime.
/**
* Entry point for Mesos session clusters
* Extends SessionClusterEntrypoint with Mesos-specific resource management
*/
public class MesosSessionClusterEntrypoint extends SessionClusterEntrypoint {
/**
* Constructor for Mesos session cluster entry point
* @param config - Flink configuration including Mesos settings
*/
public MesosSessionClusterEntrypoint(Configuration config);
/**
* Main entry point for starting a Mesos session cluster
* @param args - Command line arguments for cluster configuration
*/
public static void main(String[] args);
}Usage Example:
import org.apache.flink.mesos.entrypoint.MesosSessionClusterEntrypoint;
import org.apache.flink.configuration.Configuration;
import org.apache.flink.mesos.configuration.MesosOptions;
// Configure Mesos session cluster
Configuration config = new Configuration();
config.setString(MesosOptions.MASTER_URL, "mesos://master:5050");
config.setString(MesosOptions.RESOURCEMANAGER_FRAMEWORK_NAME, "flink-session");
config.setInteger(MesosOptions.FAILOVER_TIMEOUT_SECONDS, 600);
// Start from command line
MesosSessionClusterEntrypoint.main(new String[]{
"--configDir", "/path/to/config"
});Entry point for launching Flink per-job clusters on Mesos where each job runs in its own dedicated cluster environment.
/**
* Entry point for Mesos per-job clusters
* Extends JobClusterEntrypoint with Mesos-specific lifecycle management
*/
public class MesosJobClusterEntrypoint extends JobClusterEntrypoint {
/**
* Constructor for Mesos per-job cluster entry point
* @param config - Flink configuration including job and Mesos settings
*/
public MesosJobClusterEntrypoint(Configuration config);
/**
* Main entry point for starting a Mesos per-job cluster
* @param args - Command line arguments including job class specification
*/
public static void main(String[] args);
}Usage Example:
import org.apache.flink.mesos.entrypoint.MesosJobClusterEntrypoint;
import org.apache.flink.configuration.Configuration;
import org.apache.flink.mesos.configuration.MesosOptions;
// Configure Mesos per-job cluster
Configuration config = new Configuration();
config.setString(MesosOptions.MASTER_URL, "mesos://master:5050");
config.setString(MesosOptions.RESOURCEMANAGER_FRAMEWORK_NAME, "flink-job");
// Start from command line with job specification
MesosJobClusterEntrypoint.main(new String[]{
"--job-classname", "com.example.MyStreamingJob",
"--configDir", "/path/to/config"
});Entry point for running TaskManager processes within Mesos containers, automatically launched by the Mesos resource manager.
/**
* Entry point for TaskManager processes in Mesos containers
* Handles TaskManager initialization within Mesos task environment
*/
public class MesosTaskExecutorRunner {
/**
* Main entry point for TaskManager processes in Mesos containers
* @param args - Arguments passed from Mesos task launch
*/
public static void main(String[] args);
}Usage Note:
This class is not intended for direct user invocation. It is automatically launched by the Mesos ResourceManager when TaskManager containers are started on Mesos agents.
All entry points require proper Mesos configuration to function correctly:
// Mesos master URL
config.setString(MesosOptions.MASTER_URL, "mesos://master:5050");
// Framework identification
config.setString(MesosOptions.RESOURCEMANAGER_FRAMEWORK_NAME, "my-flink-framework");
// Optional but recommended
config.setInteger(MesosOptions.FAILOVER_TIMEOUT_SECONDS, 600);
config.setString(MesosOptions.RESOURCEMANAGER_FRAMEWORK_ROLE, "production");For production deployments, configure high availability:
// Enable HA
config.setString("high-availability", "zookeeper");
config.setString("high-availability.zookeeper.quorum", "zk1:2181,zk2:2181,zk3:2181");
config.setString("high-availability.storageDir", "hdfs://namenode/flink/ha");Entry points handle common Mesos integration errors:
All entry points in this module are deprecated as of Flink 1.13. Users should migrate to:
org.apache.flink.kubernetes.entrypoint.* classesorg.apache.flink.yarn.entrypoint.* classes/**
* Base configuration class for all Mesos entry points
*/
public abstract class MesosEntrypoint {
protected Configuration configuration;
protected MesosServices mesosServices;
}