我们最近在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地址:端口,而不是服务器本身的名称
检查外部表,并确保您具有正确的群集物理文件本身路径。