Apache spark 由于com.ibm.db2.jcc.am.DisconnectNonTransientConnectionException导致的将spark/sqoop连接到db2的错误

Apache spark 由于com.ibm.db2.jcc.am.DisconnectNonTransientConnectionException导致的将spark/sqoop连接到db2的错误,apache-spark,db2,sqoop,Apache Spark,Db2,Sqoop,尝试使用sqoop和spark将数据从db2导入hdfs时出现以下错误 Caused by: com.ibm.db2.jcc.am.DisconnectNonTransientConnectionException: [jcc][t4][2043][11550][3.66.46] Exception java.net.ConnectException: Error opening socket to server ip-xx.xx.xx.ec2.interna on port 50,000 w

尝试使用sqoop和spark将数据从db2导入hdfs时出现以下错误

Caused by: com.ibm.db2.jcc.am.DisconnectNonTransientConnectionException: [jcc][t4][2043][11550][3.66.46] Exception java.net.ConnectException: Error opening socket to server ip-xx.xx.xx.ec2.interna  on port 50,000 with message: 

我可以在尝试使用spark本地模式时获取数据。但是,在纱线模式下出现上述错误时,您使用的是旧的JDBC3.0驱动程序(来自DB2V10.5Fixpack0(GA))

升级至最新的JDBC4.0驱动程序(db2jcc4.jar)版本4.26.14或更高版本

在某些情况下,此升级将解决DisconnectNonTransientConnectionException问题

从下载它

如果症状重复出现,请进行更多问题确定。 连接超时(sqlcode=-4499)几乎总是配置错误

具体地验证集群名称/地址和端口号是否正确,是否存在防火墙问题,并进行jdbc跟踪,以查看封面下发生了什么(需要研究)

Db2知识中心在线详细介绍了如何在客户端收集jdbc跟踪


Db2知识中心还详细介绍了如何在客户端和服务器之间的路由复杂或存在延迟问题时提高性能。

我尝试了所有最新的4.0 JAR。但仍然出现相同的错误。阶段0:>20/04/06 16:55:57错误任务集管理器:阶段0.0中的任务0失败4次;中止作业org.apache.spark.SparkException:作业因阶段失败而中止:阶段0.0中的任务0失败4次,最近的失败:阶段0.0中的任务0.3丢失(TID 3,ip-xxxx.ec2.internal,executor 1):com.ibm.db2.jcc.am.DisconnectNonTransientConnectionException:[jcc][t4][2043][11550][4.26.14]异常java.net.ConnectException:打开端口50000上服务器ip-xxxx.ec2.internal/的套接字时出错,消息为:连接超时(连接超时)。错误代码=-4499,SQLSTATE=08001该端口在spark本地模式下工作。我不知道发生了什么。它在spark本地模式下工作。端口和ip正确。