我读了一些关于分析工作负载输入/洗牌/输出数据大小的文章。所以,我有一些问题,在我运行完TestDFSIO、Teragen、Terasort、Ter崩和Wordcount基准之后,我能知道输入/洗牌/输出数据大小分别是多少吗?
例如,如果我运行:
TestDFSIO,
TestDFSIO -write -nrFiles 10 -fileSize 1000
TestDFSIO -read -nrFiles 10 -fileSize 1000
Terasort,
hadoop-examples.jar teragen 10000000000输出dir
hadoop jar hadoop-examples.jar terasort输入dir输出dir
hadoop jar hadoop-examples.jar三雪崩terasort输出dir (=输入数据)
每个基准的输入/洗牌/输出数据大小是多少?
谢谢!
发布于 2014-05-08 07:00:08
是的,你可以。但是,由于您的问题太宽泛,我将只给出TestDFSIO的示例,这是为度量HDFS数据传输性能而设计的。
TestDFSIO支持以下参数:-read | -write | -clean [-nrFiles N] [-fileSize MB] [-resFile resultFileName] [-bufferSize Bytes]。
现在,在对读操作进行基准测试之前,您必须编写一些像hadoop jar hadoop-test-1.2.1.jar TestDFSIO -read -nrFiles 10 -fileSize 100这样的操作。这里,fileSize是一个文件的输入大小,并在hdfs上与nrFiles100*10 mb = 1000mb相乘。您可以在/benchmarks/TestDFSIO/io_data目录下找到输出文件的确切大小。
您还将看到其他一些目录- io_control (包含读取或写入的文件名和文件大小)。
关于洗牌-这是一个中间操作。因此,要了解它,只需查看控制台输出的时间mapreduce正在运行,或者您可以去做作业跟踪器的UI来查看它。
由TestDFSIO类生成写操作的输入。它只是由mod operation based on buffersize计算的一些字节。
还会生成一个日志文件,其中包含IO和吞吐量统计数据。
希望这能澄清一些事情,并给你一个先发制人。有许多基准,您可以进一步探讨。
https://stackoverflow.com/questions/23531790
复制相似问题