我在CentOS 6.7中使用HDP 2.4 .
我用Ambari创建了集群,所以Oozie由Ambari安装和配置 .
运行与jar文件位置相关的Oozie / Sqoop时出现两个错误 . 第一个涉及 postgresql-jdbc.jar
,因为Sqoop作业是从Postgres逐步导入的 . 我将 postgresql-jdbc.jar
文件添加到HDFS并在 workflow.xml
中指向它:
<file>/user/hdfs/sqoop/postgresql-jdbc.jar</file>
它解决了这个问题 . 但第二个错误似乎与 kite-data-mapreduce.jar
有关 . 但是,对此文件执行相同操作:
<file>/user/hdfs/sqoop/kite-data-mapreduce.jar</file>
似乎没有解决问题:
失败的Oozie Launcher,主类[org.apache.oozie.action.hadoop.SqoopMain],main()抛出异常,org / kitesdk / data / DatasetNotFoundException java.lang.NoClassDefFoundError:org / kitesdk / data / DatasetNotFoundException
看起来很奇怪,这不是由Ambari自动配置的,我们在开始收到错误时必须将jar文件复制到HDFS中 .
这是正确的方法还是我错过了一些配置步骤?
1 回答
这是由于类路径中缺少jar而发生的 . 我建议你在
job.properties
文件中使用属性oozie.use.system.libpath=true
. 所有与sqoop相关的jar都将自动添加到类路径中 . 然后只将工作流程应用程序路径的lib目录中需要的自定义jar添加到所有sqoop相关的jar中,将从/user/oozie/share/lib/lib_<timestamp>/sqoop/*.jar
添加 .