ES中_cat/nodes返回结果参数的解释以及性能调优指南

文章目录

  • 1、Elasticsearch `_cat/nodes?v` 字段详解
  • 2、常用字段说明
  • 3、`node.role` 字段详解
  • 4、示例输出
  • 5、其他可选参数
  • 6、总结

1、Elasticsearch _cat/nodes?v 字段详解

在 Elasticsearch 中,_cat/nodes API 用于查看集群中所有节点的信息。通过添加 ?v 参数,可以返回带有表头的详细输出,便于理解每个字段的含义。以下是 _cat/nodes?v 返回结果中常见字段的详细解释:


2、常用字段说明

以下是 _cat/nodes?v 返回结果中常见的字段及其含义:

字段名 含义
ip 节点的 IP 地址。
heap.percent 节点 JVM 堆内存使用百分比(0-100)。
ram.percent 节点物理内存使用百分比(0-100)。
cpu 节点 CPU 使用百分比(0-100)。
load_1m 节点在过去 1 分钟的系统负载(Linux 系统的 load average)。
load_5m 节点在过去 5 分钟的系统负载。
load_15m 节点在过去 15 分钟的系统负载。
node.role 节点的角色(见下文详细说明)。
master 指示该节点是否是当前的主节点(* 表示是主节点)。
name 节点的名称。
disk.total 节点磁盘总容量。
disk.used 节点磁盘已使用容量。
disk.avail 节点磁盘可用容量。
disk.used_percent 节点磁盘使用百分比(0-100)。
heap.current 节点当前 JVM 堆内存使用量。
heap.max 节点 JVM 堆内存的最大容量。
ram.current 节点当前物理内存使用量。
ram.max 节点物理内存的最大容量。
file_desc.current 节点当前打开的文件描述符数量。
file_desc.max 节点允许的最大文件描述符数量。
uptime 节点的运行时间(格式为 XdYhZm,例如 5d3h2m 表示 5 天 3 小时 2 分钟)。

3、node.role 字段详解

node.role 字段表示节点的角色,由以下字母组合表示:

  • mmaster 角色,表示该节点有资格被选举为主节点,即候选节点(注意,master不代表主节点)。
  • hdata_hot 角色,表示该节点是热节点,通常用于冷热隔离中,存储热数据。
  • wdata_warm 角色,表示该节点是温节点,通常用于冷热隔离中,存储温数据。
  • cdata_cold 角色,表示该节点是冷节点,通常用于冷热隔离中,存储冷数据。
  • fdata_frozen 角色,表示该节点是冷冻节点,通常用于数据冷备。
  • vvoting_only 角色,表示该节点仅参与投票,但不能被选举为主节点。
  • ddata 角色,表示该节点存储数据。
  • iingest 角色,表示该节点可以处理 ingest pipeline。
  • lml 角色,表示该节点运行机器学习任务(Machine Learning)。
  • rremote_cluster_client 角色,表示该节点可以作为跨集群搜索的客户端。
  • ttransform 角色,表示该节点可以运行 transform 任务。
  • scoordinating_only 角色,表示该节点仅作为协调节点(不存储数据,不参与主节点选举)。

示例

  • di:表示该节点是数据节点,并且可以处理 ingest pipeline。
  • mdi:表示该节点是候选节点、数据节点,并且可以处理 ingest pipeline。

4、示例输出

以下是一个 _cat/nodes?v 的示例输出:
ES中_cat/nodes返回结果参数的解释以及性能调优指南_第1张图片

解释

  • node-1 是一个主节点(master 列为 *),同时也是候选节点(node.rolem)。
  • node-2 是一个候选节点,他可以参与选举,也可以参与投票。
  • node-3 是一个仅投票节点,但其不参与 master 选举,因此它同时被配置为一个数据节点(node.roled
  • node-4node-5 是数据节点,承载高负载任务。

5、其他可选参数

_cat/nodes API 支持多种可选参数,用于过滤和格式化输出。以下是一些常用参数:

  • h:指定需要返回的字段。例如 h=ip,name,heap.percent
  • s:按指定字段排序。例如 s=heap.percent:desc 按堆内存使用百分比降序排序。
  • format:指定返回格式(如 jsonyaml 等)。
  • full_id:返回完整的节点 ID。
  • time:显示时间单位(如 mss 等)。

示例

  • 返回节点的 IP、名称和堆内存使用百分比,并按堆内存使用百分比排序:
GET _cat/nodes?v&h=ip,name,heap.percent&s=heap.percent:desc

6、总结

_cat/nodes?v 是 Elasticsearch 中用于查看集群节点状态的重要工具。通过返回的字段信息,可以全面了解节点的资源使用情况、角色和健康状况。掌握这些字段的含义,有助于更好地监控和优化 Elasticsearch 集群的性能。

你可能感兴趣的:(elasticsearch,运维,调优,ES,全文检索,ES角色)