如何杀死 YARN 容器以测试失败场景
How do I kill a YARN container to test failure scenarios
我正在使用 YARN(和 Dask)版本 Hadoop 2.7.3-amzn-1 在 AWS EMR 上构建应用程序。我正在尝试测试各种故障场景,并且我想模拟容器故障。我似乎找不到一种简单的方法来杀死 YARN 容器——只有整个应用程序。是否有用于此的命令行实用程序?
YARN 没有终止容器的 CLI 或 REST API。
创建容器失败的最简单方法是登录到 NodeManager 主机并终止由 NodeManager 生成的进程(这将是一个容器)。
[root@node1 lillcol]# yarn container -help
20/04/24 15:04:14 INFO client.AHSProxy: Connecting to Application History server at node1/127.0.0.1:10200
usage: container
-help Displays help for all commands.
-list <Application Attempt ID> List containers for application
attempt.
-signal <container ID [signal command]> Signal the container. The
available signal commands are
[OUTPUT_THREAD_DUMP,
GRACEFUL_SHUTDOWN,
FORCEFUL_SHUTDOWN] Default
command is OUTPUT_THREAD_DUMP.
-status <Container ID> Prints the status of the
container.
通过命令yarn container -signal [container-ID] GRACEFUL_SHUTDOWN
实现。
我已经尝试过并且 int 有效,希望对您有所帮助。
似乎从 2.8.0 版本开始在 API 中公开了
https://hadoop.apache.org/docs/r2.8.0/api/org/apache/hadoop/yarn/client/api/YarnClient.html#signalToContainer(org.apache.hadoop.yarn.api.records.ContainerId,%20org.apache.hadoop.yarn.api.records.SignalContainerCommand)
我正在使用 YARN(和 Dask)版本 Hadoop 2.7.3-amzn-1 在 AWS EMR 上构建应用程序。我正在尝试测试各种故障场景,并且我想模拟容器故障。我似乎找不到一种简单的方法来杀死 YARN 容器——只有整个应用程序。是否有用于此的命令行实用程序?
YARN 没有终止容器的 CLI 或 REST API。
创建容器失败的最简单方法是登录到 NodeManager 主机并终止由 NodeManager 生成的进程(这将是一个容器)。
[root@node1 lillcol]# yarn container -help
20/04/24 15:04:14 INFO client.AHSProxy: Connecting to Application History server at node1/127.0.0.1:10200
usage: container
-help Displays help for all commands.
-list <Application Attempt ID> List containers for application
attempt.
-signal <container ID [signal command]> Signal the container. The
available signal commands are
[OUTPUT_THREAD_DUMP,
GRACEFUL_SHUTDOWN,
FORCEFUL_SHUTDOWN] Default
command is OUTPUT_THREAD_DUMP.
-status <Container ID> Prints the status of the
container.
通过命令yarn container -signal [container-ID] GRACEFUL_SHUTDOWN
实现。
我已经尝试过并且 int 有效,希望对您有所帮助。
似乎从 2.8.0 版本开始在 API 中公开了 https://hadoop.apache.org/docs/r2.8.0/api/org/apache/hadoop/yarn/client/api/YarnClient.html#signalToContainer(org.apache.hadoop.yarn.api.records.ContainerId,%20org.apache.hadoop.yarn.api.records.SignalContainerCommand)