我在使用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
如果我错过任何设置,请引导我。日志内容
谢谢和问候,索纳利
1条答案
按热度按时间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服务器所在的主机上运行此命令):
验证sqoop的sharelib:
您可以随时重新启动oozie服务。它应该更新sharelib。
创建一个名为
lib
在hdfs中的workflow.xml旁边,将jar放在那里。oozie将自动使这些jar可用于该工作流中的所有操作。cloudera用户应该查看本文。尤其是“最后一件事”。