Hadoop での I/O アクティビティをテストするために、ディスク集中型の Hadoop アプリケーションを探していましたが、ディスク使用率を 50% 以上に保つアプリケーションや、実際にディスクをビジー状態に保つアプリケーションが見つかりませんでした。randomwriter を試してみましたが、驚くべきことに、ディスク I/O を集中的に使用することはありません。
そこで、Mapper でファイルを作成し、それにテキストを書き込む小さなプログラムを作成しました。このアプリケーションはうまく機能しますが、ネーム ノード、ジョブ トラッカー、およびスレーブの 1 つであるマスター ノードでのみ使用率が高くなります。ディスク使用率は、他のタスク トラッカーでは NIL または無視できます。タスク トラッカーでディスク I/O が非常に低い理由がわかりません。私が何か間違ったことをしている場合、誰かが私を正しい方向に動かしてくれませんか? 前もって感謝します。
これは、UTF文字列を作成してファイルに書き込むためにWordCount.javaファイルに書いたサンプルコードセグメントです-
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);
}