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: java
Configuration values are searched for first in the environment, then on the command-line. node
重點可選項 python
If you have special compilation requirements, please refer to ./configure --help when configuring Mesos. 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 --help, for example mesos-master --help. linux
These options can be supplied to both masters and slaves. git
參數項 | 說明 |
---|---|
--external_log_file=VALUE | 配置外部管理日誌文件。這個文件將會被開放給webui 和 http api。當使用標準錯誤日誌做爲日誌文件是很是有用的,不然對 mesos 未知。 github |
--firewall_rules=VALUE | The value could be a JSON formatted string of rules or a file path containing the JSON formated rules used in the endpoints firewall. Path could be of the formfile:///path/to/file or /path/to/file. See the Firewall message in flags.proto for the expected format. web 示例: docker { "disabled_endpoints" : { "paths" : [ "/files/browse", "/slave(0)/stats.json", ] } } |
--[no-]help | 打印幫助信息 (默認值: false) |
--[no-]initialize_driver_logging | 是否自動初始化調度器和/或執行器驅動的谷歌記錄。 (默認:true) apache |
--ip=VALUE | IP 地址監聽;不能與 ip_discovery_command同時使用。 |
--ip_discovery_command=VALUE | 可選IP發現命令:若配置,它被指望提交主(master)將要綁定的ip。不能夠與--ip一塊兒使用。 json |
--log_dir=VALUE | 日誌文件放置位置(沒有默認,不會寫到磁盤除非指定;對寫入stderr的日誌沒有影響 ) |
--logbufsecs=VALUE | 日誌消息緩存多少秒(默認:0) |
--logging_level=VALUE | 日誌消息大於以上這個級別;可選參數有:'INFO', 'WARNING', 'ERROR';若是這個flag 被使用,將影響到log_dir 日誌信息(若是指定)(默認:INFO) |
--port=VALUE | 端口監聽(Master 默認:5050 和 Slave 默認 5051) |
--[no-]quiet | 禁用日誌記錄到標準錯誤(默認:false) |
--[no-]version | 顯示版本信息而且退出(默認:false) |
必選參數項
參數項 | 說明 |
---|---|
--advertise_ip=VALUE | IP address advertised to reach mesos master. Mesos master does not bind using this IP address. However, this IP address may be used to access Mesos master. |
--advertise_port=VALUE | Port advertised to reach mesos master (alongwith advertise_ip). Mesos master does not bind using this port. However, this port (alongwith advertise_ip) may be used to access Mesos master. |
--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). |
--work_dir=VALUE | 保存的持久化信息保存的位置保存在註冊表裏 IP地址發佈達到mesos掌握。 Mesos主機不綁定使用此IP地址。然而,該IP地址可能被用來訪問Mesos主。 |
--zk=VALUE | ZooKeeper URL (用於選擇領導用做 Master) 或許只有一個: 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) 注: 若是master 運行在 standalone 模式下不須要(非HA) |
可選參數項
參數項 | 說明 |
---|---|
--acls=VALUE | 值是ACL 的 JSON格式化字符串。請記住,你也能夠使用thefile:///path/to/file or/path/to/fileargument 格式化的json 值寫入一個文件。 請在mesos.proto 的 ACLs 列表的參閱 protobuf 的預期格式。 JSON 文件示例: { "register_frameworks": [ { "principals": { "type": "ANY" }, "roles": { "values": ["a"] } } ], "run_tasks": [ { "principals": { "values": ["a", "b"] }, "users": { "values": ["c"] } } ], "shutdown_frameworks": [ { "principals": { "values": ["a", "b"] }, "framework_principals": { "values": ["c"] } } ] } |
--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 HierarchicalDRFallocator, or load an alternate allocator module using --modules. (default: HierarchicalDRF) |
--[no-]authenticate | If authenticate is 'true' only authenticated frameworks are allowed to register. If 'false' unauthenticated frameworks are also allowed to register. (default: false) |
--[no-]authenticate_slaves | If 'true' only authenticated slaves are allowed to register. If 'false' unauthenticated slaves are also allowed to register. (default: false) |
--authenticators=VALUE | Authenticator implementation to use when authenticating frameworks and/or slaves. Use the default crammd5, or load an alternate authenticator module using --modules. (default: crammd5) |
--authorizers=VALUE | Authorizer implementation to use when authorizating actions that required 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's no support for multiple authorizers. (default: local) |
--cluster=VALUE | Human readable name for the cluster, displayed in the webui. |
--credentials=VALUE | Either a path to a text file with a list of credentials, each line containing 'principal' and 'secret' separated by whitespace, or, a path to a JSON-formatted file containing credentials. Path should be of the formfile:///path/to/file or /path/to/file JSON file Example: { "credentials": [ { "principal": "sherman", "secret": "kitesurf" } ] } Text file Example: username secret |
--framework_sorter=VALUE | Policy to use for allocating resources between a given user's frameworks. Options are the same as for user_allocator. (default: drf) |
--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 slave binds to; 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. |
--[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) |
--max_slave_ping_timeouts=VALUE | The number of times a slave can fail to respond to a ping from the master. Slaves that incur more than `max_slave_ping_timeouts` timeouts will be removed. (default: 5) |
--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. Remember you can also use thefile:///path/to/file or/path/to/fileargument value format to write the JSON in a file. Use --modules="{...}" to specify the list of modules inline. JSON file 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" } ] } ] } |
--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. |
--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. Remember you can also use thefile:///path/to/file or /path/to/fileargument value format to write the JSON in a 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_slave_removal_limit=VALUE | For failovers, limit on the percentage of slaves 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 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.g. due to rack-level failures). Setting this limit would ensure that a human needs to get involved should an unexpected widespread failure of slaves 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_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: 5secs) |
--[no-]registry_strict | Whether the Master will take actions based on the persistent information stored in the Registry. 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. NOTE: This flag is *experimental* and should not be used in production yet. (default: false) |
--roles=VALUE | A comma separated list of the allocation roles that frameworks in this cluster may belong to. |
--[no-]root_submissions | Can root submit frameworks? (default: true) |
--slave_ping_timeout=VALUE | The timeout within which each slave is expected to respond to a ping from the master. Slaves that do not respond within `max_slave_ping_timeouts` ping retries will be removed. (default: 15secs) |
--slave_removal_rate_limit=VALUE | The maximum rate (e.g., 1/10mins, 2/3hrs, etc) at which slaves will be removed from the master when they fail health checks. By default slaves will be removed as soon as they fail the health checks. The value is of the form 'Number of slaves'/'Duration' |
--slave_reregister_timeout=VALUE | The timeout within which all slaves are expected to re-register when a new master is elected as the leader. Slaves that do not re-register within the timeout will be removed from the registry and will be shutdown if they attempt to communicate with master. NOTE: This value has to be atleast 10mins. (default: 10mins) |
--user_sorter=VALUE | Policy to use for allocating resources between users. May be one of: dominant_resource_fairness (drf) (default: drf) |
--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 are used to indicate forms of priority. |
--whitelist=VALUE | A filename which contains a list of slaves (one per line) to advertise offers for. The file is watched, and periodically re-read to refresh the slave whitelist. By default there is no whitelist / all machines are accepted. (default: None) Example: file:///etc/mesos/slave_whitelist |
--zk_session_timeout=VALUE | ZooKeeper session timeout. (default: 10secs) |
Flags available when configured with ‘–with-network-isolator’
Flag | Explanation |
---|---|
--max_executors_per_slave=VALUE | Maximum number of executors allowed per slave. The network monitoring/isolation technique imposes an implicit resource acquisition on each executor (# ephemeral ports), as a result one can only run a certain number of executors on each slave. This flag was added as a hack to avoid frameworks getting offers when we have allocated all of the ephemeral port range on the slave. |
Required Flags
Flag | Explanation |
---|---|
--master=VALUE | This specifies how to connect to a master or a quorum of masters. This flag works with 3 different techniques. It may be one of:
|
Optional Flags
Flag | Explanation |
---|---|
--attributes=VALUE | Attributes of machine, in the form: rack:2 or 'rack:2;u:1' |
--authenticatee=VALUE | Authenticatee implementation to use when authenticating against the master. Use the default crammd5, or load an alternate authenticatee module using --modules. (default: crammd5) |
--[no-]cgroups_cpu_enable_pids_and_tids_count | Cgroups feature flag to enable counting of processes and threads inside a container. (default: false) |
--[no-]cgroups_enable_cfs | Cgroups feature flag to enable hard limits on CPU resources via the CFS bandwidth limiting subfeature. (default: false) |
--cgroups_hierarchy=VALUE | The path to the cgroups hierarchy root (default: /sys/fs/cgroup) |
--[no-]cgroups_limit_swap | Cgroups feature flag to enable memory limits on both memory and swap instead of just memory. (default: false) |
--cgroups_root=VALUE | Name of the root cgroup (default: mesos) |
--systemd_runtime_directory=VALUE | The path to the systemd system run time directory (default: /run/systemd/system) |
--container_disk_watch_interval=VALUE | The interval between disk quota checks for containers. This flag is used for the posix/disk isolator. (default: 15secs) |
--containerizer_path=VALUE | The path to the external containerizer executable used when external isolation is activated (--isolation=external). |
--containerizers=VALUE | Comma separated list of containerizer implementations to compose in order to provide containerization. Available options are 'mesos', 'external', and 'docker' (on Linux). The order the containerizers are specified is the order they are tried (--containerizers=mesos). (default: mesos) |
--credential=VALUE | A path to a text file with a single line containing 'principal' and 'secret' separated by whitespace. Or a path containing the JSON formatted information used for one credential. Path should be of the form file://path/to/file. Remember you can also use the file:///path/to/fileargument value format to read the value from a file. JSON file example:{ "principal": "username", "secret": "secret" } |
--default_container_image=VALUE | The default container image to use if not specified by a task, when using external containerizer. |
--default_container_info=VALUE | JSON formatted ContainerInfo that will be included into any ExecutorInfo that does not specify a ContainerInfo. See the ContainerInfo protobuf in mesos.proto for the expected format. Example: { "type": "MESOS", "volumes": [ { "host_path": "./.private/tmp", "container_path": "/tmp", "mode": "RW" } ] } |
--default_role=VALUE | Any resources in the --resources flag that omit a role, as well as any resources that are not present in --resources but that are automatically detected, will be assigned to this role. (default: *) |
--disk_watch_interval=VALUE | Periodic time interval (e.g., 10secs, 2mins, etc) to check the disk usage (default: 1mins) |
--docker=VALUE | The absolute path to the docker executable for docker containerizer. (default: docker) |
--docker_remove_delay=VALUE | The amount of time to wait before removing docker containers (e.g., 3days, 2weeks, etc). (default: 6hrs) |
--[no-]docker_kill_orphans | Enable docker containerizer to kill orphaned containers. 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. (default: true) |
--docker_socket=VALUE | The UNIX socket path to be mounted into the docker executor container to provide docker CLI access to the docker daemon. This must be the path used by the slave's docker image. (default: /var/run/docker.sock) |
--docker_mesos_image=VALUE | The docker image used to launch this mesos slave instance. 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. |
--docker_stop_timeout=VALUE | The time as a duration for docker to wait after stopping an instance before it kills that instance. (default: 0secs) |
--sandbox_directory=VALUE | The absolute path for the directory in the container where the sandbox is mapped to. (default: /mnt/mesos/sandbox) |
--[no-]enforce_container_disk_quota | Whether to enable disk quota enforcement for containers. This flag is used for the 'posix/disk' isolator. (default: false) |
--executor_environment_variables | JSON object representing the environment variables that should be passed to the executor, and thus subsequently task(s). By default the executor will inherit the slave's environment variables. Example: { "PATH": "/bin:/usr/bin", "LD_LIBRARY_PATH": "/usr/local/lib" } |
--executor_registration_timeout=VALUE | Amount of time to wait for an executor to register with the slave before considering it hung and shutting it down (e.g., 60secs, 3mins, etc) (default: 1mins) |
--executor_shutdown_grace_period=VALUE | Amount of time to wait for an executor to shut down (e.g., 60secs, 3mins, etc) (default: 5secs) |
--frameworks_home=VALUE | Directory path prepended to relative executor URIs (default: ) |
--gc_delay=VALUE | Maximum amount of time to wait before cleaning up executor directories (e.g., 3days, 2weeks, etc). Note that this delay may be shorter depending on the available disk usage. (default: 1weeks) |
--gc_disk_headroom=VALUE | Adjust disk headroom used to calculate maximum executor directory age. Age is calculated by:gc_delay * max(0.0, (1.0 - gc_disk_headroom - disk usage))every--disk_watch_interval duration. gc_disk_headroommust be a value between 0.0 and 1.0 (default: 0.1) |
--hadoop_home=VALUE | Path to find Hadoop installed (for fetching framework executors from HDFS) (no default, look for HADOOP_HOME in environment or find hadoop on PATH) (default: ) |
--hooks=VALUE | A comma separated list of hook modules to be installed inside master. |
--hostname=VALUE | The hostname the agent node should report. If left unset, the hostname is resolved from the IP address that the slave binds to; 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. |
--isolation=VALUE | Isolation mechanisms to use, e.g., 'posix/cpu,posix/mem', or 'cgroups/cpu,cgroups/mem', or network/port_mapping (configure with flag: --with-network-isolator to enable), or 'external', or load an alternate isolator module using the --modules flag. Note that this flag is only relevant for the Mesos Containerizer. (default: posix/cpu,posix/mem) |
--launcher=VALUE | The launcher to be used for 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. |
--launcher_dir=VALUE | Directory path of Mesos binaries (default: /usr/local/lib/mesos) |
--image_providers=VALUE | Comma separated list of supported image providers, e.g., 'APPC,DOCKER'. |
--modules=VALUE | List of modules to be loaded and be available to the internal subsystems. Remember you can also use the file:///path/to/file or/path/to/file argument value format to have the value read from a file. Use --modules="{...}" to specify the list of modules inline. JSON file 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" } ] } ] } |
--oversubscribed_resources_interval=VALUE | The slave periodically updates the master with the current estimation about the total amount of oversubscribed resources that are allocated and available. The interval between updates is controlled by this flag. (default: 15secs) |
--perf_duration=VALUE | Duration of a perf stat sample. The duration must be less that the perf_interval. (default: 10secs) |
--perf_events=VALUE | List of command-separated perf events to sample for each container when using the perf_event isolator. Default is none. 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.g., cpu-cycles becomes cpu_cycles; see the PerfStatistics protobuf for all names. |
--perf_interval=VALUE | Interval between the start of perf stat samples. Perf samples are obtained periodically according to perf_interval and the most recently obtained sample is returned rather than sampling on demand. For this reason, perf_interval is independent of the resource monitoring interval (default: 1mins) |
--qos_controller=VALUE | The name of the QoS Controller to use for oversubscription. |
--qos_correction_interval_min=VALUE | The slave polls and carries out QoS corrections from the QoS Controller based on its observed performance of running tasks. The smallest interval between these corrections is controlled by this flag. (default: 0secs) |
--recover=VALUE | Whether to recover status updates and reconnect with old executors. Valid values for 'recover' are reconnect: Reconnect with any old live executors. cleanup : Kill any old live executors and exit. Use this option when doing an incompatible slave or executor upgrade!). NOTE: If checkpointed slave doesn't exist, no recovery is performed and the slave registers with the master as a new slave. (default: reconnect) |
--recovery_timeout=VALUE | Amount of time alloted for the slave to recover. If the slave takes longer than recovery_timeout to recover, any executors that are waiting to reconnect to the slave will self-terminate. NOTE: This flag is only applicable when checkpoint is enabled. (default: 15mins) |
--registration_backoff_factor=VALUE | Slave initially picks a random amount of time between [0, b], where b = registration_backoff_factor, to (re-)register with a new master. Subsequent retries are exponentially backed off based on this interval (e.g., 1st retry uses a random value between [0, b * 2^1], 2nd retry between [0, b * 2^2], 3rd retry between [0, b * 2^3] etc) up to a maximum of 1mins (default: 1secs) |
--resource_estimator=VALUE | The name of the resource estimator to use for oversubscription. |
--resources=VALUE | Total consumable resources per slave, in the formname(role):value;name(role):value.... |
--[no-]revocable_cpu_low_priority | Run containers with revocable CPU at a lower priority than normal containers (non-revocable cpu). Currently only supported by the cgroups/cpu isolator. (default: true) |
--slave_subsystems=VALUE | List of comma-separated cgroup subsystems to run the slave binary in, e.g., memory,cpuacct. 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. |
--[no-]strict | If strict=true, any and all recovery errors are considered fatal. If strict=false, any expected errors (e.g., slave cannot recover information about an executor, because the slave died right before the executor registered.) during recovery are ignored and as much state as possible is recovered. (default: true) |
--[no-]switch_user | If set to `true`, the agent will attempt to run tasks as the `user` who launched them (as defined in `FrameworkInfo`) (this requires `setuid` permission and that the given `user` exists on the agent). If the user does not exist, an error occurs and the task will fail. If set to `false`, tasks will be run as the same user as the Mesos agent process. (default: true) |
--fetcher_cache_size=VALUE | Size of the fetcher cache in Bytes. (default: 2 GB) |
--fetcher_cache_dir=VALUE | Parent directory for fetcher cache directories (one subdirectory per slave). 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. (default: /tmp/mesos/fetch) |
--work_dir=VALUE | Directory path to place framework work directories (default: /tmp/mesos) |
Flags available when configured with ‘–with-network-isolator’
Flag | Explanation |
---|---|
--ephemeral_ports_per_container=VALUE | Number of ephemeral ports allocated to a container by the network isolator. This number has to be a power of 2. (default: 1024) |
--eth0_name=VALUE | The name of the public network interface (e.g., eth0). If it is not specified, the network isolator will try to guess it based on the host default gateway. |
--lo_name=VALUE | The name of the loopback network interface (e.g., lo). If it is not specified, the network isolator will try to guess it. |
--egress_rate_limit_per_container=VALUE | The limit of the egress traffic for each container, in Bytes/s. If 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. |
--[no-]network_enable_socket_statistics_summary | Whether to collect socket statistics summary for each container. This flag is used for the 'network/port_mapping' isolator. (default: false) |
--[no-]network_enable_socket_statistics_details | Whether to collect socket statistics details (e.g., TCP RTT) for each container. This flag is used for the 'network/port_mapping' isolator. (default: false) |
The bundled libprocess library can be controlled with the following environment variables.
Variable | Explanation |
---|---|
LIBPROCESS_IP | Sets the IP address for communication to and from libprocess. |
LIBPROCESS_PORT | Sets the port for communication to and from libprocess. |
LIBPROCESS_ADVERTISE_IP | If set, this provides the IP address that will be advertised to the outside world for communication to and from libprocess. 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. |
LIBPROCESS_ADVERTISE_PORT | If set, this provides the port that will be advertised to the outside world for communication to and from libprocess. Note that this port will not actually be bound (the local LIBPROCESS_PORT will be), so redirection to the local IP and port must be provided separately. |
Flag | Explanation |
---|---|
--enable-shared[=PKGS] | build shared libraries [default=yes] |
--enable-static[=PKGS] | build static libraries [default=yes] |
--enable-fast-install[=PKGS] | optimize for fast installation [default=yes] |
--enable-libevent | use libevent instead of libev for the libprocess event loop [default=no]. Note that the libevent version 2+ development package is required |
--enable-ssl | enable SSL for libprocess communication [default=no]. Note that --enable-libevent is currently required for SSL functionality |
--disable-libtool-lock | avoid locking (might break parallel builds) |
--disable-java | don't build Java bindings |
--disable-python | don't build Python bindings |
--enable-debug | enable debugging. If CFLAGS/CXXFLAGS are set, this option won't change them default: no |
--enable-optimize | enable optimizations. If CFLAGS/CXXFLAGS are set, this option won't change them default: no |
--disable-bundled | build against preinstalled dependencies instead of bundled libraries |
--disable-bundled-distribute | excludes building and using the bundled distribute package in lieu of an installed version in PYTHONPATH |
--disable-bundled-pip | excludes building and using the bundled pip package in lieu of an installed version in PYTHONPATH |
--disable-bundled-wheel | excludes building and using the bundled wheel package in lieu of an installed version in PYTHONPATH |
--disable-python-dependency-install | when the python packages are installed during make install, no external dependencies are downloaded or installed |
Flag | Explanation |
---|---|
--with-gnu-ld | assume the C compiler uses GNU ld [default=no] |
--with-sysroot=DIR | Search for dependent libraries within DIR (or the compiler's sysroot if not specified). |
--with-zookeeper[=DIR] | excludes building and using the bundled ZooKeeper package in lieu of an installed version at a location prefixed by the given path |
--with-leveldb[=DIR] | excludes building and using the bundled LevelDB package in lieu of an installed version at a location prefixed by the given path |
--with-glog[=DIR] | excludes building and using the bundled glog package in lieu of an installed version at a location prefixed by the given path |
--with-protobuf[=DIR] | excludes building and using the bundled protobuf package in lieu of an installed version at a location prefixed by the given path |
--with-gmock[=DIR] | excludes building and using the bundled gmock package in lieu of an installed version at a location prefixed by the given path |
--with-curl=[=DIR] | specify where to locate the curl library |
--with-sasl=[=DIR] | specify where to locate the sasl2 library |
--with-zlib=[=DIR] | specify where to locate the zlib library |
--with-apr=[=DIR] | specify where to locate the apr-1 library |
--with-svn=[=DIR] | specify where to locate the svn-1 library |
--with-libevent=[=DIR] | specify where to locate the libevent library |
--with-ssl=[=DIR] | specify where to locate the ssl library |
--with-network-isolator | builds the network isolator |
--with-nl=[=DIR] | specify where to locate the libnl3 library (required for the network isolator) |
Use these variables to override the choices made by `configure' or to help it to find libraries and programs with nonstandard names/locations.
Variable | Explanation |
---|---|
JAVA_HOME | location of Java Development Kit (JDK) |
JAVA_CPPFLAGS | preprocessor flags for JNI |
JAVA_JVM_LIBRARY | full path to libjvm.so |
MAVEN_HOME | looks for mvn at MAVEN_HOME/bin/mvn |
PROTOBUF_JAR | full path to protobuf jar on prefixed builds |
PYTHON | which Python interpreter to use |
PYTHON_VERSION | The installed Python version to use, for example '2.3'. This string will be appended to the Python interpreter canonical name. |