HDFS测试

HDFS基准测试

其中 HDFS 基准测试包括:
( 1 )dfsio基准测试 HDFS I/O 读写性能
( 2 )slive基准测试NameNode内部操作的性能
( 3 )scan 基准测试MapReduce作业访问 HDFS 的 I/O 性能
( 4 )shuffle 基准测试 shuffle 阶段性能
( 5 )compression 基准测试MapReduce作业中间结果和最终结果的压缩性能
( 6 )gridmix-V3 基准测试集群吞吐率

SliveTest

SliveTest位于hadoop的test包中,代码结构清晰,其主要功能是通过大量map制造多种rpc请求,检测Namenode的性能。我们可以设定map数量,每个map发起的rpc请求次数,每一种rpc操作占总操作的百分比,以及读写数据量、block size等配置。
下面列出slive可以调用的rpc操作种类:
ls 列出路径下所有文件和目录
append 追加写文件操作
create 创建文件操作
delete 删除文件操作
mkdir 创建目录操作
rename 重命名文件操作
read 读取文件内容操作

默认情况下,每个map有1000次操作,7种操作均匀的随机出现。slivetest运行时相关参数如下表所示:
maps 一共运行多少个mapper,默认值为10
ops 每个map跑多少个操作,默认值为1000
duration 每个map task的持续时间,默认值为MAX_INT,也就是无限制
exitOnError 遇到第一个Error是否要立即退出,默认不退出
files 最大生成文件数,默认为10
dirSize 每个文件夹最多允许生成多少个文件,默认为32
baseDir SliveTest运行后默认存放的文件根目录,默认为“/test/slive”
resFile 结果文件名,默认为“part-0000”
replication 备份数,可设置最小,最大备份数,默认为3
blockSize 设置文件block大小,默认为64M(64*1048576)
readSize 读入大小可设置为最小值,最大值形式,例如“-readSize 100,1000”,默认无限制(min=max=MAX_LONG=read entire file)
writeSize 写入大小,最小,最大形式,默认等于blockSize(min=max=blocksize)
sleep 在不同次操作之间随机的插入sleep,这个参数用于定义sleep的时间范围,设置同样是最小,最大,单位是毫秒,默认为0)
appendSize 追加写大小,最小,最大形式,默认等于blockSize(min=max=blocksize)
seed 随机数种子
cleanup 执行完所有操作并报告之后,清理目录
queue 指定队列名,默认为“default”
packetSize 指定写入的包大小
ls 指定ls操作占总操作数的百分比
append 指定append操作占总操作数的百分比
create 指定create操作占总操作数的百分比
delete 指定delete操作占总操作数的百分比
mkdir 指定mkdir操作占总操作数的百分比
rename 指定rename操作占总操作数的百分比
read 指定read操作占总操作数的百分比

SliveTest可以给Namenode带来很大的压力,用来做极限情况下的压力测试非常合适。

TestDFSIO

TestDFSIO用于测试HDFS的IO性能,使用一个MapReduce作业来并发地执行读写操作,每个map任务用于读或写每个文件,map的输出用于收集与处理文件相关的统计信息,reduce用于累积统计信息,并产生summary。
TestDFSIO的条件参数如下
Usage: TestDFSIO [genericOptions] -read | -write | -append | -clean [-nrFiles N] [-fileSize Size[B|KB|MB|GB|TB]] [-resFile resultFileName]

HDFS一致性测试

HDFS 的数据一致性并不复杂

使用 “write-once-read-many”的策略,也就是说HDFS在文件创建、写入、关闭中文件是不能被修改的,而且目前HDFS仅支持单用户写,也就是说在文件写入完成后不会改变,仅将该文件的副本复制到其他节点即可。
对一致性有影响的操作仅仅只有append和复制副本,此时会影响数据的一致性,但不支持在文件的任意部分修改。

那么这个测试点关注的部分是???

经过网上搜集资料,数据一致性测试方法是

在不经过追加操作的前提下,
1.副本与副本的一致性
2.副本与NN之间信息的一致性。

HDFS高可用测试

高可用性的测试,主要测试的重点是 集群能否正确的探测到当机和恢复数据的准确性
容灾模块功能测试 容灾模块是保证高可用性的要点。经过多次测试后,达到测试目标。
借助协调系统完成高可用行(zookeeper)

条件测试用例及说明预期结果
开启容灾选项断掉一台 DataNode数据可用性不变
未开启容灾功能断掉一台 NameNode集群崩溃数据不可用
开启容灾功能断掉一台 NameNode数据可用性不变
开启选举断掉全部 NameNode集群短暂崩溃,然后恢复使用
开启容灾选项Datanode 全部断掉数据不可用,返回错误
开启容灾选项接入一个 Datanode数据可用性恢复
  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值