Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/jsp/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Active directory 如何使用Active Directory自动验证Hadoop?_Active Directory_Kerberos - Fatal编程技术网

Active directory 如何使用Active Directory自动验证Hadoop?

Active directory 如何使用Active Directory自动验证Hadoop?,active-directory,kerberos,Active Directory,Kerberos,我们有一个通过HDFS、Thread和Hive接口访问Hadoop的应用程序。如果kinit已经运行,那么该应用程序在Kerberos安全集群上运行良好。如果调用UserGroupInformation.loginUserFromKeytab(),它也可以正常工作。我们能够将HDFS和配置单元令牌委托给纱线应用程序。我们无法理解的是以下情况: Hadoop集群使用Kerberos进行安全保护 Hadoop集群要么使用Active Directory作为其KDC,要么 在其KDC和AD控制器之间

我们有一个通过HDFS、Thread和Hive接口访问Hadoop的应用程序。如果kinit已经运行,那么该应用程序在Kerberos安全集群上运行良好。如果调用UserGroupInformation.loginUserFromKeytab(),它也可以正常工作。我们能够将HDFS和配置单元令牌委托给纱线应用程序。我们无法理解的是以下情况:

  • Hadoop集群使用Kerberos进行安全保护
  • Hadoop集群要么使用Active Directory作为其KDC,要么 在其KDC和AD控制器之间建立单向信任
  • 我们的软件正在经过身份验证的会话中运行 在Windows上直接使用AD,或在Windows上通过PAM或LDAP(或其他机制)使用AD Linux
  • 我们的软件查询活动AD会话以提取TGT或 等效,并将该信息转发到Hadoop API(通过 大概是UserGroupInformation)
  • 因此,Hadoop身份验证是在不需要用户的情况下实现的 输入主体、密码或密钥表

我们知道这在理论上是可能的,因为有两个软件实现了这一点。第一个是RedGate的HDFS Explorer。第二种是色调。然而,我们似乎无法找出正确的咒语,甚至Hortonworks的支持似乎也帮不上忙

Hue附带了一个LDAP后端,可以让用户根据您的公司目录进行访问


Hue还附带了一个用于保持Kerberos票证最新的。使用CM时,它甚至会自动运行。

谢谢。我知道使用AD进行验证,但不确定它是否会帮助我们,因为它使用http接口,而不是hadoop rpc库。如果你能找出执行验证的色调代码,我会接受你的回答:-)还有其他一些例子使用华夫格通过http进行验证,不幸的是,我们需要的很多代码都隐藏在需要大量挖掘和翻译的层中