本文章为原创文章,转载请注明出处:http://guoyunsky.iteye.com/blog/1698507
今天通过Oozie启动一个定时工作流的时候,控制台发现如下报错:
Error: E0301 : E0301: Invalid resource [hdfs://localhost:9000/user/guoyun/workflow/apps/workflow],其中hdfs://localhost:9000/user/guoyun/workflow/apps/workflow为我要定时启动的工作流在hdfs上的地址.之前使用oozie定时一直很正常,怎么会发生这种报错,很奇怪。google搜索下,没看到什么解决方案。于是跑去oozie的日志中,默认是$OOZIE_HOME/logs目录下的oozie.log发现如下完整异常:
org.apache.oozie.servlet.XServletException: E0301: Invalid resource [hdfs://localhost:9000/user/guoyun/workflow/apps/workflow]
at org.apache.oozie.servlet.ServletUtilities.ValidateAppPath(ServletUtilities.java:27)
at org.apache.oozie.servlet.BaseJobServlet.checkAuthorizationForApp(BaseJobServlet.java:168)
at org.apache.oozie.servlet.BaseJobsServlet.doPost(BaseJobsServlet.java:89)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:637)
at org.apache.oozie.servlet.JsonRestServlet.service(JsonRestServlet.java:281)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
at org.apache.oozie.servlet.AuthFilter$2.doFilter(AuthFilter.java:123)
at com.cloudera.alfredo.server.AuthenticationFilter.doFilter(AuthenticationFilter.java:371)
at org.apache.oozie.servlet.AuthFilter.doFilter(AuthFilter.java:128)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:233)
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:191)
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:127)
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102)
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:298)
at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:857)
at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:588)
at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:489)
at java.lang.Thread.run(Thread.java:662)
通过这些异常可以发现是在工作流验证的时候所导致,但还是不能直观的告诉我到底是什么原因.无奈,直的看下源码了.于是跑到org.apache.oozie.servlet.ServletUtilities.ValidateAppPath(ServletUtilities.java:27)中.代码如下:
protected static void ValidateAppPath(String wfPath, String coordPath) throws XServletException { if (wfPath != null && coordPath != null) { throw new XServletException(HttpServletResponse.SC_BAD_REQUEST, ErrorCode.E0301, wfPath, coordPath); } else { if (wfPath == null && coordPath == null) { throw new XServletException(HttpServletResponse.SC_BAD_REQUEST, ErrorCode.E0302); } } }
这下就恍然大悟了,原来是这个工作流既是一般工作流,又是定时工作流,oozie不允许(里面,wfPath和coordPath都不为空)。于是跑到我的coord.properties中发现:
果真既配置了oozie.coord.application.path=${name_node}/user/${user.name}/workflow/apps/workflow
也配置了oozie.wf.application.path=${name_node}/user/${user.name}/workflow/apps/workflow。
如此的话,如果你是要启动定时工作流,只要注释掉oozie.wf.application.path就可以正常运行了.
更多技术文章、感悟、分享、勾搭,请用微信扫描:
相关推荐
当从本地上传文件到HDFS中时报错 fs.FSInputChecker: Found checksum error: b[0, 69]=6d6f77656968616861686168616868616686168616861686861680a org.apache.hadoop.fs.ChecksumException: Checksum error: file:/...
hadoop2.7汇总:新增功能最新编译64位安装、源码包、API、eclipse插件下载
andlaz/hadoop-oozie su oozie -c 'oozie-setup.sh sharelib create -fs hdfs://namenode:8020' 启动Ooozie docker run -d --name oozie -p 0.0.0.0:11000 -p 0.0.0.0:11001:11001 \ andlaz/hadoop-oozie su oozie ...
Hadoop 技术内幕:深入解析Hadoop Common 和HDFS 架构设计与实现原理
Hadoop技术内幕:深入解析Hadoop Common 和HDFS 架构设计与实现原理 (大数据技术丛书) 原版书籍,非扫描版,使用kindle可以打开,也可以转换为epub使用ibooks打开
export HADOOP_HOME="/usr/local/hadoop/" export JAVA_HOME="/usr/local/hadoop/jdk1.6.0_24" export CLASSPATH="$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar:${HADOOP_HOME}/lib/commons-logging-1.0.4.jar...
/opt/hadoop$ scp -r /opt/hadoop/* 主機二:/opt/hadoop/ step 8. 格式化HDFS 以上我們已經安裝及設定好 Hadoop 的叢集環境,接著讓我們來啟動 Hadoop ,首先還是先格式化hdfs,在"主機一" 上操作 • /opt/hadoop$ ...
《Hadoop技术内幕:深入解析Hadoop Common和HDFS架构设计与实现原理》由腾讯数据平台的资深Hadoop专家、X-RIME的作者亲自执笔,对Common和HDFS的源代码进行了分析,旨在为Hadoop的优化、定制和扩展提供原理性的指导。...
Hadoop/etc/hadoop/slaves 的IP地址要变。 5个重要的配置文件逐个检查,IP地址需要变 2.配置文件确认无错误,看日志: 从logs日志中寻找slave的namenode为什么没有起来。 3.最后发现是hdfs中存在上次的数据,删掉...
对Hadoop中的HDFS、MapReduce、Hbase系列知识的介绍。如果想初略了解Hadoop 可下载观看
《Hadoop技术内幕:深入解析Hadoop Common和HDFS架构设计与实现原理》还从源代码实现中对分布式技术的精髓、分布式系统设计的优秀思想和方法,以及Java语言的编码技巧、编程规范和对设计模式的精妙运用进行了总结和...
export HADOOP_HOME="/usr/local/hadoop/" export JAVA_HOME="/usr/local/hadoop/jdk1.6.0_24" export CLASSPATH="$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar:${HADOOP_HOME}/lib/commons-logging-1.0.4.jar...
[atguigu@hadoop102 oozie-4.0.0-cdh5.3.6]$ tar -zxvf oozie-examples.tar.gz 2)创建工作目录 [atguigu@hadoop102 oozie-4.0.0-cdh5.3.6]$ mkdir oozie-apps/ 3)拷贝任务模板到oozie-apps/目录 [atguigu@hadoop...
在网上搜集的以及本人自己总结的hadoop集群常见问题及解决办法,融合了网上常常搜到的一些文档以及个人自己的经验。
hadoop(二:hadoop3.3.0搭建,HDFS shell 命令,MapReduce程序)
http://mirrors.aliyun.com/apache/hadoop/common/hadoop-2.6.3/hadoop-2.6.3.tar.gz 3.Spark-1.5.2-bin-hadoop2.6.tgz http://www.apache.org/dyn/closer.lua/spark/spark-1.5.2/spark-1.5.2-bin-hadoop2.6.tgz ...
Hadoop大数据环境搭建步骤及软件下载地址
12.Hadoop入门进阶课程_第12周_Flume介绍与安装.pdf i
Hadoop oozie报错:Table ‘oozie.VALIDATE_CONN’ doesn’t exist 。 oozie建表sql,直接下载执行
Hadoop常见异常,以及hadoop配置,等资料