【技术实现步骤摘要】
MapReduce分布式系统程序的测试方法及设备
本专利技术涉及通信技术,尤其涉及一种MapReduce分布式系统程序的测试方法及设备。
技术介绍
近年来,随着宽带网络技术与并行计算理论的快速发展,一种更简化的分布式系统即映射和汇总(MapReduce)分布式系统应运而生,以为多种应用提供服务,例如,为搜索引擎提供服务。在MapReduce分布式系统,也可以称为MapReduce分布式集群,例如,Hadoop系统,中,一个数据处理过程称为一个作业(Job),Job提交之后,将待处理数据分为N份,每份待处理数据由一个映射(Map)任务进行处理,Map任务运行在该MapReduce分布式系统中的一个节点设备上,一个节点设备上可以运行一个或多个Map任务;所有Map任务的输出结果由汇总(Reduce)任务进行汇总,输出对应的结果。其中,Hadoop是阿帕奇软件基金下的一个开源项目。然而,在MapReduce分布式系统中,对所运行的程序即MapReduce分布式系统程序进行测试,往往需要搭建基于Hadoop分布式文件系统(Hadoop Distributed File System,HDFS)的MapReduce分布式集群环境,从而导致了测试成本的增加。
技术实现思路
本专利技术的多个方面提供一种MapReduce分布式系统程序的测试方法及设备,用以降低测试的成本。本专利技术的一方面,提供一种MapReduce分布式系统程序的测试方法,包括:接收MapReduce启动命令,所述MapReduce启动命令用于启动MapReduce分布式系统的待测试程序,所述MapRed ...
【技术保护点】
一种MapReduce分布式系统程序的测试方法,其特征在于,包括:接收MapReduce启动命令,所述MapReduce启动命令用于启动MapReduce分布式系统的待测试程序,所述MapReduce启动命令中包含启动参数;利用所述启动参数,运行第一脚本,以获得所述待测试程序相关的第一环境变量参数;获得所述MapReduce分布式系统相关的第二环境变量参数;利用所述第一环境变量参数和所述第二环境变量参数,运行第二脚本,以运行所述待测试程序。
【技术特征摘要】
1.一种MapReduce分布式系统程序的测试方法,其特征在于,包括: 接收MapReduce启动命令,所述MapReduce启动命令用于启动MapReduce分布式系统的待测试程序,所述MapReduce启动命令中包含启动参数; 利用所述启动参数,运行第一脚本,以获得所述待测试程序相关的第一环境变量参数; 获得所述MapReduce分布式系统相关的第二环境变量参数; 利用所述第一环境变量参数和所述第二环境变量参数,运行第二脚本,以运行所述待测试程序。2.根据权利要求1所述的方法,其特征在于,所述获得所述MapReduce分布式系统相关的第二环境变量参数,包括: 利用集群配置文件,运行第三脚本,以获得所述第二环境变量参数;或者 根据预先配置的配置信息,获得所述第二环境变量参数。3.根据权利要求1或2所述的方法,其特征在于,所述第一脚本包括local脚本和run.sh脚本;所述利用所述启动参数,运行第一脚本,以获得所述待测试程序相关的第一环境变量参数,包括: 利用所述启动参数,运行local脚本;其中,所述local脚本用于检查所述启动参数是否正确,若所述启动参数不正确,则返回输入手册,若所述启动参数正确,则准备工作目录,所述工作目录下的文件包括作业配置文件、所述待测试程序和所述MapReduce分布式系统的系统程序; 运行run.sh脚本;其中,所述run.sh脚本用于解析所述MapReduce启动命令,获得所述第一环境变量参数,将所述第一环境变量参数写到所述作业配置文件中;所述run.sh脚本还用于根据所述第一环境变量参数中的mapper参数和/或reducer参数,执行Map任务和/或Reduce任务;其中,根据所述mapper参数,执行Map任务,包括: 根据所述第一环境变量参数中的input参数,将所述待测试程序需要处理的与所述input参数所指示的数目一致的输入文件切分成所述数目的分片。4.根据权利要求3所述的方法,其特征在于,所述第三脚本包括replace_conf.sh脚本;所述利用所述启动参数,运行第三脚本,以获得所述第二环境变量参数,包括: 利用所述集群配置文件,运行replace_conf.sh脚本;其中,所述replace_conf.sh脚本用于读取所述集群配置文件,获得所述第二环境变量参数,将所述第二环境变量参数写到所述作业配置文件中。5.根据权利要求3或4所述的方法,其特征在于,所述第二脚本包括env.sh脚本和localrunner.py脚本;所述利用所述第一环境变量参数和所述第二环境变量参数,运行第二脚本,以运行所述待测试程序,包括: 运行env.sh脚本;其中,所述env.sh脚本用于对所述作业配置文件中的所述第一环境变量参数和所述第二环境变量参数进行加载; 运行localrunner.py脚本;其中,所述localrunner.py脚本用于生成控制信息和执行信息,以及利用套接字将所述控制信息和所述执行信息传递给所述待测试程序,以运行所述待测试程序,对所述分片的输入文件对应的任务进行处理。6.根据权利要求3 5任一权利要求所述的方法,其特征在于,所述工作目录下的文件还包括用于进行性能测试的动态库文件;所述方法还包括: 根据所述第一环境变量参数中的性能测试参数,利用所述动态库文件,对所述待测试程序进行性能测试。7.根据权利要求1 6任一权利要求所述的方法,其特征在于,所述方法还包括: 根...
【专利技术属性】
技术研发人员:杨斐,
申请(专利权)人:百度在线网络技术北京有限公司,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。