我在CentOS 6.7中使用HDP 2.4。
我已经用Ambari创建了集群,所以Oozie是由Ambari安装和配置的。
我在运行Oozie/Sqoop时遇到了两个与jar文件位置有关的错误。第一个涉及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启动器,Main类[org.apache.oozie.action.hoop.SqoopMain],main()抛出异常,org/kitesdk/data/DatasetNotFoundExceptionjava.lang.NoClassDefFoundError:org/kitesdk/data/DatasetNotFoundException
这似乎很奇怪,这不是由Ambari自动配置的,而且当我们开始出现错误时,我们必须将jar文件复制到HDFS中。
这是正确的方法还是我错过了一些配置步骤?
这是由于类路径中缺少jar。我建议您使用job.properties
文件中的属性oozie.use.system.libpath=true
。所有与sqoop相关的jar都将自动添加到类路径中。然后只将您需要的自定义jar添加到工作流应用程序路径的lib目录中。,将从CCD_ 7添加所有与sqoop相关的jar。