oozie失败,无法加载db驱动程序类:oracle.jdbc.OracleDriver

时间:2017-10-10 10:42:42

标签: sqoop oozie

我在使用oozie执行sqoop export命令(在shell脚本中)时遇到错误。

“java.lang.RuntimeException:无法加载db驱动程序类:oracle.jdbc.OracleDriver”

cli(边缘节点)的sqoop导出工作正常。

我已将ojdbc6.jar添加到以下位置。 /opt/cloudera/parcels/CDH-5.7.1-1.cdh5.7.1.p0.11/lib/sqoop/lib /

(HDFS位置) / user / oozie / share / lib / sqoop /和 /用户/ Oozie的/共享/ LIB / lib_20161215195933 / sqoop

我还在oozie job.properties文件中设置了oozie.use.system.libpath = true

如果我错过任何设置,请指导我。 log content

谢谢&问候, 索纳莉

1 个答案:

答案 0 :(得分:1)

  1. 确保您将文件上传到目录/user/oozie/share/lib/sqoop(对于Cloudera和HDP,它可能看起来像/user/oozie/share/lib/lib_${timestamp}/sqoop。)
  2. 检查ojdbc6.jar文件是否正确 - 检查它是否包含OracleDriver.class并确保文件大小正常。下载时可能会出错。
  3. 检查ojdbc6.jar文件的权限(最终,您可以尝试为此文件提供755权限)。检查谁是文件的所有者 - 默认情况下应为oozie
  4. 通过执行以下命令更新Oozie sharelib(在Oozie Server所在的主机上运行此命令):

    sudo -u oozie oozie admin -oozie http://<Oozie_Server_Host>:11000/oozie -sharelibupdate
    
  5. 验证sqoop的sharelib:

    sudo -u oozie oozie admin -oozie http://<Oozie_Server_Host>:11000/oozie -shareliblist sqoop*
    
  6. 您可以随时重启Oozie服务。它应该更新sharelib。
  7. 在HDFS中的workflow.xml旁边创建一个名为lib的目录,并将jar放入其中。 Oozie将自动将这些罐子提供给该工作流程中的所有操作。
  8. Cloudera用户应该查看article。特别是段落“最后的事情”#39;