2013-05-07 11 views
6

Próbuję profilować moją aplikację, aby sprawdzić, czy mogę odtworzyć this blogpost. Dodałem -D mapred.task.profile = true do wiersza poleceń i zaznaczyłem konfigurację zadania, która zajęła.Wyjście profilu Hadoop - gdzie i co?

Hadoop: The Definitive Guide mówi, że informacje o profilu pojawią się w katalogu Unix, z którego uruchomiłem zadanie. Katalog, z którego rozpocząłem, ma plik prob_201305011806_0042_m_000002_0.profile, który jest poprawnym ID zadania, ale nie było programu odwzorowującego nr 2 (tylko 1 program odwzorowujący i nie zakończyło się niepowodzeniem). Dane wyjściowe zawierają tylko informacje nagłówkowe w pliku profilu; nie ma żadnych faktycznych informacji profilujących.

Dokumentacja Hadoop mówi, że dane wyjściowe znajdą się w katalogu dziennika użytkownika, ale nie mogę znaleźć niczego. Jeśli przejdę do dzienników zadań dla programu odwzorowującego, w profilu "profile.out logs" znajdują się informacje profilowe z legalnymi informacjami. Mój katalog wyjściowy HDFS nie ma w ogóle informacji o profilowaniu. Czy wyjścia profilujące nie powinny być gdzieś w HDFS?

Dodaje również dane wyjściowe tekstowe w dzienniku, ale wszystkie narzędzia, które znalazłem do wizualizacji profilu, zakładają binarny format hprof. Jakieś pomysły na to, w jaki sposób mogę uzyskać profil binarny lub załadować profil tekstowy do narzędzia hprof?

+0

Czy to rozwiązane? – AST

+0

Nie, musieliśmy wyłączyć klaster Hadoop z innych powodów, zanim mogłem to rozgryźć. Zamknęłbym to pytanie, ale może być przydatne dla innych. – Keith

+0

Okay dzięki za informacje. – AST

Odpowiedz

3

zauważyłem istnieje przestrzeń na

-D mapred.task.profile=true 

Czy to literówka? Jeśli tak, po prostu go usuń i zobacz, co się stanie. Ponadto, powinieneś być w stanie zobaczyć pliki profilera w katalogu dziennika użytkownika, który zwykle jest tam, gdzie został uruchomiony. Również hprof jest domyślnym dla Hadoop, więc sprawdzić, czy nie są zastąpieniem go

-Dmapred.task.profile.params 
Powiązane problemy