You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

SQL Server 2016使用Polybase创建外部表对接Hadoop报错咨询

问题诊断及解决方案

核心错误原因

你遇到的Connection refused报错不是端口本身错误,核心是两个配置问题:

  1. Hadoop NameNode仅绑定本地环回地址,拒绝外部机器访问
  2. SQL Server侧外部数据源配置错误,混用了NameNode和ResourceManager的端口

具体修复步骤

第一步:修改Hadoop core-site.xml配置

当前fs.default.name配置为hdfs://localhost:9000,会导致NameNode只监听本地127.0.0.1的9000端口,同网段其他服务器无法访问,需替换为Hadoop服务器的对外IP或者主机名:

<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet type="text/xsl" href="configuration.xsl"?>
<configuration>
    <property>
        <name>fs.default.name</name>
        <!-- 替换为Hadoop服务器的实际对外IP -->
        <value>hdfs://00.000.000.000:9000</value>
    </property>
    <property> 
            <name>hadoop.security.authorization</name> 
            <value>false</value> 
    </property> 
</configuration>

修改后重启Hadoop的NameNode、DataNode服务,确认9000端口监听在对外IP上:

  • Windows下运行netstat -ano | findstr 9000,确认监听地址不是127.0.0.1即可

第二步:修正SQL Server外部数据源配置

你当前配置中把RESOURCE_MANAGER_LOCATION也填成了9000端口,这是错误的:9000是HDFS NameNode的RPC端口,ResourceManager的默认端口是8032,修改如下:

-- 先删除旧的外部数据源
DROP EXTERNAL DATA SOURCE MyHadoop
GO
CREATE EXTERNAL DATA SOURCE MyHadoop
WITH
  (  LOCATION = 'hdfs://<Hadoop服务器实际IP>:9000' 
    -- 如果你自定义过ResourceManager端口,就替换为自定义端口
    ,RESOURCE_MANAGER_LOCATION = '<Hadoop服务器实际IP>:8032'
    ,TYPE = HADOOP
  ) ;
GO

第三步:修正外部表的LOCATION参数

你当前写的LOCATION = N'[Test].dbo.Test_tbl'是SQL表名格式,Polybase对接HDFS时LOCATION需要填HDFS上实际的CSV文件/目录路径,比如你的文件存放在HDFS的/data/test/目录下,就写对应路径:

CREATE EXTERNAL TABLE [EX_SQLPolybase]
(
    id [int],
    [Name] varchar(50)
   )
WITH 
(
     DATA_SOURCE = [MyHadoop]
    -- 替换为HDFS上实际的文件/目录路径
    ,LOCATION = N'/data/test/'
    ,FILE_FORMAT = csvformat 
)
GO

额外验证项

如果修改后还是报错,在SQL Server服务器上运行PowerShell命令验证端口连通性:

  • 验证NameNode端口:Test-NetConnection <Hadoop IP> -Port 9000
  • 验证ResourceManager端口:Test-NetConnection <Hadoop IP> -Port 8032
    确认两个端口都能连通后再执行建表语句即可。

内容的提问来源于stack exchange,提问作者lukaszFD

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.25 05:15:03