Spec-Zone.ru › Elasticsearch 8
›Elasticsearch Guide [8.17] ›REST API

API кластеров

Справочник новых API

Для получения самых актуальных данных об API обратитесь к API кластеров.

Спецификация узлов

Некоторые API на уровне кластера могут работать с подмножеством узлов, которые можно указать с помощью фильтров узлов. Например, API управления задачами, статистики узлов и информации об узлах могут сообщать результаты по отфильтрованному набору узлов, а не со всех узлов.

Фильтры узлов записываются в виде списка отдельных фильтров, разделенных запятыми, каждый из которых добавляет или удаляет узлы из выбранного подмножества. Каждый фильтр может быть одним из следующих:

  • _all, чтобы добавить все узлы в подмножество.
  • _local, чтобы добавить локальный узел в подмножество.
  • _master, чтобы добавить выбранный в данный момент мастер-узел в подмножество.
  • идентификатор или имя узла, чтобы добавить этот узел в подмножество.
  • IP-адрес или имя хоста, чтобы добавить все соответствующие узлы в подмножество.
  • шаблон с использованием * подстановочных знаков, который добавляет все узлы в подмножество, имя, адрес или имя хоста которых соответствуют шаблону.
  • master:true, data:true, ingest:true, voting_only:true, ml:true или coordinating_only:true, которые соответственно добавляют в подмножество все узлы, способные быть мастерами, все узлы данных, все узлы обработки, все узлы только для голосования, все узлы машинного обучения и все узлы только для координации.
  • master:false, data:false, ingest:false, voting_only:false, ml:false или coordinating_only:false, которые соответственно удаляют из подмножества все узлы, способные быть мастерами, все узлы данных, все узлы обработки, все узлы только для голосования, все узлы машинного обучения и все узлы только для координации.
  • пара шаблонов с использованием * подстановочных знаков, имеющих вид attrname:attrvalue, которая добавляет в подмножество все узлы с пользовательским атрибутом узла, имя и значение которого соответствуют указанным шаблонам. Пользовательские атрибуты узлов настраиваются путем установки свойств в файле конфигурации в формате node.attr.attrname: attrvalue.

Фильтры узлов применяются в том порядке, в котором они заданы, что важно при использовании фильтров, удаляющих узлы из набора. Например, _all,master:false означает все узлы, кроме узлов, способных быть мастерами, но master:false,_all означает то же самое, что и _all, так как фильтр _all применяется после фильтра master:false.

Если фильтры не указаны, по умолчанию выбираются все узлы. Однако, если фильтры заданы, они применяются, начиная с пустого выбранного подмножества. Это означает, что фильтры, такие как master:false, которые удаляют узлы из выбранного подмножества, полезны только тогда, когда они следуют за другими фильтрами. При использовании только master:false, узлы не выбираются.

Вот несколько примеров использования фильтров узлов с API информации об узлах.

resp = client.nodes.info()
print(resp)

resp1 = client.nodes.info(
    node_id="_all",
)
print(resp1)

resp2 = client.nodes.info(
    node_id="_local",
)
print(resp2)

resp3 = client.nodes.info(
    node_id="_master",
)
print(resp3)

resp4 = client.nodes.info(
    node_id="node_name_goes_here",
)
print(resp4)

resp5 = client.nodes.info(
    node_id="node_name_goes_*",
)
print(resp5)

resp6 = client.nodes.info(
    node_id="10.0.0.3,10.0.0.4",
)
print(resp6)

resp7 = client.nodes.info(
    node_id="10.0.0.*",
)
print(resp7)

resp8 = client.nodes.info(
    node_id="_all,master:false",
)
print(resp8)

resp9 = client.nodes.info(
    node_id="data:true,ingest:true",
)
print(resp9)

resp10 = client.nodes.info(
    node_id="coordinating_only:true",
)
print(resp10)

resp11 = client.nodes.info(
    node_id="master:true,voting_only:false",
)
print(resp11)

resp12 = client.nodes.info(
    node_id="rack:2",
)
print(resp12)

resp13 = client.nodes.info(
    node_id="ra*:2",
)
print(resp13)

resp14 = client.nodes.info(
    node_id="ra*:2*",
)
print(resp14)
response = client.nodes.info
puts response

response = client.nodes.info(
  node_id: '_all'
)
puts response

response = client.nodes.info(
  node_id: '_local'
)
puts response

response = client.nodes.info(
  node_id: '_master'
)
puts response

response = client.nodes.info(
  node_id: 'node_name_goes_here'
)
puts response

response = client.nodes.info(
  node_id: 'node_name_goes_*'
)
puts response

response = client.nodes.info(
  node_id: '10.0.0.3,10.0.0.4'
)
puts response

response = client.nodes.info(
  node_id: '10.0.0.*'
)
puts response

response = client.nodes.info(
  node_id: '_all,master:false'
)
puts response

response = client.nodes.info(
  node_id: 'data:true,ingest:true'
)
puts response

response = client.nodes.info(
  node_id: 'coordinating_only:true'
)
puts response

response = client.nodes.info(
  node_id: 'master:true,voting_only:false'
)
puts response

response = client.nodes.info(
  node_id: 'rack:2'
)
puts response

response = client.nodes.info(
  node_id: 'ra*:2'
)
puts response

response = client.nodes.info(
  node_id: 'ra*:2*'
)
puts response
const response = await client.nodes.info();
console.log(response);

const response1 = await client.nodes.info({
  node_id: "_all",
});
console.log(response1);

const response2 = await client.nodes.info({
  node_id: "_local",
});
console.log(response2);

const response3 = await client.nodes.info({
  node_id: "_master",
});
console.log(response3);

const response4 = await client.nodes.info({
  node_id: "node_name_goes_here",
});
console.log(response4);

const response5 = await client.nodes.info({
  node_id: "node_name_goes_*",
});
console.log(response5);

const response6 = await client.nodes.info({
  node_id: "10.0.0.3,10.0.0.4",
});
console.log(response6);

const response7 = await client.nodes.info({
  node_id: "10.0.0.*",
});
console.log(response7);

const response8 = await client.nodes.info({
  node_id: "_all,master:false",
});
console.log(response8);

const response9 = await client.nodes.info({
  node_id: "data:true,ingest:true",
});
console.log(response9);

const response10 = await client.nodes.info({
  node_id: "coordinating_only:true",
});
console.log(response10);

const response11 = await client.nodes.info({
  node_id: "master:true,voting_only:false",
});
console.log(response11);

const response12 = await client.nodes.info({
  node_id: "rack:2",
});
console.log(response12);

const response13 = await client.nodes.info({
  node_id: "ra*:2",
});
console.log(response13);

const response14 = await client.nodes.info({
  node_id: "ra*:2*",
});
console.log(response14);
# If no filters are given, the default is to select all nodes
GET /_nodes
# Explicitly select all nodes
GET /_nodes/_all
# Select just the local node
GET /_nodes/_local
# Select the elected master node
GET /_nodes/_master
# Select nodes by name, which can include wildcards
GET /_nodes/node_name_goes_here
GET /_nodes/node_name_goes_*
# Select nodes by address, which can include wildcards
GET /_nodes/10.0.0.3,10.0.0.4
GET /_nodes/10.0.0.*
# Select nodes by role
GET /_nodes/_all,master:false
GET /_nodes/data:true,ingest:true
GET /_nodes/coordinating_only:true
GET /_nodes/master:true,voting_only:false
# Select nodes by custom attribute (e.g. with something like `node.attr.rack: 2` in the configuration file)
GET /_nodes/rack:2
GET /_nodes/ra*:2
GET /_nodes/ra*:2*

© 2023-2025 Elasticsearch
As of September 2024, Elasticsearch is available under a choice of three licenses: the Server Side Public License (SSPL), the Elastic License, or the AGPLv3 (OSI approved).
Elasticsearch and the Elasticsearch logo are trademarks of Elasticsearch B.V., registered in the U.S. and in other countries.
https://www.elastic.co/guide/en/elasticsearch/reference/8.17/cluster.html

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API