我有一个基于 6 节点 cloudera 的 hadoop 集群,我正在尝试从 oozie 中的 sqoop 操作连接到 Oracle 数据库。
我已将我的 ojdbc6.jar 复制到 sqoop lib 位置(对我来说恰好位于:/opt/cloudera/parcels/CDH-4.2.0-1.cdh4.2.0.p0.10/lib/sqoop/lib/ ) 在所有节点上,并已验证我可以从所有 6 个节点运行一个简单的“sqoop eval”。
现在,当我使用 Oozie 的 sqoop 操作运行相同的命令时,我得到“无法加载数据库驱动程序类:oracle.jdbc.OracleDriver”
我已经阅读了这篇关于使用共享库的文章,当我们谈论我的任务/操作/工作流特定依赖项时,这对我来说很有意义。但我认为 JDBC 驱动程序安装是对 sqoop 的扩展,所以我认为它属于 sqoop 安装库。
现在的问题是,虽然 sqoop 看到了我放入它的 lib 文件夹中的这个 ojdbc6 jar,但为什么我的 Oozie 工作流程没有看到它?
这是预期的还是我错过了什么?
顺便说一句,你们认为 JDBC 驱动程序 jar 的合适位置在哪里?
提前致谢!