You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@mesos.apache.org by "Armand Grillet (JIRA)" <ji...@apache.org> on 2017/10/02 11:09:02 UTC

[jira] [Created] (MESOS-8045) Update Mesos executables output if there is a typo

Armand Grillet created MESOS-8045:
-------------------------------------

             Summary: 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
            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/dev@mesos.apache.org/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/dev@mesos.apache.org/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 before the list of possible flags would make the error more readable.



--
This message was sent by Atlassian JIRA
(v6.4.14#64029)