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

j5fpnvbx  于 2021-06-03  发布在  Sqoop
关注(0)|答案(1)|浏览(419)

我在使用oozie执行sqoop导出命令(在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/和/user/oozie/share/lib/lib_/sqoop
我还在oozie job.properties文件中设置了oozie.use.system.libpath=true
如果我错过任何设置,请引导我。日志内容
谢谢和问候,索纳利

rjjhvcjd

rjjhvcjd1#

确保将文件上载到目录 /user/oozie/share/lib/sqoop (可能看起来像 /user/oozie/share/lib/lib_${timestamp}/sqoop 用于cloudera和hdp)。
检查ojdbc6.jar文件是否正确-检查它是否包含oracledriver.class,并确保文件大小正确。下载时可能出错。
检查对ojdbc6.jar文件的权限(最终,您可以尝试对该文件授予755个权限)。检查谁是文件的所有者-应该是 oozie 默认情况下。
通过执行以下命令更新oozie sharelib(在oozie服务器所在的主机上运行此命令):

sudo -u oozie oozie admin -oozie http://<Oozie_Server_Host>:11000/oozie -sharelibupdate

验证sqoop的sharelib:

sudo -u oozie oozie admin -oozie http://<Oozie_Server_Host>:11000/oozie -shareliblist sqoop*

您可以随时重新启动oozie服务。它应该更新sharelib。
创建一个名为 lib 在hdfs中的workflow.xml旁边,将jar放在那里。oozie将自动使这些jar可用于该工作流中的所有操作。
cloudera用户应该查看本文。尤其是“最后一件事”。

相关问题