2010-12-19 6 views
6

Wenn Dateien über den verteilten Cache-Mechanismus in einem Hadoop-Streaming-Job an Knoten übertragen werden, löscht das System diese Dateien, nachdem ein Job abgeschlossen wurde? Wenn sie gelöscht werden, was ich vermute, gibt es eine Möglichkeit, den Cache für mehrere Jobs zu behalten? Funktioniert das auf Amazon Elastic Mapreduce?Lebensdauer des verteilten Caches in Hadoop

Antwort

5

Ich habe im Quellcode herumgegraben, und es sieht so aus, als ob Dateien von TrackerDistributedCacheManager etwa einmal pro Minute gelöscht werden, wenn ihre Referenzzahl auf Null fällt. Die TaskRunner gibt explizit alle ihre Dateien am Ende einer Aufgabe frei. Vielleicht solltest du TaskRunner bearbeiten, um dies nicht zu tun, und den Cache durch explizitere Mittel selbst steuern?

+0

Das ist eine große Hilfe. Ich denke, es könnte andere Wege geben, Dateien auf die Knoten zu laden, die ich untersuchen werde. Der verteilte Cache war genau die Methode, mit der ich vertraut war. Danke für den Code Ref, das ist unglaublich hilfreich. –