知识点
相关文章
更多最近更新
更多Hadoop 0.21如何运行单个test case
2019-03-28 13:49|来源: 网络
研究
Hadoop 0.21代码时,很多情况下需要运行单个test case,如果新增了功能要测试case能否通过或者自己写的test case需要测试等。而把test case全部运行一遍是很耗时的,严重影响开发效率。这里提供一个0.21 mapreduce的一个diff文件,用以修改build.xml文件,打上patch后即可在本地运行单个test case了。
示例如下:
- Index: build.xml
- ===================================================================
- --- build.xml (revision 1102542)
- +++ build.xml (working copy)
- @@ -685,6 +685,7 @@
- value="@{hadoop.conf.dir.deployed}" />
- <classpath refid="@{classpath}"/>
- <formatter type="${test.junit.output.format}" />
- + <test name="${testcase}" todir="${test.build.dir}" if="testcase"/>
- <batchtest todir="@{test.dir}" unless="testcase">
- <fileset dir="@{fileset.dir}/@{suite.type}"
- excludes="**/${test.exclude}.java aop/** system/**">
- @@ -776,7 +777,18 @@
- fileset.dir="${test.src.dir}"/>
- </target>
- + <target name="run-ut"
- + depends="compile-mapred-test" if="testcase">
- + <macro-test-runner
- + test.file="${test.mapred.all.tests.file}"
- + suite.type="mapred"
- + classpath="${test.classpath.id}"
- + test.dir="${test.build.dir}"
- + fileset.dir="${test.src.dir}"/>
- + </target>
- +
- +
- <target name="checkfailure" if="tests.failed">
- <touch file="${test.build.dir}/testsfailed"/>
- <fail unless="continueOnFailure">Tests failed!</fail>
ant run-ut -Dtestcase="org.apache.hadoop.conf.TestJobConf"
运行结束后就可以在${test.build.dir},即build/test看到log文件了。如上面的示例的log文件为:
build/test/TEST-org.apache.hadoop.conf.TestJobConf.txt
更多Hadoop相关信息见Hadoop 专题页面 http://www.linuxidc.com/topicnews.aspx?tid=13
相关问答
更多-
如何删除hadoop?[2024-03-03]
命令:hadoop fs -rmr /home/mm/lily2(要求是你把hadoop的bin加到PATH中,并开启hadoop) rm -rf /home/mm/lily2(这是删除linux文件系统的文件夹) -
hadoop 运行问题[2021-09-25]
解决方案: 1. 格式化namenode: # hadoop namenode -format 2. 重新启动hadoop# sh stop-all.sh# sh start-all.sh 3. 查看后台进程# jps13508 NameNode11008 SecondaryNameNode14393 Jps11096 JobTracker此时namenode启动 4. 运行# hadoop fs -ls12/01/31 14:04:39 INFO security.Groups: Group mappin ... -
Hadoop的默认(FIFO)调度程序的工作方式如下 :当节点具有空闲容量时,它会联系主服务器并要求更多的工作。 主服务器尝试分配数据本地任务或机架本地任务,但如果不能,它会将队列中的任何任务(等待任务)分配给该节点。 然而,当这个节点被分配了这个非本地任务(我们称之为任务X)时,另一个节点有可能还有剩余容量并联系主请求工作。 即使该节点实际上拥有X所需的本地数据副本,也不会分配该任务,因为其他节点能够比后者节点稍快地获得对主节点的锁定。 这会导致数据局部性较差,但会导致FAST任务分配 。 相比之下, 公 ...
-
这些位与您注意到的相同。 不同之处在于默认运行的服务和Ambari组件集(在Spark上你将有额外的spark thrift,livy,jupyter)和这些服务的配置集。 因此,虽然技术上可以在hadoop集群上的纱线上运行火花作业,但不推荐使用,但某些配置可能未设置为最佳值。 反过来会更可靠 - 创建火花集群并在其上运行hadoop作业。 Maxim(HDInsight Spark PM) The bits are the same as you noticed. The difference is s ...
-
您可以在这里看一下这个问题,了解为什么在运行hadoop jar命令时,在边缘节点(客户机节点)中提取jar的原因。 它是从客户端节点运行jar时支持'jar-within-jar'的想法。 把罐子推到HDFS,纱线和所有这些都发生在那之后但是,在这些发生之前,你的罐子必须先执行,对吧? 在你的情况下,你可能有jar-within-jar或者你可能没有,但是这个概念是受支持的。 关于自动删除,可能不会自动删除。 You can probably look at here and this question ...
-
您需要考虑的几点: 你真的在Hadoop或其本地模式下运行代码吗? (看看你的工作是否在jobtracker和tasktracker上看到) 您是否在环境中导出了HADOOP变量? 群集是单个节点还是多个节点? 即使群集是多个节点,所有节点都健康吗? 其他节点有问题吗? 你正确使用setNumReduceTasks吗? 您可以通过删除详细信息(仅用于调试)将代码缩减为小型map-reduce代码。 运行。 走着瞧吧。 面对同样的问题,请在原始问题中提供简化代码。 Few points that you ne ...
-
在Windows 7上运行Hadoop(Running Hadoop On Windows 7)[2023-06-12]
看起来像unix和windows之间的回车差异导致问题。 尝试在shell脚本上运行dos2unix 转到hadoop bin目录并尝试: dos2unix.exe hadoop.sh 然后尝试hadoop命令。 Seems like carriage return difference between unix and windows is causing the problem . Try running dos2unix on the shell script Go to the hadoop bi ... -
“$ HADOOP_HOME / bin / hadoop logs”命令不起作用(“$HADOOP_HOME/bin/hadoop logs” command doesn't work)[2022-07-23]
我不确定你要做什么但是logs不作为命令存在。 hadoop.sh的可用命令是: fs run a generic filesystem user client version print the version jarrun a jar file note: please use "yarn jar" to launch ... -
猪可以以两种模式运行: 本地模式。 在这种模式下,根本不使用Hadoop集群。 所有进程都在单个JVM中运行,文件从本地文件系统中读取。 要以本地模式运行Pig,请使用以下命令: pig -x local MapReduce模式。 在此模式下,Pig将脚本转换为MapReduce作业并在Hadoop集群上运行它们。 这是默认模式。 群集可以是本地的或远程的。 Pig使用HADOOP_MAPRED_HOME环境变量在本地计算机上查找Hadoop安装(请参阅安装Pig )。 如果要连接到远程集群,则应在pi ...
-
在NFS上安装Hadoop(Installing Hadoop on NFS)[2023-09-01]
我能够使用版本1.1.2让Hadoop在NFS上运行。 它可能适用于其他版本,但我无法保证任何事情。 如果您有NFS文件系统,那么每个节点都应该有权访问文件系统。 fs.default.name告诉Hadoop要使用的文件系统URI,因此应该指向本地磁盘。 我假设你的NFS目录被挂载到/ nfs的每个节点。 在core-site.xml中,您应该定义:fs.default.name file:///