jdbc将spark应用程序连接到远程sql server时出现连接超时错误

时间:2016-05-30 02:35:30

标签: sql-server azure jdbc

我有一个pyspark应用程序从远程sql服务器获取数据,它

直到最近工作正常,我已将我的sql server 2016 CTP3升级为sql

server 2016 RC3开发人员版本,现在我无法再连接到数据库了,我能够连接相同的配置。我不确定最新情况,并尝试了所有可能的方法来解决它。

错误消息:

: com.microsoft.sqlserver.jdbc.SQLServerException: The TCP/IP connection to the host myserver.cloudapp.net, port 1433 has failed. Error: "connect timed out. Verify the connection properties. Make sure that an instance of SQL Server is running on the host and accepting TCP/IP connections at the port. Make sure that TCP connections to the port are not blocked by a firewall."

我知道它为什么会出现以及可能的原因,并且我已经确保以各种可能的方式来对抗

  1. 在[myserver]
  2. 中停止了防火墙
  3. 确保我的sqlserver服务正在运行
  4. 在其配置管理器中,我已启用tcp ip连接并侦听1433端口中的所有IP。
  5. enter image description here enter image description here
  6. 我的spark应用程序驻留在天蓝色的HDInsight spark簇和我的sql

    服务器数据库位于Windows 2012服务器中(不确定是否会产生任何

    差异),虽然我能够使用相同的配置从同一个集群连接到以前的Windows服务器

    现在netstat -a在我的服务器中显示有多个已建立的连接,其中本地地址是我的机器IP和端口是1433.几乎没有超时请求但它们不在1433端口,我假设意味着它们与我的sql server连接无关。

    有没有办法让我知道这里有什么不对,我想我已经涵盖了可能发生的所有可能原因,但我仍然得到这个错误

1 个答案:

答案 0 :(得分:0)

经过大量努力后,我发现我的问题是云防火墙,因此如果您使用的是Azure或AWS,请确保在云防火墙中打开端口1433。希望这有助于某人。