【问题标题】:Unable to import data from oracle using Sqoop无法使用 Sqoop 从 oracle 导入数据
【发布时间】:2018-04-26 23:19:50
【问题描述】:

无法使用 Sqoop 将数据从 oracle 导入 HDFS。得到以下错误:

java.lang.RuntimeException: java.lang.RuntimeException:
java.sql.SQLException: ORA-02391: 超出同时 SESSIONS_PER_USER 限制
在 org.apache.sqoop.mapreduce.db.DBInputFormat.setDbConf(DBInputFormat.java:170)

奇怪的是,即使我指定了一个映射器,并且根据 Sqoop 文档,它也应该只生成一个到 Oracle 的连接。

最奇怪的部分是有时同样的命令也会成功执行。

对此的任何见解。

【问题讨论】:

    标签: sqoop


    【解决方案1】:

    您使用的是哪个版本的 sqoop?我问的原因是 SQOOP-2971 是一个已知问题,在 1.4.6 及更高版本中已修复。还要确保在启动 sqoop 导入数据库之前 ping 您的 Oracle DBA 并要求他终止所有现有的 ORA 会话。 参考链接https://issues.apache.org/jira/browse/SQOOP-2971

    【讨论】:

    • 感谢您的意见,sqoop 版本是 1.4.6-cdh5.12.0,能否请您澄清一下关于杀死现有会话的问题,是不是因为我们指定了多个映射器,所以我们有一定的限制导入将建立 ORA 会话的数据,如果我在这里遗漏了什么,请纠正我。
    • Sumit 您需要与您的 DBA 确认有关终止 Exadata 端的会话。在 hadoop 集群中,重新启动 Sqoop 和 yarn 将清理所有 MR 作业。
    • 谢谢,问题出在 oracle 端,因为他们对我的 ID 进行了限制会话,一旦他们创建了具有所需会话的新 ID,问题就得到了解决。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多