【问题标题】:Run oraoop without installation在不安装的情况下运行 oraoop
【发布时间】:2017-04-17 10:45:31
【问题描述】:

当您安装 oraoop 时,会发生两个重要的变化:

oraoop-1.6.0.jar 保存在 sqoop 的库中

在 $SQOOP_HOME/conf 中创建了一个 managers.d 文件夹,其中有一个名为 oraoop 的文件,其中包含:

com.quest.oraoop.OraOopManagerFactory=/usr/lib/sqoop/lib/oraoop-1.6.0.jar

现在我想绕过这些安装步骤,因为我无权修改集群上的内容。我找到了一个关于 jar 的解决方法,而不是将它保存在我可以使用的 sqoop 的 lib 中:

export HADOOP_CLASSPATH=$HADOOP_CLASSPATH:/root/shared_folder/oraoop-1.6.0.jar

但是对于第二个语句,即:

com.quest.oraoop.OraOopManagerFactory=/usr/lib/sqoop/lib/oraoop-1.6.0.jar

如果不将此语句放入 sqoop 的配置文件中,我将无法运行 oraoop。有没有办法在外部传递这个配置?

我正在使用 HDP 2.1。

【问题讨论】:

    标签: java hadoop cloudera sqoop hortonworks-data-platform


    【解决方案1】:

    使用--connection-manager 选项

    sqoop import (generic-args) --connection-manager com.quest.oraoop.OraOopManagerFactory (import-args)
    

    【讨论】:

    • 您能否详细说明,因为这不起作用。 @franklinsjio
    • sqoop 导入 --connect jdbc:oracle:thin:@127.0.0.1:1521:XE --connection-manager com.quest.oraoop.OraOopManagerFactory --driver oracle.jdbc.driver.OracleDriver - -username ROOT --password manager --table temp --target-dir /sqoop/tmp1 -m 3
    • 还有错误?.. 还可以尝试将 --driver--connection-manager 参数移到 --connect 之前。
    • 试试sqoop import -D sqoop.connection.factories=com.quest.oraoop.OraOopManagerFactory --driver oracle.jdbc.driver.OracleDriver --connect jdbc:oracle:thin:@127.0.0.1:1521:XE --username ROOT --password manager --table temp --target-dir /sqoop/tmp1 -m 3
    • oraoop.jar 不在类路径中。按照建议添加here
    猜你喜欢
    • 2010-10-05
    • 1970-01-01
    • 2011-03-23
    • 1970-01-01
    • 2018-11-03
    • 2011-05-09
    • 1970-01-01
    • 2010-10-03
    相关资源
    最近更新 更多