《Hadoop MapReduce实战手册》一2.2 HDFS基准测试

简介:

本节书摘来异步社区《Hadoop MapReduce实战手册》一书中的第2章,第2.2节,作者: 【美】Srinath Perera , Thilina Gunarathne 译者: 杨卓荦 责编: 杨海玲,更多章节内容可以访问云栖社区“异步社区”公众号查看。

2.2 HDFS基准测试

Hadoop MapReduce实战手册
运行基准测试程序,可以很好地验证HDFS集群是否已如预期般正确设置并执行。DFSIO是一个Hadoop自带的基准测试,可以用来分析一个HDFS集群的I/O性能。该部分展示了如何使用DFSIO来对HDFS集群的读取和写入性能进行基准测试。

准备工作
在运行这些基准程序之前,必须安装和部署HDFS和MapReduce。导出HADOOP_HOME环境变量,将其指向Hadoop安装根目录:

>export HADOOP_HOME = /../hadoop-1.0.4

该基准测试程序在$HADOOP_HOME/hadoop-*test.jar文件中。

操作步骤
下列步骤显示了如何运行写入性能基准测试。

  1. 在$HADOOP_HOME目录下执行以下命令来测试写入性能的基准程序。-nrFiles参数指定了文件数量,同时-fileSize参数指定了以MB为单位的文件大小。
>bin/hadoop jar $ HADOOP_HOME/hadoop-test- *.JAR TestDFSIO -write 
-nrFiles 5 -CfileSize 100
  1. 基准测试程序会将日志写入控制台,同时将日志追加到一个名为TestDFSIO_results.log的文件中。可以使用-resFile参数提供自定义的结果文件名。

下列步骤显示了如何执行测试读性能的基准测试。

  1. 读性能基准测试采用步骤1中的写性能基准测试创建的文件。因此,写性能基准测试应该在运行读性能基准测试之前执行,并且写基准测试所创建的文件必须存储在HDFS上,以便读基准测试运行。
  2. 执行下面的命令运行读基准测试。读基准测试也会将结果写入控制台,并将其结果追加到一个与写基准测试类似的日志文件。
>bin/ hadoop jar $ HADOOP_HOME/hadoop-test- *.jar TestDFSIO -read 
-nrFiles5 -CfileSize 100

要清理这些基准测试生成的结果文件,可以使用以下命令:

>bin/hadoop jar $HADOOP_HOME hadoop-test-*.jar TestDFSIO –clean

工作原理
DFSIO实际是执行一个MapReduce作业,其中map任务并行读写文件,而reduce任务则被用来收集和归纳性能数据。

更多参考
在运行这些基准测试时,同步观察监控系统,可以帮助你更轻松地识别瓶颈所在。

相关文章
|
XML 存储 分布式计算
【赵渝强老师】史上最详细:Hadoop HDFS的体系架构
HDFS(Hadoop分布式文件系统)由三个核心组件构成:NameNode、DataNode和SecondaryNameNode。NameNode负责管理文件系统的命名空间和客户端请求,维护元数据文件fsimage和edits;DataNode存储实际的数据块,默认大小为128MB;SecondaryNameNode定期合并edits日志到fsimage中,但不作为NameNode的热备份。通过这些组件的协同工作,HDFS实现了高效、可靠的大规模数据存储与管理。
1811 70
|
分布式计算 Kubernetes Hadoop
大数据-82 Spark 集群模式启动、集群架构、集群管理器 Spark的HelloWorld + Hadoop + HDFS
大数据-82 Spark 集群模式启动、集群架构、集群管理器 Spark的HelloWorld + Hadoop + HDFS
1226 6
|
分布式计算 资源调度 Hadoop
大数据-80 Spark 简要概述 系统架构 部署模式 与Hadoop MapReduce对比
大数据-80 Spark 简要概述 系统架构 部署模式 与Hadoop MapReduce对比
567 2
|
数据采集 分布式计算 Hadoop
使用Hadoop MapReduce进行大规模数据爬取
使用Hadoop MapReduce进行大规模数据爬取
|
分布式计算 监控 Hadoop
Hadoop-29 ZooKeeper集群 Watcher机制 工作原理 与 ZK基本命令 测试集群效果 3台公网云服务器
Hadoop-29 ZooKeeper集群 Watcher机制 工作原理 与 ZK基本命令 测试集群效果 3台公网云服务器
379 1
|
SQL 分布式计算 关系型数据库
Hadoop-24 Sqoop迁移 MySQL到Hive 与 Hive到MySQL SQL生成数据 HDFS集群 Sqoop import jdbc ETL MapReduce
Hadoop-24 Sqoop迁移 MySQL到Hive 与 Hive到MySQL SQL生成数据 HDFS集群 Sqoop import jdbc ETL MapReduce
487 0
|
SQL 分布式计算 关系型数据库
Hadoop-23 Sqoop 数据MySQL到HDFS(部分) SQL生成数据 HDFS集群 Sqoop import jdbc ETL MapReduce
Hadoop-23 Sqoop 数据MySQL到HDFS(部分) SQL生成数据 HDFS集群 Sqoop import jdbc ETL MapReduce
304 0
|
SQL 分布式计算 关系型数据库
Hadoop-22 Sqoop 数据MySQL到HDFS(全量) SQL生成数据 HDFS集群 Sqoop import jdbc ETL MapReduce
Hadoop-22 Sqoop 数据MySQL到HDFS(全量) SQL生成数据 HDFS集群 Sqoop import jdbc ETL MapReduce
402 0
|
存储 分布式计算 Hadoop
从“笨重大象”到“敏捷火花”:Hadoop与Spark的大数据技术进化之路
从“笨重大象”到“敏捷火花”:Hadoop与Spark的大数据技术进化之路
796 79

相关实验场景

更多