我正在尝试使用下面的xml运行oozie作业。但是,操作失败并出现错误:
主类[org.apache.oozie.action.hadoop.sparkmain],退出代码[101]
在分析日志时,我发现错误是由java.lang.classnotfoundexception:mainclass引起的。但是mainclass存在于hdfs位置的jar中。jar在下面的xml中指定。下面是我的代码:
<action name="action1" cred="hive_credentials">
<spark xmlns="uri:oozie:spark-action:0.2">
<job-tracker>${jobTracker}</job-tracker>
<name-node>${nameNode}</name-node>
<master>local[*]</master>
<name>name</name>
<class>Mainclass</class>
<jar>${jar1}</jar>
<spark-opts>
--files hive-site.xml --conf spark.yarn.security.tokens.hive.enabled=false
</spark-opts>
<arg>arg1</arg>
<file>${nameNode}/test/${wf:user()}/hive-site.xml</file>
</spark>
<ok to="end" />
<error to="kill_job" />
</action>
有什么问题吗?
1条答案
按热度按时间gmxoilav1#
我解决了这个问题,
1) 直接在工作流xml旁边创建“lib”文件夹
2) 正在将mainclass jar复制到lib文件夹
3) 仅在标记中指定jar名称,而不是完全限定的hdfs路径