5 stars based on
The Mesos master and slave can take a variety of configuration options through command-line arguments, or environment variables. A list of the available options can be seen by running mesos-master --help or mesos-slave --help.
Each option can be set in two ways:. If you have special compilation requirements, please refer to. Additionally, this documentation lists only a recent snapshot of the options in Mesos.
A definitive source for which flags your version of Mesos supports can be found by running the binary with the flag --helpfor example mesos-master --help. The bundled libprocess library can be controlled with the following environment variables. Mesos Configuration The Mesos master and slave can take a variety of configuration options through command-line arguments, or environment variables.
Each option can be set in two ways: The path can be absolute or relative to the current working directory. Configuration values are searched for first in the environment, then on the command-line. Important Options If you have special compilation requirements, please refer to. Master and Slave Options These options can be supplied to both masters and slaves. This file will be exposed separate the mesos-containerizer binary into a static binary which only depends on stout the webui and HTTP api.
This is useful when using stderr logging as the log file is otherwise unknown to Mesos. Path could be of the form file: See the Firewall message in flags. Cannot be used in conjunction with --ip. Mesos master does not bind using this IP address. However, this IP address may be used to access Mesos master. Mesos master does not bind using this port. It is imperative to set this value to be a majority of masters i. Remember you can also use the file: See the ACLs protobuf in mesos.
Use the default HierarchicalDRF allocator, or load an alternate allocator module using --modules. HierarchicalDRF --[no-]authenticate If authenticate is 'true' only authenticated frameworks are allowed to register.
If 'false' unauthenticated frameworks are also allowed to register. If 'false' unauthenticated slaves are also allowed to register. Use the default crammd5or load an alternate authenticator module using --modules. Use the default localor load an alternate authorizer module using --modules.
Note that if the flag --authorizers is provided with a value different than the default localthe ACLs passed through the --acls flag will be ignored.
Currently there's no support for multiple authorizers. Path should be of the form file: True by default; if set to 'false' it will cause Mesos to use the IP address, unless the hostname is explicitly set.
If this is set to false, the log has to be manually initialized when used for the very first time. This helps fairness when running frameworks that hold on to offers, or frameworks that accidentally drop offers. See the RateLimits protobuf in mesos. If the limit is exceeded, the master will fail over rather than remove the slaves.
This can be used to provide safety guarantees for production environments. Production environments may expect that across Master failovers, at most a certain percentage of slaves will fail permanently e. Setting this limit would ensure that a human needs to get involved should an unexpected widespread failure of slaves occur in the cluster. Setting this to false means that the Registrar will never reject the admission, readmission, or removal of a slave.
Consequently, 'false' can be used to bootstrap the persistent state on a running cluster. By default slaves will be removed as soon as they fail the health checks. Slaves that do not re-register within the separate the mesos-containerizer binary into a static binary which only depends on stout will be removed from the registry and will be shutdown if they attempt to communicate with master. This value has to be atleast 10mins.
May be one of: Weights are used to indicate forms of priority. The file is watched, and periodically re-read to refresh the slave whitelist. This flag was added as a hack to avoid frameworks getting offers when we have allocated all of the ephemeral port range on separate the mesos-containerizer binary into a static binary which only depends on stout slave.
This flag works with 3 different techniques. It may be one of: You can also use the file: Use the default crammd5or load an alternate authenticatee module using --modules. Available options are 'mesos', 'external', and 'docker' on Linux. Or a path containing the JSON formatted information used for one credential. See the ContainerInfo protobuf in mesos.
You should consider setting this to false when you launch multiple slaves in the same OS, to avoid one of the DockerContainerizer removing docker tasks launched by other slaves. However you should also make sure you enable checkpoint for the slave so the same slave id can be reused, otherwise docker tasks on slave restart will not be cleaned up.
This must be the path used by the slave's docker image. If an image is specified, the docker containerizer assumes the slave is running in a docker container, and launches executors with docker containers in order to recover them when the slave restarts and recovers. By default the executor will inherit the slave's environment variables.
Note that this delay may be shorter depending on the available disk usage. Age is calculated by: Note that this flag is only relevant for the Mesos Containerizer. It could either be 'linux' or 'posix'. The Linux launcher is required for cgroups isolation and for any isolators that require Linux namespaces such as network, pid, etc.
If unspecified, the slave will choose the Linux launcher if it's running as root on Linux. The interval between updates is controlled by this flag.
Run command 'perf list' to see all events. Event names are sanitized by downcasing and replacing hyphens with underscores when reported in the PerfStatistics protobuf, e. The smallest interval between these corrections is controlled by this flag. Valid values for 'recover' are reconnect: Reconnect with any old live executors. Kill any old live executors and exit. Use this option when doing an incompatible slave or executor upgrade! If checkpointed slave doesn't exist, no recovery is performed and the slave registers with the master as a new slave.
This flag is only applicable when checkpoint is enabled. Subsequent retries are exponentially backed off based on this interval e. The default is none. Present functionality is intended for resource monitoring and no cgroup limits are set, they are inherited from the root mesos cgroup. By default this directory is held inside the work directory, so everything can be deleted or archived in one swoop, in particular during testing.
However, a typical production scenario is to use a separate cache volume. First, it is not meant to be backed up. Second, you want to avoid that sandbox directories and the cache directory can interfere with each other in unpredictable ways by occupying shared space.
So it is recommended to set the cache directory explicitly. This number has to be a power of 2. If it is not specified, the network isolator will try to guess it based on the host default gateway. If it is not specified, the network isolator will try to guess it. Separate the mesos-containerizer binary into a static binary which only depends on stout not specified or specified as zero, the network isolator will impose no limits to containers' egress traffic throughput.
This flag uses the Bytes type, defined in stout. This is useful, for example, for containerized tasks in which communication is bound locally to a non-public IP that will be inaccessible to the master. Mesos Build Configuration Options The configure script has the following flags for optional features: This string will be appended to the Python interpreter canonical name.
Specified the externally managed log file. Optional IP discovery command: Location to put log files no default, nothing is written to disk unless specified; does not affect logging to stderr. Log message at or above this level; possible values: IP address advertised to reach mesos master.