hadoop基本测试方法

时间:2021-11-26 08:25:31

最近在做hadoop的时候,总结了一些hadoop的一些基本的功能运用和一些基本性能测试,记录一下,希望可以帮助大家,由于输出信息太多,在这里只介绍命令,具体输出信息大家可以自己试验一下。不同的hadoop版本里自带的测试类也不尽相同,我的版本是2.7.3,里面的测试类是hadoop-mapreduce-client-jobclient.jar,有的hadoop版本里面的类名是hadoop-Test。jar

一,Wordcount测试用例

1, 新创建输入文件内容,在当前目录新建一个文件夹叫input,在文件夹里新建三个文件f1.txt,f2.txt,f3.txt,并分别写入一些内容。
*[root@nx-1 input]# cat f1.txt
hello hadoop
[root@nx-1 input]# cat f2.txt
hello java
[root@nx-1 input]# cat f3.txt
hello world***
2, 在运行的hadoop中创建文件夹
[hdfs@nx-1 input]$ hadoop fs -mkdir -p /home/hadoop/input
3, 查看创建的文件夹
**[hdfs@nx-1 input]$ hadoop fs -ls /home/hadoop/
Found 1 items
drwxr-xr-x - hdfs hdfs 0 2017-12-07 03:21 /home/hadoop/input******
4, 把刚创建的文件复制到hadoop中的文件系统中(hdfs)
[hdfs@nx-1 input]$ hadoop fs -put /home/hdfs/input/ /home/hadoop/input/*
5, 查看文件是否在hadoop中,并查看文件内容是否和输入的一直
[hdfs@nx-1 input]$ hadoop fs -ls /home/hadoop/input
[hdfs@nx-1 input]$ hadoop fs -cat /home/hadoop/input/f1.txt
6, 运行hadoop的example例子
[hdfs@nx-1 hadoop-mapreduce]$ yarn jar hadoop-mapreduce-examples-2.7.3.jar wordcount /home/hadoop/input /home/hadoop/output
7, 查看处理之后内容
[hdfs@nx-1 hadoop-mapreduce]$ hadoop dfs -ls /home/hadoop/output

[hdfs@nx-1 hadoop-mapreduce]$ hadoop dfs -cat /home/hadoop/output/part-r-00000

二,hadoop自带测试类以及介绍

1, hadoop Test
当不带参数调试hadoop-mapreduce-client-jobclient.jar时,会列出所有的测试程序。
[hdfs@nx-1 hadoop-mapreduce]$ yarn jar hadoop-mapreduce-client-jobclient.jar
2, TestDFSIO write
TestDFSIO 用于测试hdfs的IO性能,使用一个mapReduce作业来并发的执行读写操作,每个map任务用于读或写每个文件,map的输出用于手机与处理文件相关的统计信息,Reduce用于累积和统计信息,并产生summary。TestDFSIO的用法如下:

以下的列子将往HDFS中写入10个1000MB文件:
[hdfs@nx-1 hadoop-mapreduce]$ yarn jar hadoop-mapreduce-client-jobclient.jar TestDFSIO -write -nrFiles 10 -size 1000
3, TestDFSIO read
以下的例子将从hdfs中读取10个1000M的文件
[hdfs@nx-1 hadoop-mapreduce]$ yarn jar hadoop-mapreduce-client-jobclient.jar TestDFSIO -read -nrFiles 10 -size 1000
4, 清空测试数据
[hdfs@nx-1 hadoop-mapreduce]$ yarn jar hadoop-mapreduce-client-jobclient.jar TestDFSIO –clean
5, nnbench测试
nnbench用于测试NameNode的负载,他会产生很多余HDFS相关的请求,给NameNode施加较大的压力。这个测试能在hdfs上模拟创建,读取,重命名和删除文件等操作。Nnbench的用法如下:

下面是使用12个mapper和6个Reduce来创建1000个文件
[hdfs@nx-1 hadoop-mapreduce]$ yarn jar hadoop-mapreduce-client-jobclient.jar nnbench -operation create_write -maps 12 -reduces 6 -blockSize 1 -bytesToWrite 0 -numberOfFiles 1000 -replicationFactorPerFile 3 -readFileAfterOpen true -baseDir /benchmarks/NNBench-hostname -s

6, mrbench测试
mrbench会多次重复一个小作业,用于检查在集群上小作业的是否可重复以及运行是否可高效,用法如下:

以下会运行一个小作业一共50次
[hdfs@nx-1 hadoop-mapreduce]$ yarn jar hadoop-mapreduce-client-jobclient.jar mrbench -numRuns 50
最终结果
hadoop基本测试方法