Je crée une application sur AWS EMR en utilisant la version YARN (et Dask) Hadoop 2.7.3-amzn-1. J'essaie de tester divers scénarios de défaillance et je souhaite simuler une défaillance de conteneur. Je n'arrive pas à trouver un moyen simple de tuer un conteneur YARN - uniquement l'application entière. Existe-t-il un utilitaire de ligne de commande pour cela?
3 Réponses :
YARN n'a pas de CLI ou d'API REST qui détruit un conteneur.
Le moyen le plus simple de créer un échec de conteneur est de se connecter à un hôte NodeManager et de tuer le processus (qui serait un conteneur) généré par le 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. Through the command yarn container -signal [container-ID] GRACEFUL_SHUTDOWN to achieve.i've tried and int works,I hope that will be helpful.
On dirait qu'il est exposé dans l'API à partir de la version 2.8.0 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) p >