Ich benutze Protokollierung zum Debuggen, aber es ist extrem ineffizient. Welche anderen Ansätze gibt es?Wie debugere ich Akkumulatoren und Filter?
Antwort
Accumulo hat zwei Debug-Versionen, die Sie vor Ort bei der Entwicklung zu helfen, laufen oder Gerät verwenden in testen.
MockAccumulo - eine leichte In-Memory-Version. Ich glaube, dass dies relativ bald zugunsten von Mini Accumulo Cluster aus der Codebasis entfernt werden könnte.
Mini Accumulo Cluster - dies ist viel repräsentativer von Accumulo als MockAccumulo, es führt eigentlich Zookeeper und führt den gleichen Code ein normales Accumulo-Cluster würde laufen.
Ich habe MockAccumulo schon lange benutzt, um bei der Iterator-Entwicklung zu helfen und mindestens einige Arten von Komponententests zu ermöglichen, und fand es sehr hilfreich.
Leider ist das Protokollieren meist das Beste. Es ist ziemlich schwierig, mit einem herkömmlichen Debugger zu debuggen, insbesondere in einer Produktionsumgebung aufgrund der verteilten Natur von Iteratoren. Für das Debugging auf der Geräteebene sollten Sie am besten einige Skripts zusammenstellen, um alle Ihre Protokolle an einem Ort abzurufen, damit Sie sie effizient analysieren können. Im Entwicklungsmodus können Sie Ihren Hadoop-Cluster im lokalen/Einzel/Standalone-Modus einrichten, wodurch es einfacher wird herauszufinden, wo Ihre Iteratoren ausgeführt werden, sodass Sie einen Debugger an den laufenden Prozess anhängen können.
Diese Frage ist nicht für Accumulo pro sagen, aber könnten Sie ein paar Ideen zu tun Protokollierung Debuggen
Der Iterator-Test-Kabelbaum könnte Ihnen behilflich sein.
https://github.com/apache/accumulo/tree/1.8/iterator-test-harness
- 1. Akkumulatoren in Haskell
- 2. Problem mit Akkumulatoren in Prolog
- 3. Spark: Akkumulatoren funktioniert nicht richtig, wenn ich es im Bereich
- 4. Guava: Wie kombiniere ich Filter und transformiere?
- 5. Wie debugere ich mein JavaScript, das von Chutzpah/PhantomJS ausgeführt wird
- 6. Filter und Filter in dplyr
- 7. Wie schreibe ich spam filter
- 8. Wie verwende ich UND in einem Django-Filter?
- 9. Wie kombiniere ich Filter und Karte in Scala?
- 10. Verwenden von rollenden Akkumulatoren in ungeordneten Karten in einer Klasse
- 11. Unterstützt eine Version von Prolog eine Abstraktion höherer Ordnung von Akkumulatoren?
- 12. Bilder Deface und Filter
- 13. Wie implementiere ich einen LowPass Filter?
- 14. Trikot und Filter Ausnahmebehandlung
- 15. Pandas Filter und kombinieren
- 16. microsoft.graph.search Filter und Orderby
- 17. In IE, wie entferne ich einen Filter?
- 18. Wie benutze ich Pandas Filter mit IQR?
- 19. Wie bekomme ich Hibernate Filter in JPA?
- 20. Wie kann ich einen Filter testen?
- 21. Wie kann ich CSS-Filter erkennen?
- 22. Gesichtserkennung und geben Filter
- 23. C# Wie schreibe ich Regular Expression Filter
- 24. Underscore.js .filter() und .any()
- 25. Wie wende ich einen benutzerdefinierten Filter an?
- 26. Wie erstelle ich effektive SQL-Filter?
- 27. Wie entpacken Artefakt und Filter Ressourcen?
- 28. Wie Filter zwischen Eltern und Kind
- 29. Wie Filter in ng-wenn und Variable?
- 30. Wie BooleanQuery und Filter für Lucene kombinieren?
Danke, das funktioniert. Findet das auch zwischen Frage und Antwort - http://affy.blogspot.com/2013/03/testing-your-grepiterator-without.html – kgu87