Comments (14)
@nkxujun 确实。
我大概遇到了两个问题,都是关于oozie安装成功后跑job不成功的问题,弄了差不多两天。
Q1:JA017: Could not lookup launched hadoop Job ID
Q2:Error starting action [mr-node]. ErrorType [TRANSIENT], ErrorCode [JA009], Message [JA009: Unknown protocol,org.apache.oozie.action.ActionExecutorException: JA009: Unknown protocol: org.apache.hadoop.yarn.api.ApplicationClientProtocolPB
1、oozie安装参考:https://segmentfault.com/a/1190000002738484
2、我安装成功后便出现Q1,解决主要参考了:https://stackoverflow.com/search?q=org.apache.oozie.action.ActionExecutorException%3A+JA017%3A+Could+not+lookup+launched+hadoop+Job+ID+
3、之后又出现Q2,解决主要受启发于:https://kb.informatica.com/solution/23/Pages/51/303398.aspx
4、配置文件的修改过程可以参考:https://stackoverflow.com/questions/43426691/oozie-workflow-failed-due-to-error-ja017?noredirect=1
5、由于解决过程比较纠结,所以至今我依然没有锁定具体是那一个因子造成成了上述问题,只是知道大体范围就在上面的修改空间。下面我会附上我跑起来OK的配置文件内容,希望能有参考作用。
${HADOOP_HOME}/etc/hadoop/yarn-site.xml:
<configuration>
<!-- Site specific YARN configuration properties -->
<property>
<name>yarn.nodemanager.aux-services</name>
<value>mapreduce_shuffle</value>
</property>
<property>
<name>yarn.nodemanager.aux-services.mapreduce.shuffle.class</name>
<value>org.apache.hadoop.mapred.ShuffleHandler</value>
</property>
<property>
<name>yarn.log-aggregation-enable</name>
<value>true</value>
</property>
<property>
<name>yarn.resourcemanager.resource-tracker.address</name>
<value>master:8025</value>
</property>
<property>
<name>yarn.resourcemanager.scheduler.address</name>
<value>master:8030</value>
</property>
<property>
<name>yarn.resourcemanager.address</name>
<value>master:8033</value>
</property>
</configuration>
${HADOOP_HOME}/etc/hadoop/mapred-site.xml:
<configuration>
<property>
<name>mapreduce.framework.name</name>
<value>yarn</value>
</property>
<property>
<name>mapreduce.job.queuename</name>
<value>default</value>
</property>
<property>
<name>mapreduce.tasktracker.http.address</name>
<value>0.0.0.0:50060</value>
</property>
<property>
<name>mapreduce.tasktracker.report.address</name>
<value>127.0.0.1:0</value>
</property>
<property>
<name>mapreduce.jobtracker.http.address</name>
<value>master:50030</value>
</property>
<property>
<name>mapreduce.jobhistory.address</name>
<value>master:10020</value>
</property>
<property>
<name>mapreduce.jobhistory.webapp.address</name>
<value>master:19888</value>
</property>
备注:以上,master是我的主机名,请自行修改,另外一个比较关键的是端口号的配置,具体配置什么端口号一般来说应该是固定的,但是也请注意查看自己机器具体启用的是哪个端口。
from easyml.
@LG-1 您好,您可以到tomcat下的logs目录查看一下相关日志,然后把错误日志给我们截个图吗?
from easyml.
@sinllychen 您好,目前还没有配置tomcat服务
from easyml.
@sinllychen 对不起,我再去后台看了一下,HDFS目录是有的,workflow.xml文件也写进去了。如下图。
可为什么还是会报路径不存在呢?
from easyml.
@sinllychen 具体错误返回日志
`[mkdirs]hdfs://master:9000/EML/oozie/APP-PATH-111
E0504 : E0504: App directory [/EML/oozie/APP-PATH-111] does not exist
at org.apache.oozie.client.OozieClient.handleError(OozieClient.java:508)
at org.apache.oozie.client.OozieClient$JobSubmit.call(OozieClient.java:591)
at org.apache.oozie.client.OozieClient$JobSubmit.call(OozieClient.java:561)
at org.apache.oozie.client.OozieClient$ClientCallable.call(OozieClient.java:479)
at org.apache.oozie.client.OozieClient.run(OozieClient.java:655)
at eml.studio.server.util.OozieUtil.submit(OozieUtil.java:48)
at eml.studio.server.oozie.instance.OozieInstance.exec(OozieInstance.java:56)
at eml.studio.server.rpc.JobServiceImpl.submit(JobServiceImpl.java:435)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:606)
at com.google.gwt.user.server.rpc.RPC.invokeAndEncodeResponse(RPC.java:561)
at com.google.gwt.user.server.rpc.RemoteServiceServlet.processCall(RemoteServiceServlet.java:208)
at com.google.gwt.user.server.rpc.RemoteServiceServlet.processPost(RemoteServiceServlet.java:248)
at com.google.gwt.user.server.rpc.AbstractRemoteServiceServlet.doPost(AbstractRemoteServiceServlet.java:62)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:637)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
at org.mortbay.jetty.servlet.ServletHolder.handle(ServletHolder.java:487)
at org.mortbay.jetty.servlet.ServletHandler.handle(ServletHandler.java:362)
at org.mortbay.jetty.security.SecurityHandler.handle(SecurityHandler.java:216)
at org.mortbay.jetty.servlet.SessionHandler.handle(SessionHandler.java:181)
at org.mortbay.jetty.handler.ContextHandler.handle(ContextHandler.java:729)
at org.mortbay.jetty.webapp.WebAppContext.handle(WebAppContext.java:405)
at org.mortbay.jetty.handler.HandlerWrapper.handle(HandlerWrapper.java:152)
at org.mortbay.jetty.handler.RequestLogHandler.handle(RequestLogHandler.java:49)
at org.mortbay.jetty.handler.HandlerWrapper.handle(HandlerWrapper.java:152)
at org.mortbay.jetty.Server.handle(Server.java:324)
at org.mortbay.jetty.HttpConnection.handleRequest(HttpConnection.java:505)
at org.mortbay.jetty.HttpConnection$RequestHandler.content(HttpConnection.java:843)
at org.mortbay.jetty.HttpParser.parseNext(HttpParser.java:647)
at org.mortbay.jetty.HttpParser.parseAvailable(HttpParser.java:211)
at org.mortbay.jetty.HttpConnection.handle(HttpConnection.java:380)
at org.mortbay.io.nio.SelectChannelEndPoint.run(SelectChannelEndPoint.java:395)
at org.mortbay.thread.QueuedThreadPool$PoolThread.run(QueuedThreadPool.java:488)`
from easyml.
@LG-1 你的日志上显示hdfs地址是master:9000这个master是你自己配的吗?我们默认是hadoop-master
from easyml.
@LG-1顺带问您一下你是在ubuntu下安装的docker,然后安装我们的集群吗?然后通过window系统访问吗?如果是这样的话,你的ubuntu需要配置host: 本机ip hadoop-master和mysql。并且你的windows系统上也需要配置host: ubuntu的ip hadoop-master和mysql
from easyml.
@sinllychen 是的,整个后台我移植到自己搭建的环境了。联通性是没有问题的,我上传的数据已成功上传到HDFS。但job依然不能创建,提示路径找不到,而后台实际是有这个路径及配置文件的。
from easyml.
@sinllychen 您好,我没有安装docker,我是在ubuntu下安装虚拟机然后搭建的Hadoop+Spark集群。目前webapplication也放在集群中的master机器上的,所以用户的访问权限应该是没有问题的。
mysql目前也装在master机器上。数据交互应该也没有问题(因为上传数据upload data已经成功将源信息写入表中,数据文件存入HDFS中)。
from easyml.
@sinllychen 在后台单独运行job也是没问题的。
from easyml.
@LG-1 您好,您能点击到oozie web console中的任意一个failed任务,查看一下失败的日志吗?还有,您的hadoop的job history server启动了吗?
from easyml.
@sinllychen 您好,创建job出错的问题已经解决了。谢谢。
总结一下原因:应该不是由于EML系统造成的。
应该是由于oozie本身配置的一些问题,依据报错信息,经过一些努力,在修改了yarn-site.xml、mapred-site.xml等配置文件后,从命令行可以成功创建job并不报错的情况下,在EML创建job也就不会报错了。
再次感谢。
from easyml.
@LG-1 如果方便请总结一下对配置文件做了哪一些修改,这样遇到同样问题的人可以快点找到方案,谢谢!
from easyml.
补充两点:
[1],如果出现Unknown protocol: org.apache.hadoop.yarn.api.ApplicationClientProtocolPB。极有可能是因为yarn-site.xml中yarn.resourcemanager.address配置的端口号与job.properties中的jobTracker不一致。两者需要一致。
[2],如果出现java.lang.NoSuchFieldError: HADOOP_CLASSPATH。极有可能是因为安装的hadoop版本与oozie支持的版本不一致。请参考:https://stackoverflow.com/questions/41205447/oozie-example-map-reduce-job-fails-with-java-lang-nosuchfielderror-hadoop-class。亲测有效。
from easyml.
Related Issues (20)
- 为什么程序节点下载不了了? HOT 3
- 实例分布式移动垃圾短信分类中Word_Segment模块【单机和分布式】缺失,可否上传一下 HOT 1
- 运行RMSE时提示错误,请问如何解决
- 外网的地址进不去了,没有人维护吗 HOT 3
- 利用docker部署分布式EasyML集群后,hadoop集群中的文件无法下载 HOT 2
- 利用docker部署分布式EasyML集群后,平台中的程序和数据集无法下载和查看 HOT 3
- Wiki中的图片无法显示
- 请问为什么有些官方的算法运行失败后不显示错误信息?已附图 HOT 6
- 任务执行结果无法下载 HOT 1
- 请问--master spark://bda07:7077这条指令中bda07指的是什么啊 HOT 2
- 关于EasyML平台的几个问题 HOT 2
- EasyML连接HDP3.0.1里面的oozie出问题,卡死。 HOT 1
- 有没有一些使用手册,可以指导性的使用。 HOT 1
- 请问通过平台训练完的模型是如何保存的? HOT 2
- docker安装的一些问题
- windows idea直接run程序,点击submit没有反应
- Ports are not available: listen tcp 0.0.0.0:50070 HOT 3
- 硬盘100% HOT 1
- 没人维护了吗
- 能否把wiki中的图片源换一下
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from easyml.