大数据测试

今天老徐在小密圈提问,如何做大数据测试。我就自己以前做运维时,接触到的一些知识,做了简单的说明,这些也都是自己实践过,想要表达的东西。

大数据运维,通俗来说就是对集群健康的监控;各种与集群相关组件的使用,如  hive,hbase,spark,zookeeper,redis,pig,solr,kafka,flume等,都属于运维的范畴;数据库的备份;服务器的硬件信息(cpu、内存等)等等,都是运维的工作。

以前做运维的时候,接触过大数据方面的测试。主要接触的有两方面:1.大数据平台的测试  2.针对大数据平台所存储数据的测试。

一、大数据平台测试:一般是对集成环境测试,简单来说,就是有一个平台,可以统一管理集群中各项指标。

1.登录监控管理系统;

2.查看系统各项指标,包括但不限于:

主机节点:主机名称、CPU、内存、网络等参数等;

HDFS: HDFS文件系统块总数、总大小、文件总数、剩余量、损坏块等;

Mapreduce:任务运行情况,任务占资源情况等;

清单查询集群:RegionServer的请求次数以及RegionServer Regions数目等;

YARN:Current Applications、Finished Applications、NodeManagers;

系统运行日志;

3. 能通过界面对主机、服务进行日常的运维、管理等操作。包括但不限于:

对服务、集群等进行启停操作;

对服务、集群的参数及配置项进行管理;

对系统资源进行管理及人工调整;

对于安全访问的审计功能支持;等。

二、数据方面的测试:利用hive,对数据进行处理。通过ETL调度工具,可以对数据进行清洗、转换等。做过一段时间的升级工作,将oracle的存储过程,修改为适用于大数据平台的hivesql。还有相关的数据在集群中导入导出、集群个组件的应用测试、sql查询的性能测试(以前写的脚本,跑了一天一夜,数据还是没跑出来。还有因为一个脚本写的不合理,导致集群卡死),相关sql优化(数据倾斜,空字段、笛卡尔积、布尔值)。 还有对ETL调度工具的使用。

hivesql、sparksql  与mysql  个人感觉差不多,可以看看官方文档的介绍。

现在对数据处理分为两个方向:实时与非实时。  实时的一般用kafka+flume  ,非实时的一般用hive。还有对数据处理比较快的spark(走内存),ETL调度工具:抽取(extract)、转换(transform)、加载(load),以前公司自己研发的ETL调度工具,可以对任务进行定时处理,ETL(主要配置一些sql,定时触发)和HADOOP集群结合,完美搭档。

除了以上之外,还要对Linux玩的比较好,查日志,动态打印日志,备份数据库,vi编辑器,写shell脚本,启定时任务,对服务器内存、CPU的监控,会搭建各种环境(Java,mysql,redis,tomcat,jmeter 甚至集群的搭建),修改配置文件,替换jar包等 。


待续吧

你可能感兴趣的:(大数据测试)