2011-12-27 10 views
5

Po przeczytaniu http://gbif.blogspot.com/2011/01/setting-up-hadoop-cluster-part-1-manual.html doszliśmy do wniosku, że nasz klaster 6-węzłów mógłby użyć jakiegoś tuningu, a parametr io.sort.factor wydaje się być dobrym kandydatem, ponieważ kontroluje ważny kompromis. Planujemy ulepszenia i testowanie, ale planowanie z wyprzedzeniem i wiedza, czego się spodziewać i co obejrzeć wydaje się uzasadniona.Jak mogę sprawdzić, czy mój parametr konfiguracyjny miodu przystawki io.sort.factor jest za mały lub za duży?

Obecnie jest na 10. Jak moglibyśmy wiedzieć, że powoduje on zbyt wiele scaleń? Kiedy ją zbieramy, skąd będziemy wiedzieć, że powoduje to zbyt wiele plików do otwarcia?

Należy pamiętać, że nie możemy wykonać fragmenty dziennika blog bezpośrednio jak to zaktualizowana CDH3b2, a my pracujemy nad CDH3u2, a one się zmieniły ...

Odpowiedz

9

Istnieje kilka kompromisów do rozważenia.

  1. liczba wyszukiwań podczas łączenia plików. Jeśli zwiększysz współczynnik scalania za wysoki, to koszt poszukiwania na dysku przekroczy oszczędności wynikające z równoległego scalania (pamiętaj, że pamięć podręczna systemu operacyjnego może to nieco złagodzić).

  2. Zwiększenie współczynnika sortowania zmniejsza ilość danych w każdej partycji. Wierzę, że liczba to io.sort.mb/io.sort.factor dla każdej partycji posortowanych danych. Uważam, że ogólną zasadą jest, że mam io.sort.mb = 10 * io.sort.factor (jest to oparte na opóźnieniu przeszukiwania dysku na prędkości transferu, jestem przekonany, jestem pewien, że można to dostroić lepiej jeśli to było twoje wąskie gardło. Jeśli zachowasz je w zgodzie ze sobą, należy zminimalizować obciążenie związane z procesem scalania,

  3. Jeśli zwiększysz wartość io.sort.mb, zwiększysz ciśnienie pamięci w klastrze, pozostawiając . mniej dostępnej pamięci dla zadań zawodowych użycie pamięci do sortowania zadań jest Mapper * io.sort.mb - tak mógłby znaleźć się powodując dodatkowe GCS jeśli jest to zbyt wysoka

Zasadniczo

Jeśli ciężko się wymieniasz, istnieje duża szansa, że ​​ustawiłeś zbyt wysoki współczynnik sortowania.

Jeśli stosunek między stanami io.sort.mb i io.sort.factor nie jest poprawny, być może konieczna będzie zmiana pliku io.sort.mb (jeśli masz pamięć) lub obniżenie współczynnika sortowania.

Jeśli zauważysz, że spędzasz więcej czasu w swoich mapach niż w swoich reduktorach, możesz zwiększyć liczbę zadań na mapie i zmniejszyć współczynnik sortowania (zakładając, że istnieje presja pamięci).

Powiązane problemy