我们最近在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

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

最佳答案

几件事要检查:

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

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

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

10-06 05:15