NFsec Logo

Przyśpieszanie odczytu zajętości dysków na Hadoop < 2.8.X

25/03/2020 w Administracja Brak komentarzy.  (artykuł nr 728, ilość słów: 269)

P

odczas raportowania zużycia blokowej pamięci masowej na klastrze Hadoop uruchamiane jest polecenie systemu Linux: du -sk /dysk/pula-bloków. Może to powodować bardzo dużo żądań I/O oraz zwiększone obciążenie na dyskach, które posiadają bardzo wiele plików i są aktualnie utylizowane przez zadania chodzące na klastrze. Nie jest to najbardziej efektywny sposób odpytywania o zajęte miejsce szczególnie kiedy w tym czasie zasoby te powinny być przyznane na inne zadania. W wielu przypadkach może dojść do zakleszczania kiedy przetwarzanie i raportowanie jest opóźnione ze względu nałożenie się czasów wykonania tych operacji na siebie. W przypadku systemu Linux można bardzo prosto podmienić polecenie du na df – jednak w samym oprogramowaniu dystrybucji Hadoop bez aktualizacji do wyższej wersji nie jest to możliwe.

Dlatego na serwerach pełniących rolę datanode można podmienić polecenie du na skrypt, który przechwyci tego rodzaju żądania i podmieni je odpowiednik polecenia df:

#!/bin/bash

if [[ $1 = "-sk" ]] && [[ $2 =~ "/data/" ]]; then
  mydf=$(df $2 | grep -vE "^Filesystem|tmpfs|udev|cgmfs" | awk "{ print $3 }")
  echo -e "$mydf\t$2"
else
  /usr/bin/du2 "$@"
fi

Zakładamy, że nasze dyski znajdują się w ścieżce /data/X – dlatego wszystkie polecenia typu: du -sk /data/X są obsługiwane przez skrypt i zamieniane na wynik z polecenia df – inne są kierowane do oryginalnego programu du, który został przesunięty pod nazwę du2. W ten sposób nie pozbawiamy innych programów lub skryptów z korzystania z oryginalnego programu du. Czas wykonania poleceń przy nieobciążonym dysku:

root@hadoop:~# time /usr/bin/du2 -sk /data/3
6360718780	/data/3

real	0m12.322s
user	0m0.180s
sys	0m2.508s

root@hadoop:~# time /usr/bin/du -sk /data/3
6360973312	/data/3

real	0m0.005s
user	0m0.000s
sys	0m0.000s

Więcej informacji: Faster Datanodes With Less Wait IO in Hadoop

Kategorie K a t e g o r i e : Administracja

Tagi T a g i : , , , , , , , , , , ,

Komentowanie tego wpisu jest zablokowane.