HadoopでI/Oアクティビティをテストするためにディスク集中型のHadoopアプリケーションを探していましたが、ディスク使用率を50%以上に保ったアプリケーションは見つかりませんでした実際にディスクをビジー状態に保つアプリケーション。私はランダムライターを試みましたが、それは驚くべきことにディスクI/O集約ではありません。HadoopでHDFSのファイルに書き込む
私はMapperでファイルを作成し、テキストを書き込むための小さなプログラムを作成しました。このアプリケーションは正常に機能しますが、マスターノードでも使用率が高くなります。マスターノードは、名前ノード、ジョブトラッカー、およびスレーブの1つです。他のタスクトラッカーでは、ディスク使用率はNILまたは無視されます。私はなぜディスクI/Oがタスクトラッカーで非常に低いのか理解できません。誰かが間違ったことをしているなら、誰も私を正しい方向に向かわせてください。前もって感謝します。ここで
は、私はそれぞれの行のセルごとの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);
}
I/Oベンチマークの場合は、TestDFSIOをご覧ください。http://answers.oreilly.com/topic/460-how-to-benchmark-a-hadoop-cluster/ –
@ LorandBendig私は、私が14ノードのクラスタで見つけたTestDFSIOの最高ディスク使用率はわずか2.4%で、平均は約0.07%です。 _iostat_コマンドからディスク使用率を測定していますが、ジョブは約300秒実行されました。私がやっていることに気づいていない、本当に愚かなことがありますか? –
あなたはパラメータ(ファイルのnr、サイズ)で遊ぶかもしれませんが、私はあなたがすでに行ったと思います。試してみることができるテストがあります。http://www.michael-noll.com/blog/2011/04/09/benchmarking-and-stress-testing-an-hadoop-cluster-with-terasort -testdfsio-nnbench-mrbench/ –