2017-06-22 2 views

Antwort

0

Eine Lösung besteht darin, den HTTP-Endpunkt des Dienstes für die JSON-Dump-URL der JMX-Metrik aufzurufen. Sie können dazu jede HTTP-Client-Bibliothek in Ihrer Sprache verwenden. Sie erwähnten Tasktracker, so dass es klingt wie Sie Hadoop ausgeführt 1. Hier ist die Konfiguration Eigenschaft, die den HTTP-Endpunkt angibt:

<property> 
    <name>mapred.task.tracker.http.address</name> 
    <value>0.0.0.0:50060</value> 
    <description> 
    The task tracker http server address and port. 
    If the port is 0 then the server will start on a free port. 
    </description> 
</property> 

Sie dies nicht außer Kraft gesetzt haben Angenommen, die URL mit einer GET-Anfrage zu nennen wäre http://<host>:50060/jmx.

Viele Hadoop-Daemons setzen einen HTTP-Server frei und reagieren auf die URL /jmx. Diese Lösung ist nicht auf den TaskTracker beschränkt. Die spezifischen Metrik-Nutzdaten in der JSON-Antwort unterscheiden sich je Daemon, aber wenn Sie nur daran interessiert sind, ob der Dämon läuft oder nicht, reicht es aus, einfach nach einer erfolgreichen HTTP-Antwort zu suchen.

+0

Danke, Chris. Nur noch eine Frage: Wenn ich "ERR_CONNECTION_REFUSED" erhalte, bedeutet das, dass der TaskTracker erfolgreich beendet wurde? –

+0

@SavanPatel, eine zurückgewiesene TCP-Verbindung kann entweder 1) bedeuten, dass der Prozess nicht mehr läuft oder 2) der Prozess gerade erst begonnen hat, aber es gibt ein kurzes Fenster, in dem der abhörende Socket für den HTTP-Server nicht gebunden ist. In der Praxis ist dieses Zeitfenster kurz, so dass diese Unterscheidung für Dinge wie die Überwachung von Dashboards nicht von Bedeutung ist. Ich dachte, ich würde es aus Gründen der Vollständigkeit erwähnen. –

+0

@SavanPatel, war dies hilfreich? Wenn ja, dann überlege dir bitte, die Antwort zu akzeptieren. https://stackoverflow.com/help/someone-answers –

Verwandte Themen