yarn中的节点状态是什么?

ymdaylpp  于 2021-05-29  发布在  Hadoop
关注(0)|答案(2)|浏览(386)

我想用 yarn 跟踪节点的状态。所以,我知道 yarn node -list 查看我的节点。当我想列出某个状态下的所有节点时,我会尝试 yarn node -list -states <State> .
在webui中,我可以单击 nodes 我可以看到有时我的节点 UNHEALTHY . 为什么我不能从命令行执行类似的操作 yarn node -list -states UNHEALTHY ?
或者,有没有人可以给我一个参考,告诉我是哪一个 states 可用于此命令 yarn node -list -states <State> ?
我在这里找不到

whhtz7ly

whhtz7ly1#

嗨,如果你能找到所有国家直接从Yarn项目。例如,hadoop 2.7.3版本列出了节点的状态:

package org.apache.hadoop.yarn.api.records;

import org.apache.hadoop.classification.InterfaceAudience.Public;
import org.apache.hadoop.classification.InterfaceStability.Unstable;

/**
 * <p>State of a <code>Node</code>.</p>
 */
@Public
@Unstable
public enum NodeState {
  /**New node */
  NEW, 

  /**Running node */
  RUNNING, 

  /**Node is unhealthy */
  UNHEALTHY, 

  /**Node is out of service */
  DECOMMISSIONED, 

  /**Node has not sent a heartbeat for some configured time threshold*/
  LOST, 

  /**Node has rebooted */
  REBOOTED;

  public boolean isUnusable() {
    return (this == UNHEALTHY || this == DECOMMISSIONED || this == LOST);
  }
}

Yarn节点状态

hsvhsicv

hsvhsicv2#

运行错误的命令行

yarn node -list -states any

给你一个例外:

Exception in thread "main" java.lang.IllegalArgumentException: No enum constant org.apache.hadoop.yarn.api.records.NodeState.ANY
at java.lang.Enum.valueOf(Enum.java:238)
at org.apache.hadoop.yarn.api.records.NodeState.valueOf(NodeState.java:27)
at org.apache.hadoop.yarn.client.cli.NodeCLI.run(NodeCLI.java:113)
at org.apache.hadoop.util.ToolRunner.run(ToolRunner.java:70)
at org.apache.hadoop.util.ToolRunner.run(ToolRunner.java:84)
at org.apache.hadoop.yarn.client.cli.NodeCLI.main(NodeCLI.java:62)

因此使用以下枚举:org.apache.hadoop.yarn.api.records.nodestate根据您的版本,您可以检查枚举的值。这里是hadoop2.7.1的链接
正常情况下,

yarn node -list -states UNHEALTHY

从Yarn的Angular 看,如果你有不健康的节点,应该可以正常工作

相关问题