写测试
写测试底层:
测试命令行:
doop-mapreduce-clientjobclient-3.1.3-tests.jar TestDFSIO -write -nrFiles 10 -fileSize 128MB
ps:nrFiles n 为生成 mapTask 的数量,生产环境一般可通过 hadoop103:8088 查看 CPU核数,设置为(CPU 核数 - 1)
命令执行结果
2021-02-09 10:43:16,854 INFO fs.TestDFSIO: Number of files: 10
2021-02-09 10:43:16,854 INFO fs.TestDFSIO: Total MBytes processed: 1280
2021-02-09 10:43:16,854 INFO fs.TestDFSIO: Throughput mb/sec: 1.61
2021-02-09 10:43:16,854 INFO fs.TestDFSIO: Average IO rate mb/sec: 1.9
2021-02-09 10:43:16,854 INFO fs.TestDFSIO: IO rate std deviation: 0.76
2021-02-09 10:43:16,854 INFO fs.TestDFSIO: Test exec time sec: 133.05
- Total MBytes processed:
- 单个 map 处理的文件大小
- Throughput mb/sec:
- 单个 mapTak 的吞吐量
- 计算方式:处理的总文件大小/每一个 mapTask 写数据的时间累加
- 集群整体吞吐量:生成 mapTask 数量*单个 mapTak 的吞吐量
- Average IO rate mb/sec::
- 平均 mapTak 的吞吐量
- 计算方式:每个 mapTask 处理文件大小/每一个 mapTask 写数据的时间全部相加除以 task 数量
- IO rate std deviation:
- 方差、反映各个 mapTask 处理的差值,越小越均衡
读性能
读取hdfs 10个128M文件
hadoop jar /opt/module/hadoop-3.1.3/share/hadoop/mapreduce/hadoop-mapreduce-client-jobclient-3.1.3-tests.jar TestDFSIO -read -nrFiles 10 -fileSize 128MB