codahale-metrics

___ qstnhdr ___ Spark-Streaming benutzerdefinierte Metriken ___ qstntxt ___

Ich arbeite an einem Spark-Streaming-Programm, das einen Kafka-Stream abruft, sehr grundlegende Transformation im Stream durchführt und dann die Daten in einen DB (Voltdb, wenn es relevant ist) einfügt. Ich versuche die Rate zu messen, mit der ich Zeilen in die Datenbank einfüge. Ich denke, Metriken können nützlich sein (mit JMX). Ich kann jedoch nicht herausfinden, wie benutzerdefinierte Metriken zu Spark hinzugefügt werden. Ich habe Sparks Quellcode angeschaut und auch gefunden Thread aber es funktioniert nicht für mich. Ich habe auch die JMX-Senke in der Datei conf.metrics aktiviert. Was nicht funktioniert, ist, dass meine benutzerdefinierten Messwerte nicht mit JConsole angezeigt werden.

Könnte jemand erklären, wie man benutzerdefinierte Metriken (vorzugsweise über JMX) zum Funken-Streaming hinzufügt? Oder alternativ, wie meine Einführungsrate zu meiner DB (speziell VoltDB) zu messen? Ich verwende Spark mit Java 8.

    
___ tag123java ___ Java (nicht zu verwechseln mit JavaScript oder JScript oder JS) ist eine universelle objektorientierte Programmiersprache, die für die Verwendung in Verbindung mit der Java Virtual Machine (JVM) entwickelt wurde. "Java-Plattform" ist der Name für ein Computersystem, auf dem Tools zum Entwickeln und Ausführen von Java-Programmen installiert sind. Verwenden Sie dieses Tag für Fragen, die sich auf die Java-Programmiersprache oder Java-Plattform-Tools beziehen. ___ tag123apachespark ___ Apache Spark ist eine Open-Source-Bibliothek für die verteilte Datenverarbeitung für groß angelegte In-Memory-Datenanalyse-Computing. ___ tag123jmx ___ Java Management eXtensions ist eine Standard-Java-API, die die Instrumentierung und Überwachung eines laufenden Java-Programms ermöglicht. ___ answer43069665 ___

Groupon haben eine Bibliothek namens %code% , mit der Sie eine einfache (Codahale-ähnliche) API auf Ihren Executoren verwenden können Die Ergebnisse werden im Treiber gesammelt und automatisch in der vorhandenen Metrik-Registrierung von Spark registriert. Diese werden dann automatisch zusammen mit Sparks integrierten Metriken exportiert, wenn Sie eine Metriksenke gemäß der Spark-Dokumentation .

    
___ answer32847596 ___

Hier finden Sie ein hervorragendes Tutorial, das alle Setups abdeckt, die Sie benötigen, um Sparks MetricsSystem mit Graphite einzurichten. Das sollte den Trick machen:

Ссылка

    
___ tag123sparkstreaming ___ Spark Streaming ist eine Erweiterung der Apache Spark API, die eine hochverfügbare, fehlertolerante Stream-Verarbeitung von Live-Datenströmen ermöglicht. Ab der Version 1.3.0 unterstützt es genau einmal Verarbeitung Semantik, auch im Falle von Fehlern. ___ answer32883692 ___

Nach dem Durchsuchen des Quellcodes habe ich herausgefunden, wie ich meine eigenen benutzerdefinierten Messwerte hinzufügen kann. Es erfordert 3 Dinge:

  1. Erstellen Sie meine eigene benutzerdefinierte Quelle So ähnlich wie dies
  2. Aktivieren Sie die Jmx-Senke in der Datei spark metrics.properties. Die spezifische Zeile, die ich verwendet habe, ist: %code% , die JmxSink für alle Instanzen aktivieren
  3. Registrieren Sie meine benutzerdefinierte Quelle im SparkEnv-Metrikensystem. Ein Beispiel dafür, wie man vorgeht, ist hier - Ich habe diesen Link zwar schon einmal angesehen, aber den Registrierungsteil verpasst, der mich daran hinderte, meine benutzerdefinierten Messwerte in JVisualVM
  4. zu sehen

Ich habe immer noch Probleme damit, die Anzahl der Einfügungen in VoltDB zu zählen, weil der Code auf den Executoren läuft, aber das ist ein Thema für ein anderes Thema:)

Ich hoffe, das wird anderen helfen

    
___ tag123codohalemetrics ___ Eine Java-Bibliothek, die während der Laufzeit Metriken über eine Software, insbesondere Server, sammelt und an ein zentrales System wie StatsD oder Graphite sendet. ___ answer33589221 ___

um Zeilen basierend auf Einfügungen von VoltDB einzufügen, benutze Akkumulatoren - und dann von deinem Treiber kannst du einen Listener erstellen - vielleicht so etwas, um loszulegen

%Vor%

Hier haben Sie Zugriff auf diese Zeilen kombiniert Akkumulatoren und dann können Sie an Ihre Spüle senden ..

    
___
2
Antworten

Wie konfiguriere ich HikariCP und Dropwizard / Coda-Hale Metriken in Spring Boot-Anwendung

Wenn Sie die Anweisungen im HikariCP-Wiki lesen, um die Dropwizard-Metriken zu aktivieren, müssen Sie lediglich eine MetricsRegistry-Instanz in HikariConfig oder HikariDatasource konfigurieren. Das Problem ist, dass im Spring Boot die gesamte Ko...
19.02.2015, 19:29
4
Antworten

Spark-Streaming benutzerdefinierte Metriken

Ich arbeite an einem Spark-Streaming-Programm, das einen Kafka-Stream abruft, sehr grundlegende Transformation im Stream durchführt und dann die Daten in einen DB (Voltdb, wenn es relevant ist) einfügt. Ich versuche die Rate zu messen, mit der i...
29.09.2015, 12:17