使用PolyBase从SQL Server创建外部表到hadoop的问题

时间:2019-08-09 11:42:32

标签: sql-server hadoop sql-server-2016 hortonworks-data-platform polybase

我们最近在SQL Server中安装了Polybase。我们正在尝试使用Hortonworks来获取数据。创建外部表时,我面临以下问题。

Msg 105019, Level 16, State 1, Line 1 
EXTERNAL TABLE access failed due to internal error: 'Java exception raised on call to HdfsBridge_IsDirExist:  
Error [End of File Exception between local host is: "xxxxx"; destination host is: "xxxxx":1111; :  
java.io.EOFException; For more details see:  http://wiki.apache.org/hadoop/EOFException] occurred while accessing external file.'

我尝试通过取消注释Kerberos选项的注释来更改SQL Server多数据库位置中的core-site.xml文件,该选项现在给我以下错误:

Msg 105019, Level 16, State 1, Line 1
EXTERNAL TABLE access failed due to internal error: 'Java exception raised on call to HdfsBridge_Connect: 
Error [Unable to instantiate LoginClass] occurred while accessing external file.'

我怀疑这可能与创建数据库范围的凭证有关。

CREATE DATABASE SCOPED CREDENTIAL HadoopUser3
WITH IDENTITY = '<user>', Secret = '<Passw0rd>';  
go

有人可以帮助我了解我的“身份和秘密”问题。它与Hadoop凭证有关吗?我们必须给什么秘密?

1 个答案:

答案 0 :(得分:0)

要检查的几件事:

在您的core-site.xml文件中,尝试将hadoop.security.authentication设置为小写的“ kerberos”。另外,请确保已添加polybase.kerberos.realm和polybase.kerberos.kdchost

确保创建的数据源对HDFS群集使用正确的LOCATION =。确保这是IP地址:端口,而不是服务器本身的名称

检查外部表,并确保您具有正确的群集物理文件本身路径。