Szukałem aplikacji Hadoop intensywnie wykorzystującej dyski do testowania działania I/O w Hadoop, ale nie mogłem znaleźć takiej aplikacji, która utrzymywałaby wykorzystanie dysku powyżej, powiedzmy 50% lub taka aplikacja, która faktycznie utrzymuje dysk zajęty. Próbowałem randomwriter, ale to zaskakująco nie jest dysk I/O intensywny.Zapisywanie do pliku w HDFS w Hadoop
Napisałem więc mały program, aby utworzyć plik w Mapperie i napisać do niego jakiś tekst. Ta aplikacja działa dobrze, ale wykorzystanie jest wysokie tylko w węźle głównym, który jest również węzłem nazwy, śledzeniem zadań i jednym z urządzeń podrzędnych. Wykorzystanie dysku jest NIL lub nieistotne w innych śledzących zadania. Nie mogę zrozumieć, dlaczego dysk I/O jest tak niski w śledzeniu zadań. Czy ktokolwiek mógłby mnie popchnąć we właściwym kierunku, jeśli robię coś nie tak? Z góry dziękuję.
Oto mój przykładowy segment kodu, który napisałem w pliku WordCount.java tworzyć i pisać UTF ciąg do Plik-
Configuration conf = new Configuration();
FileSystem fs = FileSystem.get(conf);
Path outFile;
while (itr.hasMoreTokens()) {
word.set(itr.nextToken());
context.write(word, one);
outFile = new Path("./dummy"+ context.getTaskAttemptID());
FSDataOutputStream out = fs.create(outFile);
out.writeUTF("helloworld");
out.close();
fs.delete(outFile);
}
W przypadku testów porównawczych I/O możesz również rzucić okiem na TestDFSIO: http://answers.oreilly.com/topic/460-how-to-benchmark-a-hadoop-cluster/ –
@LorandBendig Zrobiłem, najwyższe wykorzystanie dysku dla TestDFSIO, które znalazłem dla mojej grupy 14 węzłów, wynosi zaledwie 2,4%, a średnia wynosi około 0,07%. Zmierzam wykorzystanie dysku z polecenia _iostat_, zadanie zostało uruchomione na około 300 sekund. Czy jest coś naprawdę głupiego, co robię i czego nie znam? –
Możesz grać z parametrami (nr plików, rozmiar), ale myślę, że już to zrobiłeś. Istnieją dalsze testy, które możesz wypróbować, opisane tutaj bardzo dobrze: http://www.michael-noll.com/blog/2011/04/09/benchmarking-and-stress-testing-an-hadoop-cluster-with-terasort -testdfsio-nnbench-mrbench/ –