我在centos 6.7中使用HDP2.4。
我已经用ambari创建了集群,所以oozie是由ambari安装和配置的。
我在运行与jar文件位置相关的oozie/sqoop时遇到两个错误。第一个涉及 postgresql-jdbc.jar
,因为sqoop作业是从postgres增量导入的。我添加了 postgresql-jdbc.jar
文件并指向 workflow.xml
:
<file>/user/hdfs/sqoop/postgresql-jdbc.jar</file>
它解决了问题。但第二个错误似乎令人担忧 kite-data-mapreduce.jar
. 但是,对该文件执行相同的操作:
<file>/user/hdfs/sqoop/kite-data-mapreduce.jar</file>
似乎无法解决问题:
失败的oozie启动程序,主类[org.apache.oozie.action.hadoop.sqoopmain],main()引发异常,org/kitesdk/data/datasetnotfoundexception java.lang.noclassdeffounderror:org/kitesdk/data/datasetnotfoundexception
奇怪的是,ambari并没有自动配置这个文件,当我们开始出错时,我们必须将jar文件复制到hdfs中。
这是正确的方法还是我错过了一些配置步骤?
1条答案
按热度按时间h5qlskok1#
这是由于类路径中缺少jar造成的。我建议你用这房子
oozie.use.system.libpath=true
在job.properties
文件。所有与sqoop相关的jar都将自动添加到类路径中。然后只将您需要的自定义jar添加到工作流应用程序路径的lib目录中,所有与sqoop相关的jar都将从/user/oozie/share/lib/lib_<timestamp>/sqoop/*.jar
.