大数据之Hadoop集群的HDFS压力测试
测试HDFS写性能
原文:sw-code
1)写测试的原理

2)测试内容:向HDFS集群写10个128MB的文件(3个机器每个4核,2 * 4 = 8 < 10 < 3 * 4 =12)
[hadoop@hadoop103 ~]$ hadoop jar /opt/module/hadoop-3.1.3/share/hadoop/mapreduce/hadoop-mapreduce-client-jobclient-3.1.3-tests.jar TestDFSIO -write -nrFiles 10 -fileSize 128MB
2022-06-17 15:53:28,086 INFO fs.TestDFSIO: ----- TestDFSIO ----- : write
2022-06-17 15:53:28,086 INFO fs.TestDFSIO: Date & time: Fri Jun 17 15:53:28 CST 2022
2022-06-17 15:53:28,086 INFO fs.TestDFSIO: Number of files: 10
2022-06-17 15:53:28,086 INFO fs.TestDFSIO: Total MBytes processed: 1280
2022-06-17 15:53:28,086 INFO fs.TestDFSIO: Throughput mb/sec: 1.66
2022-06-17 15:53:28,086 INFO fs.TestDFSIO: Average IO rate mb/sec: 1.71
2022-06-17 15:53:28,086 INFO fs.TestDFSIO: IO rate std deviation: 0.3
2022-06-17 15:53:28,086 INFO fs.TestDFSIO: Test exec time sec: 153.5
2022-06-17 15:53:28,086 INFO fs.TestDFSIO:
注意:nrFiles n为生成mapTask的数量,生产环境一般可通过hadoop103:8088查看CPU核数,设置为(CPU核数-1)
Number of files:生成mapTas数量,一般是集群中(CPU核数-1)。Total MBytes processed:总文件大小Throughput mb/sec:单个mapTask的吞吐量
计算方式:处理的总文件大小/每一个mapTask写数据的时间累加和
整个集群吞吐量:生成mapTask数量 * 单个mapTask的吞吐量
Average IO rate mb/sec:平均mapTask的吞吐量
计算方式:每个mapTask处理文件大小/每一个mapTask写数据的时间全部相加除以task数量
IO rate std deviation:方差、放映各个mapTask处理的差值,越小越均衡
如果测试过程中,出现异常,尝试关闭虚拟内存检测
在yarn-site.xml中设置虚拟内存检测为false,然后重启Yarn集群
<!-- 虚拟内存检查,默认为打开,修改为关闭-->
<property>
<description>Whether virtual memory limits will be enforced for
containers.</description>
<name>yarn.nodemanager.vmem-check-enabled</name>
<value>false</value>
</property>
3)测试结果分析
由于副本1就在本地(hadoop4),所以该副本不参与测试(如果客户端不在集群节点,那就所有副本都参与计算)
一共参与测试的文件:10个文件 * 2个副本 = 20个
压测后的速度:1.66
实测速度:1.66M/s * 20个文件 ≈ 33.2M/s
三台服务器的带宽:3 * (100Mbps / 8bit) ≈ 37.5M/s
所有网络资源都已经用满。
如果实测速度远小于网络,并且实测速度不能满足工作需求,可以考虑采用固态硬盘或者增加磁盘个数。
测试HDFS读性能
1)测试内容:读取HDFS集群10个128M的文件
[hadoop@hadoop102 ~]$ 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
2022-06-17 16:33:04,291 INFO fs.TestDFSIO: ----- TestDFSIO ----- : read
2022-06-17 16:33:04,292 INFO fs.TestDFSIO: Date & time: Fri Jun 17 16:33:04 CST 2022
2022-06-17 16:33:04,292 INFO fs.TestDFSIO: Number of files: 10
2022-06-17 16:33:04,292 INFO fs.TestDFSIO: Total MBytes processed: 1280
2022-06-17 16:33:04,292 INFO fs.TestDFSIO: Throughput mb/sec: 49.1
2022-06-17 16:33:04,292 INFO fs.TestDFSIO: Average IO rate mb/sec: 98.43
2022-06-17 16:33:04,292 INFO fs.TestDFSIO: IO rate std deviation: 78.64
2022-06-17 16:33:04,292 INFO fs.TestDFSIO: Test exec time sec: 44.96
下篇文章:大数据之Hadoop集群中Yarn常用命令
相关文章:
大数据之Hadoop集群中Yarn常用命令
大数据之Hadoop集群中MapReduce的Join操作
大数据之Hadoop集群的HDFS压力测试的更多相关文章
- 大数据测试之hadoop集群配置和测试
大数据测试之hadoop集群配置和测试 一.准备(所有节点都需要做):系统:Ubuntu12.04java版本:JDK1.7SSH(ubuntu自带)三台在同一ip段的机器,设置为静态IP机器分配 ...
- 大数据学习——HADOOP集群搭建
4.1 HADOOP集群搭建 4.1.1集群简介 HADOOP集群具体来说包含两个集群:HDFS集群和YARN集群,两者逻辑上分离,但物理上常在一起 HDFS集群: 负责海量数据的存储,集群中的角色主 ...
- 大数据平台Hadoop集群搭建
一.概念 Hadoop是由java语言编写的,在分布式服务器集群上存储海量数据并运行分布式分析应用的开源框架,其核心部件是HDFS与MapReduce.HDFS是一个分布式文件系统,类似mogilef ...
- Java+大数据开发——Hadoop集群环境搭建(一)
1集群简介 HADOOP集群具体来说包含两个集群:HDFS集群和YARN集群,两者逻辑上分离,但物理上常在一起 HDFS集群: 负责海量数据的存储,集群中的角色主要有 NameNode / DataN ...
- 大数据中Hadoop集群搭建与配置
前提环境是之前搭建的4台Linux虚拟机,详情参见 Linux集群搭建 该环境对应4台服务器,192.168.1.60.61.62.63,其中60为主机,其余为从机 软件版本选择: Java:JDK1 ...
- Java+大数据开发——Hadoop集群环境搭建(二)
1. MAPREDUCE使用 mapreduce是hadoop中的分布式运算编程框架,只要按照其编程规范,只需要编写少量的业务逻辑代码即可实现一个强大的海量数据并发处理程序 2. Demo开发--wo ...
- 大数据之hadoop集群安全模式
集群安全模式1.概述(1)NameNode启动 NameNode启动时,首先将镜像文件(Fsimage)载入内存,并执行编辑日志(Edits)中的各项操作.-旦在内存中成功建立文件系统元数据的影像,则 ...
- 大数据学习——hadoop集群搭建2.X
1.准备Linux环境 1.0先将虚拟机的网络模式选为NAT 1.1修改主机名 vi /etc/sysconfig/network NETWORKING=yes HOSTNAME=itcast ### ...
- CDH构建大数据平台-配置集群的Kerberos认证安全
CDH构建大数据平台-配置集群的Kerberos认证安全 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 当平台用户使用量少的时候我们可能不会在一集群安全功能的缺失,因为用户少,团 ...
- 朝花夕拾之--大数据平台CDH集群离线搭建
body { border: 1px solid #ddd; outline: 1300px solid #fff; margin: 16px auto; } body .markdown-body ...
随机推荐
- HarmonyOS SDK,赋能开发者实现更具象、个性化开发诉求
随着移动互联网的逐步成熟,用户的需求越来越细化.鸿蒙生态为开发者提供的HarmonyOS SDK开放能力,高效赋能美团外卖等合作伙伴实现更具象.个性化的开发诉求,给用户提供更丰富便捷的体验. 点击链接 ...
- Qt信号槽
Qt 信号槽 Qt的信号槽,除了使用信号连接槽,还可以信号连接信号,断开信号,发送(转发)信号. 一个信号可以连接一个槽,也可以一个信号连接多个槽,还可以多个信号连接一个槽. // 信号连接槽 c ...
- java excel关联导入数据格式为一对多
java excel关联导入数据格式为一对多 java 表格读取时一行一行的读取 将每行数据放入list 根据 list.stream().filter(m->m.getCode().equa ...
- HDC2021技术分论坛:分布式调试、调优能力解决方案
作者:yangjianwei 华为高级工程师 HarmonyOS致力于提供1+8+N智慧全场景解决方案,打造设备流转.多端协同的分布式体验,实现一次开发.多端部署,让分布式应用的开发更加简单. 针对分 ...
- esp8266,arduino,网页显示dht11温湿度,控制继电器开关,局域网智能家居
不说了,上代码,用arduino实现esp8266代码 #include <ESP8266WiFi.h> #include <WiFiClient.h> #include &l ...
- 如何在 Anolis 8上部署 Nydus 镜像加速方案?
简介: 手把手教你在 Anolis OS 上部署 Nydus! 在上一篇文章中详细介绍Anolis OS 是首个原生支持镜像加速 Linux 内核,Nydus 镜像加速服务重新优化了现有的 OCIv1 ...
- 硬之城携手阿里云 Serverless 应用引擎(SAE)打造低代码平台
简介: 简化用云的成本,把复杂留给自己,简单留给用户. 作者 | 陈泽涛(硬之城产品总监)& 洛浩(阿里云云原生高级架构师) 硬之城成立于 2015 年,是一家以电子元器件 BOM 整体供应为 ...
- 数仓架构的持续演进与发展 — 云原生、湖仓一体、离线实时一体、SaaS模式
简介: 数据仓库概念从1990年提出,经过了四个主要阶段.从最初的数据库演进到数据仓库,到MPP架构,到大数据时代的数据仓库,再到今天的云原生的数据仓库.在不断的演进过程中,数据仓库面临着不同的挑战. ...
- [FAQ] Jetbrains 官网不能访问,获取 Goland 的下载地址
2020.02 安装包下载 Link:https://www.cnblogs.com/farwish/p/14186441.html
- dotnet 是否应该对 HttpResponseMessage 调用 Dispose 进行释放
对于 HttpClient 的请求响应值 HttpResponseMessage 来说,既然继承了 IDisposable 接口,自然就是想让大家可以通过 using 或者手动调用 Dispose 进 ...