运行MapReduce作业做集成测试
作者:网络转载 发布时间:[ 2013/8/9 9:55:11 ] 推荐标签:
引言
通过本系列的前篇文章用MRUnit做单元测试介绍可以很容易对MapReduce进行单元测试,这很必要,可以较早的发现一些代码逻辑的问题。只有单元测试是不够的,我们需要对MapReduce任务进行集成测试,要进行集成测试,得先懂得如何将MapReduce作业在hadoop集群中运行起来。
准备工作
以windows环境为例:
安装jdk,设置环境变量JAVA_HOME为jdk安装目录
安装Cygwin,安装时注意选择安装软件包openssh–Net类,安装完成将cygwin/bin加入环境变量path。
确认ssh。打开cygwin命令行,分别执行以下命令
安装sshd:$ssh-host-config
启动sshd服务:$netstartsshd
检查可登录localhost:$sshlocalhost
下载稳定的hadoop版本,点此选择下载,我选择的是0.20.2版本。
下载后解压,编辑conf/hadoop-env.sh,修改JAVA_HOME为jdk安装目录。
至此,Windows环境下的Hadoop的安装和配置完成,为了运行还需要打包MapReduce作业。我们用maven的assembly插件来将程序打包。
配置如下:
<build>
<plugins>
<plugin>
<artifactId>maven-assembly-plugin</artifactId>
<configuration>
<descriptorRefs>
<descriptorRef>jar-with-dependencies</descriptorRef>
</descriptorRefs>
</configuration>
</plugin>
</plugins>
</build>
在pom.xml里加入以上配置,运行mvnassembly:assembly命令可以打包了。
单机运行
特点:
单台机器、单线程运行、不需要启动hadoop进程,利于调试,但没有模拟hadoop集群多个进程的情况,只支持一个reducer。
运行方式:
$bin/hadoopjar--configstandalonepath/xx.jarWordCountinputoutput
注意点:
用–config指定单机运行时的配置目录(示例中配置目录文件夹名为standalone,在0.20.2版本这个文件夹可以为空目录,不要别的配置文件)
WordCount为包含运行作业main函数的的类,如果有包名需要加上包名。
Input文件夹下放置输入的文件。
Output为输出的目录,在运行job前需保证该目录不存在,否则会报错。
伪分布式运行
特点:
单台机器,启动hadoop所有进程(如NameNode,DataNode,TaskTracker,JobTracker,SecondaryNameNode),较好的模拟hadoop集群情况。
相关推荐
更新发布
功能测试和接口测试的区别
2023/3/23 14:23:39如何写好测试用例文档
2023/3/22 16:17:39常用的选择回归测试的方式有哪些?
2022/6/14 16:14:27测试流程中需要重点把关几个过程?
2021/10/18 15:37:44性能测试的七种方法
2021/9/17 15:19:29全链路压测优化思路
2021/9/14 15:42:25性能测试流程浅谈
2021/5/28 17:25:47常见的APP性能测试指标
2021/5/8 17:01:11