Yannick Welsch 2049f715b3 Add voting-only master node (#43410)
A voting-only master-eligible node is a node that can participate in master elections but will not act
as a master in the cluster. In particular, a voting-only node can help elect another master-eligible
node as master, and can serve as a tiebreaker in elections. High availability (HA) clusters require at
least three master-eligible nodes, so that if one of the three nodes is down, then the remaining two
can still elect a master amongst them-selves. This only requires one of the two remaining nodes to
have the capability to act as master, but both need to have voting powers. This means that one of
the three master-eligible nodes can be made as voting-only. If this voting-only node is a dedicated
master, a less powerful machine or a smaller heap-size can be chosen for this node. Alternatively, a
voting-only non-dedicated master node can play the role of the third master-eligible node, which
allows running an HA cluster with only two dedicated master nodes.

Closes #14340

Co-authored-by: David Turner <david.turner@elastic.co>
2019-06-26 08:07:56 +02:00

149 lines
4.0 KiB
Plaintext

[role="xpack"]
[testenv="basic"]
[[info-api]]
== Info API
The info API provides general information about the installed {xpack} features.
[float]
=== Request
`GET /_xpack`
[float]
=== Description
The information provided by this API includes:
* Build Information - including the build number and timestamp.
* License Information - basic information about the currently installed license.
* Features Information - The features that are currently enabled and available
under the current license.
[float]
=== Path Parameters
`categories`::
(list) A comma-separated list of the information categories to include in the
response. For example, `build,license,features`.
`human`::
(boolean) Defines whether additional human-readable information is included in
the response. In particular, it adds descriptions and a tag line. The
default value is `true`.
//=== Query Parameters
//=== Authorization
[float]
=== Examples
The following example queries the info API:
[source,js]
------------------------------------------------------------
GET /_xpack
------------------------------------------------------------
// CONSOLE
Example response:
[source,js]
------------------------------------------------------------
{
"build" : {
"hash" : "2798b1a3ce779b3611bb53a0082d4d741e4d3168",
"date" : "2015-04-07T13:34:42Z"
},
"license" : {
"uid" : "893361dc-9749-4997-93cb-xxx",
"type" : "trial",
"mode" : "trial",
"status" : "active",
"expiry_date_in_millis" : 1542665112332
},
"features" : {
"ccr" : {
"available" : true,
"enabled" : true
},
"data_frame" : {
"available" : true,
"enabled" : true
},
"graph" : {
"available" : true,
"enabled" : true
},
"ilm" : {
"available" : true,
"enabled" : true
},
"logstash" : {
"available" : true,
"enabled" : true
},
"ml" : {
"available" : true,
"enabled" : true,
"native_code_info" : {
"version" : "7.0.0-alpha1-SNAPSHOT",
"build_hash" : "99a07c016d5a73"
}
},
"monitoring" : {
"available" : true,
"enabled" : true
},
"rollup": {
"available": true,
"enabled": true
},
"security" : {
"available" : true,
"enabled" : false
},
"sql" : {
"available" : true,
"enabled" : true
},
"vectors" : {
"available" : true,
"enabled" : true
},
"voting_only" : {
"available" : true,
"enabled" : true
},
"watcher" : {
"available" : true,
"enabled" : true
}
},
"tagline" : "You know, for X"
}
------------------------------------------------------------
// TESTRESPONSE[s/"hash" : "2798b1a3ce779b3611bb53a0082d4d741e4d3168",/"hash" : "$body.build.hash",/]
// TESTRESPONSE[s/"date" : "2015-04-07T13:34:42Z"/"date" : "$body.build.date"/]
// TESTRESPONSE[s/"uid" : "893361dc-9749-4997-93cb-xxx",/"uid": "$body.license.uid",/]
// TESTRESPONSE[s/"expiry_date_in_millis" : 1542665112332/"expiry_date_in_millis" : "$body.license.expiry_date_in_millis"/]
// TESTRESPONSE[s/"version" : "7.0.0-alpha1-SNAPSHOT",/"version": "$body.features.ml.native_code_info.version",/]
// TESTRESPONSE[s/"build_hash" : "99a07c016d5a73"/"build_hash": "$body.features.ml.native_code_info.build_hash"/]
// So much s/// but at least we test that the layout is close to matching....
The following example only returns the build and features information:
[source,js]
------------------------------------------------------------
GET /_xpack?categories=build,features
------------------------------------------------------------
// CONSOLE
The following example removes the descriptions from the response:
[source,js]
------------------------------------------------------------
GET /_xpack?human=false
------------------------------------------------------------
// CONSOLE