[
https://issues.apache.org/jira/browse/MESOS-8045?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Benno Evers reassigned MESOS-8045:
----------------------------------
Resolution: Fixed
Assignee: Benno Evers
This is resolved by MESOS-8728, now we only print the full help string when the
"--help" option is specified.
> Update Mesos executables output if there is a typo
> --------------------------------------------------
>
> Key: MESOS-8045
> URL: https://issues.apache.org/jira/browse/MESOS-8045
> Project: Mesos
> Issue Type: Improvement
> Reporter: Armand Grillet
> Assignee: Benno Evers
> Priority: Minor
>
> Current output if a user makes a typo while using one of the Mesos
> executables:
> {code}
> build (master) $ ./bin/mesos-master.sh --ip=127.0.0.1 --workdir=/tmp
> Failed to load unknown flag 'workdir'
> Usage: mesos-master [options]
> --acls=VALUE
> The value could be a JSON-formatted string of ACLs
>
> or a file path containing the JSON-formatted ACLs used
>
> for authorization. Path could be of the form `file:///path/to/file`
>
> or `/path/to/file`.
>
> Note that if the flag `--authorizers` is provided with a value
>
> different than `local`, the ACLs contents
>
> will be ignored.
>
> See the ACLs protobuf in acls.proto for the expected format.
>
> Example:
>
> {
>
> "register_frameworks": [
>
> {
>
> "principals": { "type": "ANY" },
>
> "roles": { "values": ["a"] }
>
> }
>
> ],
>
> "run_tasks": [
>
> {
>
> "principals": { "values": ["a", "b"] },
>
> "users": { "values": ["c"] }
>
> }
>
> ],
>
> "teardown_frameworks": [
>
> {
>
> "principals": { "values": ["a", "b"] },
>
> "framework_principals": { "values": ["c"] }
>
> }
>
> ],
>
> "set_quotas": [
>
> {
>
> "principals": { "values": ["a"] },
>
> "roles": { "values": ["a", "b"] }
>
> }
>
> ],
>
> "remove_quotas": [
>
> {
>
> "principals": { "values": ["a"] },
>
> "quota_principals": { "values": ["a"] }
>
> }
>
> ]
>
> }
> --advertise_ip=VALUE
> IP address advertised to reach this Mesos master.
>
> The master does not bind using this IP address.
>
> However, this IP address may be used to access this master.
> --advertise_port=VALUE
> Port advertised to reach Mesos master (along with
>
> `advertise_ip`). The master does not bind to this port.
>
> However, this port (along with `advertise_ip`) may be used to
>
> access this master.
> --agent_ping_timeout=VALUE, --slave_ping_timeout=VALUE
> The timeout within which an agent is expected to respond to a
>
> ping from the master. Agents that do not respond within
>
> max_agent_ping_timeouts ping retries will be asked to shutdown.
>
> NOTE: The total ping timeout (`agent_ping_timeout` multiplied by
>
> `max_agent_ping_timeouts`) should be greater than the ZooKeeper
>
> session timeout to prevent useless re-registration attempts.
>
> (default: 15secs)
> --agent_removal_rate_limit=VALUE, --slave_removal_rate_limit=VALUE
> The maximum rate (e.g., `1/10mins`, `2/3hrs`, etc) at which agents
>
> will be removed from the master when they fail health checks.
>
> By default, agents will be removed as soon as they fail the health
>
> checks. The value is of the form `(Number of agents)/(Duration)`.
> --agent_reregister_timeout=VALUE, --slave_reregister_timeout=VALUE
> The timeout within which an agent is expected to re-register.
>
> Agents re-register when they become disconnected from the master
>
> or when a new master is elected as the leader. Agents that do not
>
> re-register within the timeout will be marked unreachable in the
>
> registry; if/when the agent re-registers with the master, any
>
> non-partition-aware tasks running on the agent will be terminated.
>
> NOTE: This value has to be at least 10mins. (default: 10mins)
> --allocation_interval=VALUE
> Amount of time to wait between performing
>
> (batch) allocations (e.g., 500ms, 1sec, etc). (default: 1secs)
> --allocator=VALUE
> Allocator to use for resource allocation to frameworks.
>
> Use the default `HierarchicalDRF` allocator, or
>
> load an alternate allocator module using `--modules`. (default:
> HierarchicalDRF)
> --[no-]authenticate_agents, --[no-]authenticate_slaves
> If `true`, only authenticated agents are allowed to register.
>
> If `false`, unauthenticated agents are also allowed to register. (default:
> false)
> --[no-]authenticate_frameworks, --[no-]authenticate
> If `true`, only authenticated frameworks are allowed to register. If
>
> `false`, unauthenticated frameworks are also allowed to register. For
>
> HTTP based frameworks use the `--authenticate_http_frameworks` flag.
> (default: false)
> --[no-]authenticate_http_frameworks
> If `true`, only authenticated HTTP frameworks are allowed to register.
>
> If `false`, HTTP frameworks are not authenticated. (default: false)
> --[no-]authenticate_http_readonly
> If `true`, only authenticated requests for read-only HTTP endpoints
>
> supporting authentication are allowed. If `false`, unauthenticated
>
> requests to such HTTP endpoints are also allowed. (default: false)
> --[no-]authenticate_http_readwrite, --[no-]authenticate_http
> If `true`, only authenticated requests for read-write HTTP endpoints
>
> supporting authentication are allowed. If `false`, unauthenticated
>
> requests to such HTTP endpoints are also allowed. (default: false)
> --authenticators=VALUE
> Authenticator implementation to use when authenticating frameworks
>
> and/or agents. Use the default `crammd5`
>
> or load an alternate authenticator module using `--modules`. (default:
> crammd5)
> --authorizers=VALUE
> Authorizer implementation to use when authorizing actions that
>
> require it.
>
> Use the default `local`, or
>
> load an alternate authorizer module using `--modules`.
>
> Note that if the flag `--authorizers` is provided with a value
>
> different than the default `local`, the
>
> ACLs passed through the `--acls` flag will be ignored.
>
> Currently there is no support for multiple authorizers. (default: local)
> --cluster=VALUE
> Human readable name for the cluster, displayed in the webui.
> --credentials=VALUE
> Path to a JSON-formatted file containing credentials.
>
> Path could be of the form `file:///path/to/file` or `/path/to/file`.
>
> Example:
>
> {
>
> "credentials": [
>
> {
>
> "principal": "sherman",
>
> "secret": "kitesurf"
>
> }
>
> ]
>
> }
> --domain=VALUE
> Domain that the master belongs to. Mesos currently only supports
>
> fault domains, which identify groups of hosts with similar failure
>
> characteristics. A fault domain consists of a region and a zone.
>
> All masters in the same Mesos cluster must be in the same region
>
> (they can be in different zones). This value can be specified as
>
> either a JSON-formatted string or a file path containing JSON.
>
> Example:
>
> {
>
> "fault_domain":
>
> {
>
> "region":
>
> {
>
> "name": "aws-us-east-1"
>
> },
>
> "zone":
>
> {
>
> "name": "aws-us-east-1a"
>
> }
>
> }
>
> }
> --external_log_file=VALUE
> Location of the externally managed log file. Mesos does not write to
>
> this file directly and merely exposes it in the WebUI and HTTP API.
>
> This is only useful when logging to stderr in combination with an
>
> external logging mechanism, like syslog or journald.
>
> This option is meaningless when specified along with `--quiet`.
>
> This option takes precedence over `--log_dir` in the WebUI.
>
> However, logs will still be written to the `--log_dir` if
>
> that option is specified.
> --fair_sharing_excluded_resource_names=VALUE
> A comma-separated list of the resource names (e.g. 'gpus')
>
> that will be excluded from fair sharing constraints.
>
> This may be useful in cases where the fair sharing
>
> implementation currently has limitations. E.g. See the
>
> problem of "scarce" resources:
>
> http://www.mail-archive.com/[email protected]/msg35631.html
>
> https://issues.apache.org/jira/browse/MESOS-5377
> --[no-]filter_gpu_resources
> When set to true, this flag will cause the mesos master to
>
> filter all offers from agents with GPU resources by only sending
>
> them to frameworks that opt into the `GPU_RESOURCES` framework
>
> capability. When set to false, this flag will cause the master
>
> to not filter offers from agents with GPU resources, and
>
> indiscriminately send them to all frameworks whether they set
>
> the `GPU_RESOURCES` capability or not. This flag is meant as a
>
> temporary workaround towards the eventual deprecation of the
>
> `GPU_RESOURCES` capability. Please see the following for more
>
> information:
>
> https://www.mail-archive.com/[email protected]/msg37571.html
>
> https://issues.apache.org/jira/browse/MESOS-7576 (default: true)
> --firewall_rules=VALUE
> The value could be a JSON-formatted string of rules or a
>
> file path containing the JSON-formatted rules used in the endpoints
>
> firewall. Path must be of the form `file:///path/to/file`
>
> or `/path/to/file`.
>
> See the `Firewall` message in `flags.proto` for the expected format.
>
> Example:
>
> {
>
> "disabled_endpoints" : {
>
> "paths" : [
>
> "/files/browse",
>
> "/metrics/snapshot"
>
> ]
>
> }
>
> }
> --framework_sorter=VALUE
> Policy to use for allocating resources between a given user's
>
> frameworks. Options are the same as for `--user_sorter`. (default: drf)
> --[no-]help
> Prints this help message (default: false)
> --hooks=VALUE
> A comma-separated list of hook modules to be
>
> installed inside master.
> --hostname=VALUE
> The hostname the master should advertise in ZooKeeper.
>
> If left unset, the hostname is resolved from the IP address
>
> that the master advertises; unless the user explicitly prevents
>
> that, using `--no-hostname_lookup`, in which case the IP itself
>
> is used.
> --[no-]hostname_lookup
> Whether we should execute a lookup to find out the server's hostname,
>
> if not explicitly set (via, e.g., `--hostname`).
>
> True by default; if set to `false` it will cause Mesos
>
> to use the IP address, unless the hostname is explicitly set. (default:
> true)
> --http_authenticators=VALUE
> HTTP authenticator implementation to use when handling requests to
>
> authenticated endpoints. Use the default `basic`, or load an
>
> alternate HTTP authenticator module using `--modules`.
>
> Currently there is no support for multiple HTTP authenticators. (default:
> basic)
> --http_framework_authenticators=VALUE
> HTTP authenticator implementation to use when authenticating HTTP
>
> frameworks. Use the
>
> `basic` authenticator or
>
> load an alternate authenticator module using `--modules`.
>
> Must be used in conjunction with `--http_authenticate_frameworks`.
>
> Currently there is no support for multiple HTTP framework
>
> authenticators.
> --[no-]initialize_driver_logging
> Whether the master/agent should initialize Google logging for the
>
> scheduler and executor drivers, in the same way as described here.
>
> The scheduler/executor drivers have separate logs and do not get
>
> written to the master/agent logs.
>
> This option has no effect when using the HTTP scheduler/executor APIs.
>
> By default, this option is true. (default: true)
> --ip=VALUE
> IP address to listen on. This cannot be used in conjunction
>
> with `--ip_discovery_command`.
> --ip_discovery_command=VALUE
> Optional IP discovery binary: if set, it is expected to emit
>
> the IP address which the master will try to bind to.
>
> Cannot be used in conjunction with `--ip`.
> --[no-]log_auto_initialize
> Whether to automatically initialize the replicated log used for the
>
> registry. If this is set to false, the log has to be manually
>
> initialized when used for the very first time. (default: true)
> --log_dir=VALUE
> Location to put log files. By default, nothing is written to disk.
>
> Does not affect logging to stderr.
>
> If specified, the log file will appear in the Mesos WebUI.
>
> NOTE: 3rd party log messages (e.g. ZooKeeper) are
>
> only written to stderr!
> --logbufsecs=VALUE
> Maximum number of seconds that logs may be buffered for.
>
> By default, logs are flushed immediately. (default: 0)
> --logging_level=VALUE
> Log message at or above this level.
>
> Possible values: `INFO`, `WARNING`, `ERROR`.
>
> If `--quiet` is specified, this will only affect the logs
>
> written to `--log_dir`, if specified. (default: INFO)
> --master_contender=VALUE
> The symbol name of the master contender to use.
>
> This symbol should exist in a module specified through
>
> the --modules flag. Cannot be used in conjunction with --zk.
>
> Must be used in conjunction with --master_detector.
> --master_detector=VALUE
> The symbol name of the master detector to use. This symbol
>
> should exist in a module specified through the --modules flag.
>
> Cannot be used in conjunction with --zk.
>
> Must be used in conjunction with --master_contender.
> --max_agent_ping_timeouts=VALUE, --max_slave_ping_timeouts=VALUE
> The number of times an agent can fail to respond to a
>
> ping from the master. Agents that do not respond within
>
> `max_agent_ping_timeouts` ping retries will be asked to shutdown.
>
> (default: 5)
> --max_completed_frameworks=VALUE
> Maximum number of completed frameworks to store in memory. (default: 50)
> --max_completed_tasks_per_framework=VALUE
> Maximum number of completed tasks per framework to store in memory.
> (default: 1000)
> --max_unreachable_tasks_per_framework=VALUE
> Maximum number of unreachable tasks per framework to store in memory.
> (default: 1000)
> --modules=VALUE
> List of modules to be loaded and be available to the internal
>
> subsystems.
>
> Use `--modules=filepath` to specify the list of modules via a
>
> file containing a JSON-formatted string. `filepath` can be
>
> of the form `file:///path/to/file` or `/path/to/file`.
>
> Use `--modules="{...}"` to specify the list of modules inline.
>
> Example:
>
> {
>
> "libraries": [
>
> {
>
> "file": "/path/to/libfoo.so",
>
> "modules": [
>
> {
>
> "name": "org_apache_mesos_bar",
>
> "parameters": [
>
> {
>
> "key": "X",
>
> "value": "Y"
>
> }
>
> ]
>
> },
>
> {
>
> "name": "org_apache_mesos_baz"
>
> }
>
> ]
>
> },
>
> {
>
> "name": "qux",
>
> "modules": [
>
> {
>
> "name": "org_apache_mesos_norf"
>
> }
>
> ]
>
> }
>
> ]
>
> }
>
> Cannot be used in conjunction with --modules_dir.
> --modules_dir=VALUE
> Directory path of the module manifest files.
>
> The manifest files are processed in alphabetical order.
>
> (See --modules for more information on module manifest files).
>
> Cannot be used in conjunction with --modules.
> --offer_timeout=VALUE
> Duration of time before an offer is rescinded from a framework.
>
> This helps fairness when running frameworks that hold on to offers,
>
> or frameworks that accidentally drop offers.
>
> If not set, offers do not timeout.
> --port=VALUE
> Port to listen on. (default: 5050)
> --[no-]quiet
> Disable logging to stderr. (default: false)
> --quorum=VALUE
> The size of the quorum of replicas when using `replicated_log` based
>
> registry. It is imperative to set this value to be a majority of
>
> masters i.e., `quorum > (number of masters)/2`.
>
> NOTE: Not required if master is run in standalone mode (non-HA).
> --rate_limits=VALUE
> The value could be a JSON-formatted string of rate limits
>
> or a file path containing the JSON-formatted rate limits used
>
> for framework rate limiting.
>
> Path could be of the form `file:///path/to/file`
>
> or `/path/to/file`.
>
> See the RateLimits protobuf in mesos.proto for the expected format.
>
> Example:
>
> {
>
> "limits": [
>
> {
>
> "principal": "foo",
>
> "qps": 55.5
>
> },
>
> {
>
> "principal": "bar"
>
> }
>
> ],
>
> "aggregate_default_qps": 33.3
>
> }
> --recovery_agent_removal_limit=VALUE, --recovery_slave_removal_limit=VALUE
> For failovers, limit on the percentage of agents that can be removed
>
> from the registry *and* shutdown after the re-registration timeout
>
> elapses. If the limit is exceeded, the master will fail over rather
>
> than remove the agents.
>
> 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 agents will fail
>
> permanently (e.g. due to rack-level failures).
>
> Setting this limit would ensure that a human needs to get
>
> involved should an unexpected widespread failure of agents occur
>
> in the cluster.
>
> Values: [0%-100%] (default: 100%)
> --registry=VALUE
> Persistence strategy for the registry;
>
> available options are `replicated_log`, `in_memory` (for testing).
> (default: replicated_log)
> --registry_fetch_timeout=VALUE
> Duration of time to wait in order to fetch data from the registry
>
> after which the operation is considered a failure. (default: 1mins)
> --registry_gc_interval=VALUE
> How often to garbage collect the registry. The current leading
>
> master will periodically discard information from the registry.
>
> How long registry state is retained is controlled by other
>
> parameters (e.g., registry_max_agent_age, registry_max_agent_count);
>
> this parameter controls how often the master will examine the
>
> registry to see if data should be discarded. (default: 15mins)
> --registry_max_agent_age=VALUE
> Maximum length of time to store information in the registry about
>
> agents that are not currently connected to the cluster. This
>
> information allows frameworks to determine the status of unreachable
>
> and gone agents. Note that the registry always stores
>
> information on all connected agents. If there are more than
>
> `registry_max_agent_count` partitioned/gone agents, agent
>
> information may be discarded from the registry sooner than indicated
>
> by this parameter. (default: 2weeks)
> --registry_max_agent_count=VALUE
> Maximum number of partitioned/gone agents to store in the
>
> registry. This information allows frameworks to determine the status
>
> of disconnected agents. Note that the registry always stores
>
> information about all connected agents. See also the
>
> `registry_max_agent_age` flag. (default: 102400)
> --registry_store_timeout=VALUE
> Duration of time to wait in order to store data in the registry
>
> after which the operation is considered a failure. (default: 20secs)
> --[no-]registry_strict
> Whether the master will take actions based on the persistent
>
> information stored in the Registry.
>
> NOTE: This flag is *disabled* and will be removed in a future
>
> version of Mesos. (default: false)
> --roles=VALUE
> A comma-separated list of the allocation roles that frameworks
>
> in this cluster may belong to. This flag is deprecated;
>
> if it is not specified, any role name can be used.
> --[no-]root_submissions
> Can root submit frameworks? (default: true)
> --user_sorter=VALUE
> Policy to use for allocating resources between users. May be one of:
>
> dominant_resource_fairness (drf) (default: drf)
> --[no-]version
> Show version and exit. (default: false)
> --webui_dir=VALUE
> Directory path of the webui files/assets (default:
> /usr/local/share/mesos/webui)
> --weights=VALUE
> A comma-separated list of role/weight pairs of the form
>
> `role=weight,role=weight`. Weights can be used to control the
>
> relative share of cluster resources that is offered to different
>
> roles. This flag is deprecated. Instead, operators should configure
>
> weights dynamically using the `/weights` HTTP endpoint.
> --whitelist=VALUE
> Path to a file which contains a list of agents (one per line) to
>
> advertise offers for. The file is watched and periodically re-read to
>
> refresh the agent whitelist. By default there is no whitelist: all
>
> machines are accepted. Path can be of the form
>
> `file:///path/to/file` or `/path/to/file`.
> --work_dir=VALUE
> Path of the master work directory. This is where the persistent
>
> information of the cluster will be stored. Note that locations like
>
> `/tmp` which are cleaned automatically are not suitable for the work
>
> directory when running in production, since long-running masters could
>
> lose data when cleanup occurs. (Example: `/var/lib/mesos/master`)
> --zk=VALUE
> ZooKeeper URL (used for leader election amongst masters).
>
> May be one of:
>
> `zk://host1:port1,host2:port2,.../path`
>
> `zk://username:password@host1:port1,host2:port2,.../path`
>
> `file:///path/to/file` (where file contains one of the above)
>
> NOTE: Not required if master is run in standalone mode (non-HA).
> --zk_session_timeout=VALUE
> ZooKeeper session timeout. (default: 10secs)
> {code}
> Having the error message after the list of possible flags instead of before
> would make the error message more readable.
--
This message was sent by Atlassian JIRA
(v7.6.3#76005)
