Spark Job在第一次尝试时无法连接到oracle

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Spark Job在第一次尝试时无法连接到oracle相关的知识,希望对你有一定的参考价值。

我们正在运行连接到oracle并获取一些数据的spark工作。始终尝试0或1的JDBCRDD任务失败,并出现以下错误。在随后的尝试任务中完成。正如少数门户网站所建议的,我们甚至尝试使用-Djava.security.egd = file:/// dev / urandom java选项,但它没有解决问题。有人可以帮我们解决这个问题。

ava.sql.SQLRecoverableException: IO Error: Connection reset by peer, Authentication lapse 59937 ms.
    at oracle.jdbc.driver.T4CConnection.logon(T4CConnection.java:794)
    at oracle.jdbc.driver.PhysicalConnection.connect(PhysicalConnection.java:688)
答案

问题仅在于java.security.egd。通过命令行设置它,即-Djava.security.egd = file:/// dev / urandom不起作用,所以我通过system.setproperty在job中设置它。在那个工作之后不再给出SQLRecoverableException

另一答案

此异常与Apache Spark无关,“SQLRecoverableException:IO错误:”只是Oracle JDBC驱动程序,报告它与DBMS的连接在使用时从其下方关闭。真正的问题是在DBMS,例如会话突然死亡。请检查DBMS错误日志并与问题分享。

类似的问题,你可以在这里找到qazxsw poi

另一答案

最快的方法是在运行工作之前导出火花系统变量SPARK_SUBMIT_OPTS。

像这样:https://access.redhat.com/solutions/28436我正在使用docker,所以对我来说完全命令是:

export SPARK_SUBMIT_OPTS=-Djava.security.egd=file:dev/urandom
  1. 出口变量
  2. 提交工作

以上是关于Spark Job在第一次尝试时无法连接到oracle的主要内容,如果未能解决你的问题,请参考以下文章

从 Spark 连接到 Redshift 时无法推断架构

尝试从 Spark 连接到 Oracle

无法通过 Spark 连接到 Mongo DB

无法使用 Apache spark 2.1.0 连接到 hive 数据库

无法使用 jdbc 和 spark 连接器从 databricks 集群连接到 Azure 数据库 for MySQL 服务器

无法使用 Jupyter 笔记本上的 pyspark 从 Apache Spark 连接到 MS SQL