Я искал приложение Hadoop с интенсивным использованием диска, чтобы проверить активность ввода-вывода в Hadoop, но я не смог найти ни одного такого приложения, которое поддерживало бы использование диска выше, скажем, 50%, или какое-то подобное приложение, которое фактически держит диск занятым. Я попробовал randomwriter, но это, на удивление, не требует интенсивного дискового ввода-вывода.
Итак, я написал крошечную программу для создания файла в Mapper и записи в него текста. Это приложение работает хорошо, но загрузка высока только на главном узле, который также является узлом имени, средством отслеживания заданий и одним из подчиненных. В других средствах отслеживания задач использование диска равно нулю или незначительно. Я не могу понять, почему дисковый ввод-вывод так низок в трекерах задач. Может ли кто-нибудь подтолкнуть меня в правильном направлении, если я делаю что-то не так? Заранее спасибо.
Вот мой образец кода, который я написал в файле WordCount.java для создания и записи строки UTF в файл:
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);
}