Skip to content

Commit 6e3d8df

Browse files
committed
add cluster_apis/cluster_state.md
1 parent 237377a commit 6e3d8df

File tree

3 files changed

+138
-1
lines changed

3 files changed

+138
-1
lines changed

README.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -899,7 +899,7 @@ npm run docs:dev
899899
- :heavy_check_mark: 集群健康 API [:link:](https://elasticsearch.bookhub.techrest_apis/cluster_apis/cluster_health)
900900
- :heavy_check_mark: 健康 API [:link:](https://elasticsearch.bookhub.techrest_apis/cluster_apis/health)
901901
- :heavy_check_mark: 集群重路由 API [:link:](https://elasticsearch.bookhub.techrest_apis/cluster_apis/cluster_reroute)
902-
- Cluster state
902+
- :heavy_check_mark: 集群状态 API [:link:](https://elasticsearch.bookhub.techrest_apis/cluster_apis/cluster_state)
903903
- Cluster stats
904904
- Cluster update settings
905905
- Nodes feature usage
Lines changed: 136 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,136 @@
1+
# 集群状态 API
2+
3+
:::info 新 API 参考
4+
有关最新的 API 详情,请参阅[集群 API](https://www.elastic.co/docs/api/doc/elasticsearch/v8/group/endpoint-cluster)
5+
:::
6+
7+
返回集群状态的内部表示,用于调试或诊断目的。
8+
9+
## 请求
10+
11+
```bash
12+
GET /_cluster/state/<metrics>/<target>
13+
```
14+
15+
## 前置条件
16+
17+
- 如果启用了 Elasticsearch 安全特性,你必须具有 `monitor``manage` [集群权限](/secure_the_elastic_statck/user_authorization/security_privileges#集群权限)以使用此 API。
18+
19+
## 描述
20+
21+
集群状态是一个内部数据结构,用于跟踪每个节点所需的各种信息,包括:
22+
23+
- 集群中其他节点的身份和属性
24+
- 集群范围的设置
25+
- 索引元数据,包括每个索引的映射和设置
26+
- 集群中每个分片副本的位置和状态
27+
28+
当选主节点确保集群中的每个节点都拥有相同的集群状态副本。集群状态 API 允许您检索此内部状态的表示形式,用于调试或诊断目的。您可能需要查阅 Elasticsearch 源代码来确定响应的确切含义。
29+
30+
默认情况下,集群状态 API 会将请求路由到当选主节点,因为该节点是集群状态的权威来源。您还可以通过添加查询参数 `?local=true` 来检索处理 API 请求的节点上所持有的集群状态。
31+
32+
在大型集群中,Elasticsearch 可能需要耗费大量资源来计算此 API 的响应,且响应可能包含大量数据。如果您重复使用此 API,可能会导致集群不稳定。
33+
34+
:::warning 警告
35+
响应是内部数据结构的表示。其格式不享有与其他更稳定 API 相同的兼容性保证,并且可能因版本而异。**请勿使用外部监控工具查询此 API。** 相反,请使用其他更稳定的[集群 API](/rest_apis/cluster_apis) 获取所需信息。
36+
:::
37+
38+
## 路径参数
39+
40+
集群状态有时可能非常庞大,Elasticsearch 在计算此 API 的响应时可能消耗大量资源。为了减小响应的大小,您可以仅请求您感兴趣的那部分集群状态:
41+
42+
- `<metrics>`
43+
44+
(可选,字符串)逗号分隔的以下选项列表:
45+
46+
- `_all`
47+
48+
显示所有指标。
49+
50+
- `blocks`
51+
52+
显示响应的 `blocks` 部分。
53+
54+
- `master_node`
55+
56+
显示响应的 `master_node` 部分。
57+
58+
- `metadata`
59+
60+
显示响应的 `metadata` 部分。如果您提供逗号分隔的索引列表,则返回的输出将仅包含这些索引的元数据。
61+
62+
- `nodes`
63+
64+
显示响应的 `nodes` 部分。
65+
66+
- `routing_nodes`
67+
68+
显示响应的 `routing_nodes` 部分。
69+
70+
- `routing_table`
71+
72+
显示响应的 `routing_table` 部分。如果您提供逗号分隔的索引列表,则返回的输出将仅包含这些索引的路由表。
73+
74+
- `version`
75+
76+
显示集群状态版本。
77+
78+
- `<target>`
79+
80+
(可选,字符串)用于限制请求的数据流、索引和别名的逗号分隔列表。支持通配符 (`*`)。若要针对所有数据流和索引,请忽略此参数或使用 `*``_all`
81+
82+
## 查询参数
83+
84+
- `allow_no_indices`
85+
86+
(可选,布尔值)如果为 `true`,则解析为无具体索引的通配符索引表达式将被忽略。(这包括 `_all` 字符串或未指定任何索引的情况)。默认为 `true`
87+
88+
- `expand_wildcards`
89+
90+
(可选,字符串)是否将通配符表达式扩展为打开的、关闭的或两者兼有的具体索引。可用选项:`open``closed``none``all`
91+
92+
- `flat_settings`
93+
94+
(可选,布尔值)如果为 `true`,则以扁平格式返回设置。默认为 `false`
95+
96+
- `ignore_unavailable`
97+
98+
(可选,布尔值)如果为 `true`,则不可用索引(缺失或关闭)将被忽略。
99+
100+
- `local`
101+
102+
(可选,布尔值)如果为 `true`,则请求仅从本地节点检索信息。默认为 `false`,表示从主节点检索信息。
103+
104+
- `master_timeout`
105+
106+
(可选,[时间单位](/rest_apis/api_convention/common_options.html#时间单位))等待主节点的时间段。如果主节点在超时到期前不可用,则请求失败并返回错误。默认为 `30s`。也可以设置为 `-1` 以表示请求永不超时。
107+
108+
- `wait_for_metadata_version`
109+
110+
(可选,整数)等待元数据版本等于或大于指定的元数据版本。
111+
112+
- `wait_for_timeout`
113+
114+
(可选,[时间单位](/rest_apis/api_convention/common_options.html#时间单位))指定等待 `wait_for_metadata_version` 的最大超时时间。
115+
116+
## 示例
117+
118+
以下示例仅返回 `foo``bar` 数据流或索引的 `metadata``routing_table` 数据:
119+
120+
```bash
121+
GET /_cluster/state/metadata,routing_table/foo,bar
122+
```
123+
124+
下一个示例返回 `foo``bar` 的所有可用元数据:
125+
126+
```bash
127+
GET /_cluster/state/_all/foo,bar
128+
```
129+
130+
此示例仅返回 `blocks` 元数据:
131+
132+
```bash
133+
GET /_cluster/state/blocks
134+
```
135+
136+
> [原文链接](https://www.elastic.co/guide/en/elasticsearch/reference/8.18/cluster-state.html)

sidebars.js

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -176,6 +176,7 @@ const sidebars = {
176176
"rest_apis/cluster_apis/cluster_health",
177177
"rest_apis/cluster_apis/health",
178178
"rest_apis/cluster_apis/cluster_reroute",
179+
"rest_apis/cluster_apis/cluster_state",
179180
],
180181
},
181182
{

0 commit comments

Comments
 (0)