大数据测试v 1.0

                                                                          大数据测试v 1.0

 

-

本次测试从 6- 12 到 7-12号整整历时 1个月,除去休息,真正大约 20个工作日,在这20个工作日里面,中途周末加过几次班,满打满算应该20多天,接触并经历了大数据功能测试、一体机性能测试、大数据Hadoop HDFS 性能对比测试三大块,经过这三块的测试,感觉对大数据从陌生到熟悉,从未知到略知皮毛,学到很多,当然在这测试过程中北京同事、上海同事的老司机们着实给了最大的帮助,指导,虽然完成的进度比计划推迟几天、但在环境部署、测试架构认识、测试工具使用、测试报告分析总结等多方方面面有了质的飞跃,下面分别从测试的三大块开始总结罗列,分别为大数据功能测试、一体机性能测试、大数据性能测试3大块,里面或涉及到方方面面。

 

-数据功能测试:

主要测试公司存储产品插件X(以下产品都简称为X)对接大数据的功能兼容性,重点是功能,本次完成测试 HDFS、Spark、Hive、Hbase、Zookeeper、Flume等6个插件(Kafka测试计划中)的功能兼容性测试,最后总结的部署文档、测试场景方案文档及测试执行报告情况。

 

测试环境部署,首先安装基础操作系统CentOS 7.4 ,前提是要做RAID(为啥要RAID,当时有点蒙圈,而且看资料RAID分6个级别),安装时开始用PXE不行,后转为U盘安装(推荐个镜像制作U盘的工具Etcher-Setup-1.4.4-x64,好用),插曲,由于是从外地拉回来的设备,安装非常费劲,前后3台机器折腾了2天才搞定,安装操作系统终于完毕了。

 

接着开始配置机器的网络环境,首先开始设置网卡地址(了解了命令工具ethtool ),配置网卡地址就是三部曲,IPADDR, NETMASK, GATEWAY,最后把ONBOOT设置为yes,就算配置网络通了,配置完成后,记得用systemctl  restart  network 命令重启网卡才能使配置生效。

 

接着开始安装JDK,Hadoop依赖于JAVA环境,所以需要安装jdk环境,通过yum在线安装

yum install java-1.8.0-openjdk-devel,安装完成后,java -version说明安装成功,然后配置环境变量(vi  ~/.bashrc ),然后保存生效(source ~/.bashrc )。

 

接着开始安装Hadoop版本,安装hadoop版本采用下载(wget -c xxx)安装包安装,注意支持的版本号,安装完成后,仍然需要设置环境变量(~/.bashrc)并保存设置(source  ~/.bashrc),设置完成后输入hadoop version 显示版本号,说明hadoop安装成功。

 

接着开始安装UMStor Hadapter(Ceph),安装UMStor通过Ceph-Ansible来安装,所ansible软件,以首先安装前提条件有三个, 配置免密(ssh-keygen)、关闭防火墙(# systemctl  stop firewalld & # systemctl  disable firewalld)、关闭SElinux(SELINUX=disabled),然后,ansible安装完毕后,ansible --version成功即可证明ansible已经安装成功,然后开始安装Ceph-ansible软件,安装Ceph-ansible的目的是做UMStor的集群化部署。

 

接着根据测试顺序部署大数据测试套件,根据本次测试的顺序依次下载解压Spark V2.1.0,安装Spark前提是需要安装Scala 语言包,前面java已经安装完成,所以这只需要安装Scala完成后即可,安装完毕后,分别配置Spark和Scala的环境变量,在根bin目录下执行./spark-shell成功看到版本号,即可表示完成安装。

 

接着根据需要继续安装包括Hive、Hbase、Zookeeper、Flume、Kafka等组件的安装,安装过程和前面的Spark过程类似,下载对应版本的安装包,然后解压配置环境变量,即可完成安装,这里就不在累述。

 

整个测试过程主要偏向于Hadapter对hadoop生态插件的兼容性测试,测试过程比较简单,只要部署好环境后,然后根据测试步骤即可完成测试,测试完成的测试报告可以参考

《UMStor Hadapter 兼容性测试报告v1.4.pdf》

《UMStor Hadapter 功能场景测试方案V1.0.pdf》

 

 

-体机性能测试:

主要测试公司一体机产品Y (以下简称为Y),整体的一体机性能存储测试,目前包括回归已经测试完毕两轮,下面分为基础环境搭建、测试套件安装、压测机环境搭建、测试工具安装、测试工具配置、测试执行、测试报告等几方面来做总结。

 

首先基础环境搭建,包括被测端和压测端两部分,被测端安装搭建操作系统、UMStor,测试端包括操作系统、网络的配置等,该部分可以参考上面的大数据功能测试,区别是本次一次测试安装的操作系统是CentOS 7.5版本,UMStor安装参看对应的UMStor Hadapter(Ceph)安装步骤即可。

 

接着测试套件的搭建,这里的测试端就是指的一体机这边的环境部署,通常指的是UMStor部署端,主要在一体机上部署UMStor,部署是通过研发发布的版本的安装,安装主要是通过ansible-ceph来安装的,安装完成后,需要配置数据节点之间的相关配置文件,保持互联通信,同时配置相互之间的互相关联的文件配置情况(重点)。

 

接着压测环境搭建,压测环境也就是测试端,测试用的是4台测试机配置曙光配置,首先需要安装基本的操作系统和配置网络环境,这个测试机的安装部署步骤参考前面的大数据功能测试基础环境安装部分即可,同时需要配置网络环境,然后将这4台测试机建立成一个集群环境,4台机器建立集群即 master 主控和 node 的概念来做分布式压测。

 

接着进入测试工具安装,测试工具的安装本次主要iperf3、ansible、fio、cosbench、TestDFSIO、

spark -TeraSort、dd等这些工具的安装,其中iperf3安装比较好搞,ansible还可以、fio开始版本不行,后下载的源码编辑安装,cosbench也折腾的比较多,开始用官网的不行,后找到0.4.2.c3做编译安装,TestDFSIO是hadoop自带、spark-TeraSort github源码打包成*jar,

 

接着开始测试工具配置,iperf3配置比较简单,基本就是S/C模式,ansible配置也还可以,这次测试主要实在同事指导下做的批量执行shell命令,主要理念是主控控制节点的概念,fio配置这个相对复杂,本次用的是ceph支持的其中一种RBD引擎,重点配置集中并发线程和深度等方便的规律性总结,cosbench主要是配置controller,同时理解controller和driver的概念和调用情况,TestDFSIO和spark -TeraSort、dd这三个只要安装好,按执行命令请求执行就可以了,再次强调本次用的多的还是fio、cosbench这两个,也是本次测试块存储和对象存储测试的两个重点工具。

 

接着开始做测试执行,测试执行网络基线测试iperf3,裸磁盘读写dd测试执行比较容易,fio和cosbench整个测试流程比较耗时,重点是需要找到瓶颈,然后根据瓶颈做递归压测,这里面又需要考虑压测节点数量、并发数、深度、压测等等,这些因素,这个确实比较繁琐,同时在cosbench里面还需要考虑脚本的编辑、调整,测试执行顺序、测试的有效性等等这些也非常耗时,同时在测试中还需要考虑测试端和压测端的性能情况,小文件关注io,大文件关注网卡带宽,还有CPU资源情况等等,这些是否压测达到一定的量,这个也非常关键,

 

总之,前面做了很多工作,都是为测试执行做的铺底和准备,而在测试中也需要不断的调整各种参数的变化,方可测试的结果才有一定的参考价值。

 

测试报告结果结果整理,本次一体机测试主要包括网络基线带宽测试结果,块存储测试结果、对象存储测试结果,网络基线带宽测试过主要点对点双向网络的传输数据的带宽,块存储测试主要从FIO返回测试结果报告中记录统计IOPS、带宽、延迟(90%、95%、99.5%)三个档次,在测试统计中特别注意一点,各个测试结果的单位,对象存储测试主要是从Cosbench的浏览器测试完成报告中查看吞吐量和带宽以及平均处理时间,这里也要特殊注意一点是单位,最后将所有的都测试完毕后,测试给出各个测试的统计结果,便于直观清晰的了解整个测试结果的值。

 

本次测试针对存储测试中的块测试工具和对象测试工具比较有了较深入的学习和应用,这次测试收获较大,测试完成的结果报告可以参考。

《一体机(四子星)性能测试报告V2.1.pdf》

 

数据性能测试:

大数据性能测试主要是主要是测试hadoop HDFS 和 Hadapter的性能测试对比,本次测试主要测试数据的读写性能。

 

首先需要搭建环境,本次测试用的的是8台测试机,配置比较高配,其中四台作为测试机,另外四台作为被测试机,被测试机分为两轮测试,分别针对HDFS和Hadapter来做两轮测试验证,然后将两次的测试结果来对比即可,部署环境首先安装CentOS 7.5版本,安装过程和上面的一样,采用U盘镜像安装,这里不在累赘,然后配置网络情况,也参考上面的配置,这里需要注意一点是,网络配置需要配置万兆网卡。

下面开始在准备测试环境,按测试计划需要配置四套集群,然后2对2做测试,集群分别是Hadoop集群、umstor集群、yarn集群、spark集群,测试工具主要用到是基线测试iperf3

fio,计算性能测试TestDFSIO、TeraSort,TestDFSIO测试YARN集群和hadoop集群&UMStor集群,TeraSort测试Spark集群和hadoop集群&UMStor,每一个工具做两轮测试,测试完成后,将测试结果整理出来统计对比结果。

 

首先做基线测试,基线测试又分为网络基线和硬盘基线测试,网络基线测试用iperf3来测试,关注的网络的传输带宽测试,本次测试的是万兆带宽,iperf3部署比较简单,直接减压即可使用,然后分别在两个节点上客户端/服务器做对测,测试结果为带宽的值。

 

接着继续做基线测试中的硬盘读写测试,测试工具用FIO来做测试,测试分别在4台节点上做SSD的测试,测试数据主要是选择在4K和1M上做测试,本次测试了4K的随机读、随机写,1M顺序写、1M顺序读四个测试用例来分别对每个节点的硬件做基线测试,测试结果整理完毕后整理测试结果完成统计图。

 

接下来开始部署HDFS集群,部署集群主要按网络参考文档手册完成即可,部署也比较简单,主要下载好hadoop包,在每一台节点上分别部署即可,主要是需要对一些配置文件做修改,然后配置完毕后,按启动集群即可完成HDFS集群部署,然后开始部署YARN集群,部署YARN集群也需要考虑安装hadoop这一套,比如hadoop安装包,jdk环境变量配置等,这些和hdfs集群都是一样的,参考即可,重点是YARN集群的配置,配置完毕后,启动即可,然后开始用TestDFSIO测试,本测主要测试如下六种测试CASE集合:

1. 1000个100MB文件写测试

2. 200个1GB文件写测试

3. 30个10GB文件写测试

4. 1000个100MB文件读测试

5. 200个1GB文件读测试

6. 30个10GB文件读测试

测试完毕后,针对每一项测试用例,统计它的Throughput与Average IO rate这两个值即可,测试完HDFS集群,需要测试UMStor集群,然后将两次测试结果整理,供分析对比测试结果。

 

接下来继续开始测试端部署spark集群(上面部署yarn集群)继续用TeraSort开始测试,这里也是首先部署spark集群,部署spark集群,部署也较简单,主要是修复配置文件,部署文档可以参考网络上面的即可,然后Spark-TeraSort放到测试路径下即可开始做测试,本次主要测试如下的CASE集合,这里需要注意一点是Spark-TeraSort是一个开源的源代码,需要首先编译成jar包,同时将这个jar放到对应的spark/jars/*.jar目录下面即可。

1. 10G数据生成排序测试

2. 20G数据生成排序测试

3. 50G数据生成排序测试

4. 100G数据生成排序测试

5. 200G数据生成排序测试

 

Spark-TeraSort测试主要是分3步来进行,主要分别是TeraGen​​:用来生成测试数据、TeraSort​​:用来对生成的测试数据进行排序、TeraValidate​​:用来校验排序结果的正确性3个步骤来进行完成,

TeraGen

spark-submit --master spark://spark-node1:7077 --num-executors 10

--executor-memory 10G --class com.github.ehiggs.spark.terasort.TeraGen

/home/spark/jars/spark-terasort-1.1-SNAPSHOT-jar-with-dependencies.jar

200g hdfs://umstor-node1:9000/terasort_in_200g

 

TeraSort

spark-submit --master spark://spark-node1:7077 --num-executors 10

--executor-memory 10G --class

com.github.ehiggs.spark.terasort.TeraValidate

/home/spark/jars/spark-terasort-1.1-SNAPSHOT-jar-with-dependencies.jar

hdfs://umstor-node1:9000/terasort_in_200g

hdfs://umstor-node1:9000/terasort_out_200g

 

TeraValidate

spark-submit --master spark://spark-node1:7077 --num-executors 10

--executor-memory 10G --class

com.github.ehiggs.spark.terasort.TeraValidate /home/spark/jars/

spark-terasort-1.1-SNAPSHOT-jar-with-dependencies.jar

hdfs://umstor-node1:9000/terasort_out_200g

hdfs://umstor-node1:9000/terasort_validate_200g 

 

测试完成后记录统计测试结果,然后发布测试结果,进行比较前后两次spark的测试结果,测试报告参考参看:

《HDFS&Hadapter性能对比测试报告V1.0.pdf》

======================= hadoop ============================   

https://www.kancloud.cn/hanxt/aixin_paas/162272

https://linux.cn/article-8695-1.html
https://blog.csdn.net/qq_38799155/article/details/75949250

https://blog.csdn.net/u010638969/article/details/51283216
https://blog.csdn.net/xiongxianze/article/details/75810030
https://www.jianshu.com/p/1448d1550c8b

http://www.cnblogs.com/LHWorldBlog/p/8232935.html

https://www.cnblogs.com/zengxiaoliang/p/6478859.html

https://www.cnblogs.com/zengxiaoliang/p/6478859.html

https://download.csdn.net/download/jane8687/10335764

======================= FIO ===================================

http://www.178pt.com/204.html

https://wsgzao.github.io/post/fio/

http://www.hl10502.com/2017/05/22/fio-install-use/

https://www.fuuyun.org/?p=988

https://www.cnblogs.com/bodhitree/p/5809289.html

https://blog.csdn.net/w_meizi/article/details/51776693

=======================Ansible===============================

https://www.centos.bz/2017/08/centos7-install-ansible/

https://blog.csdn.net/weixin_37998647/article/details/78624866

http://blog.51cto.com/13055758/2067713

=======================  ceph  ================================

http://docs.ceph.org.cn/start/intro/

https://www.cnblogs.com/ksguai/p/5768369.html  (cosbench)

https://www.cnblogs.com/bodhitree/p/6149581.html

https://www.cnblogs.com/raykuan/p/6914748.html

https://segmentfault.com/a/1190000003880571

https://blog.csdn.net/qq_26525215/article/details/52527833

https://www.cnblogs.com/landhu/p/5843282.html

https://www.cnblogs.com/landhu/p/5843282.html

https://www.cnblogs.com/ksguai/p/5806500.html
https://www.cnblogs.com/bodhitree/p/6149581.html

http://www.bubuko.com/infodetail-1742376.html
https://blog.csdn.net/u012271526/article/details/48752139
https://www.cnblogs.com/kuku0223/p/8259793.html
https://blog.csdn.net/xbw12138/article/details/69396647

==========================  hive========================

https://www.jianshu.com/p/c6df3d9ed116  (hive)
https://blog.csdn.net/phn_csdn/article/details/71227139 
https://blog.csdn.net/zhaodedong/article/details/51141030

https://blog.csdn.net/zhaodedong/article/details/51141030

https://docs.ucloud.cn/analysis/uhadoop/testdata/uhadoop

https://blog.csdn.net/zhaodedong/article/details/51141030 

https://blog.csdn.net/xiefu5hh/article/details/52204329

https://linux.cn/article-9535-1.htmlhttp://dongxicheng.org/mapreduce/hadoop-terasort-analyse/

====================== kafka ==============================
https://www.cnblogs.com/ding2016/p/8282907.html          

http://orchome.com/kafka/index                 

============================其它杂项=========================

http://blog.csdn.net/san1156/article/details/76038287
http://blog.csdn.net/san1156/article/details/76038287
http://geek.csdn.net/news/detail/248772

http://www.cnblogs.com/tangdongchu/p/4229049.html
http://www.infoq.com/cn/articles/docker-core-technology-preview

 

 

 

你可能感兴趣的:(大数据,云计算)