不应该在软件包安装期间配置 Oozie/Sqoop jar 位置吗?



我在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。

最新更新