2016-03-24 7 views
1

Yarn verwendet Container, um Ressource für eine Anwendung zu verwalten. Zum Beispiel definiert ein Container die zugewiesenen Speicher-/CPU-Kerne für eine Anwendung. Wie funktioniert das mit C++ - Anwendungen? Bei einem Container mit einer Ressource wie 512 MB, 2 CPUs, wie kann die C++ - Anwendung dem folgen oder enthalten sein?Verwenden Sie Apache Garn, um C++ - Anwendungen zu verwalten

Für Java-Anwendungen, ist die Ressourceneindämmung durch Eingrenzung der Ressource der jvm der Java-Anwendung getan?

Antwort

0

Yarn beschränkt die Speicherbelegung der Container, indem es den untergeordneten Prozess überwacht und es abbricht, wenn es den zulässigen Grenzwert überschreitet.

Wenn Sie eine C++ - Anwendung mit Yarn erstellen, startet der NodeManager einen untergeordneten Prozess und beginnt mit der Überwachung des Prozesses. Wenn Sie in die lokalen Protokolle des NodeManger schauen, sehen Sie viele Protokolle über die Speichernutzung des untergeordneten Prozesses. Wenn der untergeordnete Prozess den zulässigen Grenzwert überschreitet (standardmäßig kann ein Container die doppelte Speicherkapazität verwenden, die er beansprucht hat und die konfiguriert werden kann), wird der Prozess abgebrochen. Dasselbe gilt für C++ - Anwendungen und Java-Anwendungen.

0

Hadoop verwendet Linux-CGroups, um die Ressourcennutzung des Containers zu begrenzen. Ab Release 2.7.2 bieten YARN-Container Beschränkungen nur für die CPU-Auslastung. Reference

Verwandte Themen