首页 文章

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

提问于
浏览
1

我在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 回答

  • 2

    这是由于类路径中缺少jar而发生的 . 我建议你在 job.properties 文件中使用属性 oozie.use.system.libpath=true . 所有与sqoop相关的jar都将自动添加到类路径中 . 然后只将工作流程应用程序路径的lib目录中需要的自定义jar添加到所有sqoop相关的jar中,将从 /user/oozie/share/lib/lib_<timestamp>/sqoop/*.jar 添加 .

相关问题