连接到Oracle DB时出现Sqoop错误:无法加载数据库驱动程序类:oracle.jdbc.OracleDriver

时间:2020-08-23 05:04:44

标签: hadoop sqoop cloudera ojdbc

首先,我浏览了所有有关此问题的文章,但没有一个解决我的问题,因此这不是重复的文章。 我在开发服务器上使用了Sqoop,并且Sqoop在那儿工作正常,因此,我确定在查询中使用了正确的语法。但是,当我在测试服务器上运行相同的Sqoop命令时,在开发服务器上运行良好的同一Sqoop命令会在测试服务器上引发以下错误: 2020-08-23 00:52:38,689信息[main] sqoop.Sqoop:正在运行的Sqoop版本:1.4.6-cdh5.15.1 2020-08-23 00:52:38,707 WARN [main]工具。BaseSqoopTool:在命令行上设置密码不安全。考虑改用-P。 2020-08-23 00:52:38,831信息[main] oracle.OraOopManagerFactory:用于Oracle和Hadoop的数据连接器已禁用。 2020-08-23 00:52:38,844信息[main] manager.SqlManager:使用默认的fetchSize为1000 2020-08-23 00:52:38,848 INFO [main]工具。CodeGenTool:开始代码生成 2020-08-23 00:52:38,856错误[main] sqoop.Sqoop:运行Sqoop时出现异常:java.lang.RuntimeException:无法加载数据库驱动程序类:oracle.jdbc.OracleDriver java.lang.RuntimeException:无法加载数据库驱动程序类:oracle.jdbc.OracleDriver 在org.apache.sqoop.manager.OracleManager.makeConnection(OracleManager.java:290) 在org.apache.sqoop.manager.GenericJdbcManager.getConnection(GenericJdbcManager.java:52) 在org.apache.sqoop.manager.SqlManager.execute(SqlManager.java:762) 在org.apache.sqoop.manager.SqlManager.execute(SqlManager.java:785) 在org.apache.sqoop.manager.SqlManager.getColumnInfoForRawQuery(SqlManager.java:288) 在org.apache.sqoop.manager.SqlManager.getColumnTypesForRawQuery(SqlManager.java:259) 在org.apache.sqoop.manager.SqlManager.getColumnTypes(SqlManager.java:245) 在org.apache.sqoop.manager.ConnManager.getColumnTypes(ConnManager.java:333) 在org.apache.sqoop.orm.ClassWriter.getColumnTypes(ClassWriter.java:1858) 在org.apache.sqoop.orm.ClassWriter.generate(ClassWriter.java:1657) 在org.apache.sqoop.tool.CodeGenTool.generateORM(CodeGenTool.java:106) 在org.apache.sqoop.tool.ImportTool.importTable(ImportTool.java:494) 在org.apache.sqoop.tool.ImportTool.run(ImportTool.java:621) 在org.apache.sqoop.Sqoop.run(Sqoop.java:147) 在org.apache.hadoop.util.ToolRunner.run(ToolRunner.java:70) 在org.apache.sqoop.Sqoop.runSqoop(Sqoop.java:183) 在org.apache.sqoop.Sqoop.runTool(Sqoop.java:234) 在org.apache.sqoop.Sqoop.runTool(Sqoop.java:243) 在org.apache.sqoop.Sqoop.main(Sqoop.java:252)

现在,我浏览了整个论坛,人们说Sqoop无法找到驱动程序jar文件。我的jar文件位于/ var / lib / sqoop目录中,在其中可以看到这些文件: ls -l / var / lib / sqoop 总计5392 -rw-r ----- 1根root 486618 2016年6月20日csjdbc6.jar -rw-r ----- 1根root 983914 2016年6月20日mysql-connector-java-5.1.38-bin.jar -rw-r ----- 1根root 3397734 2016年6月20日ojdbc7.jar -rw-r ----- 1 root root 644836 2016年6月20日postgresql-9.4.1208.jre6.jar

这些具有相同访问权限的相同文件也存在于Dev服务器中,并且Sqoop在那里可以正常工作。 当我回显HADOOP_HOME和SQOOP_HOME时,在开发服务器和测试服务器中,两者均为空白。 不知道问题出在哪里:(

0 个答案:

没有答案
相关问题