我们最近在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 polybase 位置中的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凭据有关吗?我们要给出什么样的秘密?
要检查的几件事:
在您的核心站点中.xml文件尝试将hadoop.security.authentication设置为小写"kerberos"。 另外,请确保您已添加 polybase.kerberos.realm 和 polybase.kerberos.kdchost
确保创建的数据源使用 HDFS 群集的正确位置 LOCATION=。 确保这是IP地址:端口,而不是服务器本身的名称
检查外部表,并确保具有群集物理文件本身的正确路径。