目录
下一篇:hdfs的API操作
基准测试
生产环境搭建后,第一件事就是压力测试,测试集群的读取和写入速度,测试我们的网络带宽是否足够等一些基准测试
一、测试写入数据
向HDFS文件系统写入数据,10个文件每个文件10mb,文件放到/benchmarks/TestDFSIO中
hadoop jar(表示执行一个后面是jar包目录) /export/servers/hadoop-2.10.1/share/hadoop/mapreduce/hadoop-mapreduce-client-jobclient-2.10.1.jar TestDFSIO(进行DFSIO的测试) -write(写入测试) -nrFiles 10(一次测试10个) -fileSize 10MB(每个10m)
这个mapreduce目录里面全是可以执行的分布式计算程序
查看写入速度结果
hdfs dfs -text /benchmarks/TestDFSIO/io_write/part-00000
生成的benchmarks文件
点进去后
也可以在执行命令的当前路径看TestDFSIO_results.log这个文件
二、测试读取测试
将上面的命令中的write改成read
查看方法类似
会多一个io_read
/benchmarks/TestDFSIO/io_read
查看log
cat TestDFSIO_results.log
多了个read测试
三、清除测试数据
hadoop jar /export/servers/hadoop-2.10.1/share/hadoop/mapreduce/hadoop-mapreduce-client-jobclient-2.10.1.jar TestDFSIO(前面都一样) -clean
当然TestDFSIO_results.log文件不会清除
benchmarks目录会清空
HDFS写入过程
![](https://i-blog.csdnimg.cn/blog_migrate/b863bd611ad0e76724a2003a1d39b2b9.png)
读取过程
元数据管理
fsimage和edits
1、fsimage存放元数据,edits存放最近的操作
这两个文件的位置定义在hdfs-site.xml当中
2、fsimage中的文件信息查看
cd到存放路径
cd /export/servers/hadoop-2.10.1/hadoopDatas/namenodeDatas/current
使用命令
hdfs oiv -i fsimage_0000000000000000尾号 -p XML -o hello.xml
注意:避免破坏数据,最好拷贝到别的目录再进行操作
-i是指定处理的文件,-p是处理方式,-o是存放的位置和名字
vim看,都是元数据
3、查看edits
cd到目录
cd hadoop-2.10.1/hadoopDatas/nn/edits/current/
拷贝一份
使用命令查看,和上面差不多,命令oiv改成oev
hdfs oev -i edits_0000000000000000252-0000000000000000416 -p XML -o myedit.xml
里面也全是操作记录
4、SecondaryNameNode如何管理fsimage与edits文件
在master主机上修改core-site.xml
可以修改触发条件