我有一个连接到 Hadoop 配置单元的 Spring Boot 应用程序。使用 Kerberos 身份验证。该设置完美运行。
现在,我正在尝试公开一个执行器端点,它可以告诉我路边票的有效性信息。
为了访问路边票,我尝试了几种方法,经过一些调试,我发现当登录是通过 keytab 时,Hadoop 配置不考虑我提供的 jaas.conf 文件。事实上,它不考虑任何 jaas 配置,即使是来自 env 的配置,除了调试标志。这种实施有什么具体原因吗?我试图强制登录模块以某种方式使用票证缓存。尝试在 conf 文件和环境变量中设置默认缓存名称。由于 Hadoop 配置没有将这些填充到登录选项中,因此Krb5LoginModule
该类不使用票证缓存。
我用于 Hadoop 连接的 maven 依赖项是 hadoop-commons,v2.7.0。登录发生通过UserGroupInformation.loginUserFromKeytab
PS:登录账号是系统账号,我的应用在cloud Foundry上运行。因此,本机操作系统登录不是一种选择。
TIA