Hadoop에서 I/O 활동을 테스트하기 위해 디스크 집약적 인 Hadoop 응용 프로그램을 찾고 있었지만 디스크 사용률을 50 % 또는 그 이상으로 유지하는 응용 프로그램을 찾을 수 없었습니다 디스크를 실제로 사용중인 응용 프로그램. 난 randomwriter를 시도했지만 놀랍게도 디스크 입출력은 집중적이지 않습니다.Hadoop에서 HDFS로 파일 쓰기
그래서 저는 Mapper에서 파일을 만들고 그것에 텍스트를 쓰는 작은 프로그램을 작성했습니다. 이 응용 프로그램은 잘 작동하지만 이름 노드, 작업 추적자 및 슬레이브 중 하나 인 마스터 노드에서만 사용률이 높습니다. 디스크 사용률은 NIL이거나 다른 작업 추적기에서는 무시할 수 있습니다. 디스크 I/O가 작업 추적 프로그램에서 너무 낮은 이유를 이해할 수 없습니다. 누군가 내가 잘못하고 있다면 올바른 방향으로 나를 밀어 주시겠습니까? 미리 감사드립니다.
여기 내가 생각
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 of files, size)로 플레이해도 좋지만 이미 그렇게했다고 생각합니다. 시도해 볼 수있는 추가 테스트가 있습니다. http://www.michael-noll.com/blog/2011/04/09/benchmarking-and-stress-testing-an-hadoop-cluster-with-terasort -testdfsio-nnbench-mrbench/ –