从安全群集中的hbase读取Spark

relj7zay  于 2021-06-10  发布在  Hbase
关注(0)|答案(0)|浏览(236)

我试图在启用kerberos的Yarn集群(hortonworks)上执行spark作业。此作业从hbase读取数据并将数据写入hbase。不幸的是,我对身份验证(特别是spark作业尝试访问hbase数据时)和理解身份验证的工作方式有一些问题。下面是我得到的错误:
error.applicationmaster:用户类引发异常:java.io.ioexception:keytab keytabfile中的用户名登录失败java.io.ioexception:keytab keytabfile中的用户名登录失败    在org.apache.hadoop.security.usergroupinformation.loginuserfromKeytabanderturnugi(usergroupinformation)。java:1146)
我希望根据(技术)用户的keytab进行身份验证。因此,我目前有两个地方,在那里我提供了主体和键表信息:
在spark submit脚本中,使用--principal和--keytab选项
在带有usergroupinformation.loginuserfromKeytabanderturnugi(principal,keytab)的代码中
我的问题:
上述两个地方提供keytab的目的是什么?其中一个是否仅用于针对Yarn集群进行身份验证以获取资源?或者我真的需要为两种不同的身份验证(针对yarn和针对hbase)提供两次主体/keytab信息吗?spark如何在内部处理这些问题?
我需要提供作为用户名或作为username@principal? 两个地方都一样吗?
我需要将keytab文件分发到同一位置的所有工作节点,对吗?keytab文件必须对哪个用户可读?或者也有办法通过spark提交脚本传递它?
我知道,很多问题。。。我感谢你的帮助或任何提示!
谢谢和问候

暂无答案!

目前还没有任何答案,快来回答吧!

相关问题