【问题标题】:The Cloudera QuickStart VM Sqoop Error in OJDBC driverJDBC 驱动程序中的 Cloudera QuickStart VM Sqoop 错误
【发布时间】:2019-08-24 03:58:57
【问题描述】:

我安装了 Cloudera QuickStart VM 5.13。我正在使用 Sqoop。 我尝试执行下一个命令:

[cloudera@quickstart ~]$ sqoop list-tables --connect jdbc:oracle:thin:@localhost:1521:xe --username Guest1 --password G147

然后我有错误:

Warning: /usr/lib/sqoop/../accumulo does not exist! Accumulo imports will fail.
Please set $ACCUMULO_HOME to the root of your Accumulo installation.
19/08/23 20:42:38 INFO sqoop.Sqoop: Running Sqoop version: 1.4.6-cdh5.13.0
19/08/23 20:42:38 INFO oracle.OraOopManagerFactory: Data Connector for Oracle and Hadoop is disabled.
19/08/23 20:42:38 INFO manager.SqlManager: Using default fetchSize of 1000
19/08/23 20:42:39 ERROR sqoop.Sqoop: Got exception running Sqoop: java.lang.NullPointerException
java.lang.NullPointerException
        at org.apache.sqoop.manager.OracleManager.listTables(OracleManager.java:769)
        at org.apache.sqoop.tool.ListTablesTool.run(ListTablesTool.java:49)
        at org.apache.sqoop.Sqoop.run(Sqoop.java:147)
        at org.apache.hadoop.util.ToolRunner.run(ToolRunner.java:70)
        at org.apache.sqoop.Sqoop.runSqoop(Sqoop.java:183)
        at org.apache.sqoop.Sqoop.runTool(Sqoop.java:234)
        at org.apache.sqoop.Sqoop.runTool(Sqoop.java:243)
        at org.apache.sqoop.Sqoop.main(Sqoop.java:252)

我认为 Cloudera 没有 OJBDC 驱动程序。

我必须做什么? 我必须在哪里安装 Oracle OJDBC 驱动程序? 它叫什么名字?

研究

1. 我已将 ojdbc6.jar 放在下一个目录中:

sudo cp /home/cloudera/Downloads/ojdbc6.jar /var/lib/sqoop/ojdbc6.jar
sudo cp /home/cloudera/Downloads/ojdbc6.jar /var/lib/sqoop2/ojdbc6.jar
sudo cp /home/cloudera/Downloads/ojdbc6.jar /var/lib/oozie/ojdbc6.jar
sudo cp /home/cloudera/Downloads/ojdbc6.jar /usr/share/java/ojdbc6.jar
sudo cp /home/cloudera/Downloads/ojdbc6.jar /usr/share/java/ojdbc6.jar
sudo cp /home/cloudera/Downloads/ojdbc6.jar /usr/share/cmf/common_jars/ojdbc6.jar
sudo cp /home/cloudera/Downloads/ojdbc6.jar /usr/share/cmf/cloudera-scm-telepub/jars/ojdbc6.jar
sudo cp /home/cloudera/Downloads/ojdbc6.jar /usr/lib/sentry/lib/ojdbc6.jar
sudo cp /home/cloudera/Downloads/ojdbc6.jar /usr/lib/hive/lib/ojdbc6.jar
sudo cp /home/cloudera/Downloads/ojdbc6.jar /usr/share/java/ojdbc6.jar

同样的错误。

【问题讨论】:

  • 不确定这是否是个问题,但命令中的--password 之间有空格。请尝试sqoop list-tables --connect jdbc:oracle:thin:@localhost:1521/xe --username Guest1 --password G147你可以试试这个命令吗,也从jdbc url中删除了//
  • 是一样的。
  • 根据this,连接失败时发生错误。确保您可以使用带有这些凭据的 sqlplus 进行连接,请尝试 --verbose。问题中的连接字符串仍然有多余的//,所以不清楚你是否尝试删除它。

标签: sqoop cloudera


【解决方案1】:

安装 JDK 1.7(或需要)并设置系统变量(JAVA_HOMEORACLE_HOMEORACLE_SID)并复制 jar(/var /lib/sqoop/ojdbc6.jar)。 例如:

export JAVA_HOME=/usr/java/jdk1.7.0_80/
export ORACLE_HOME=/opt/oracle/product/18c/dbhomeXE/
export ORACLE_SID=XE

【讨论】:

    猜你喜欢
    • 2014-03-13
    • 2017-09-20
    • 1970-01-01
    • 2013-08-27
    • 2014-10-24
    • 1970-01-01
    • 1970-01-01
    • 2014-02-21
    • 1970-01-01
    相关资源
    最近更新 更多