apache-spark - 如何通过 spark-submit 使用多个 keytab,从而连接到多个 kerberized 服务?
问题描述
用例是从 spark 流应用程序连接到 kerberized YARN/HDFS 和 KAFKA 服务,每个服务位于不同的领域。
如何构造 spark-submit 命令以传递多个 keytab?
以前的实现:
- --keytab,--principal 用于 YARN/HDFS 密钥表文件和主体值
- -Djava.security.auth.login.config=jaas.conf 和 -Djava.security.krb5.conf=krb5.conf 用于 KAFKA 客户端配置。
- spark.hadoop.fs.hdfs.impl.disable.cache=true
结果:在 YARN/HDFS 到期后票证不会自动更新
错误: HDFS_DELEGATION_TOKEN 已过期
如果实现了跨领域信任,那么使用 spark-submit 命令将如何用于两个服务(HDFS/YARN 以及 KAFKA)的单个 keytab?
解决方案
推荐阅读
- environment-variables - JNLP 应用程序为所有 System.getenv() 返回 NULL
- bash - 如何在多行中编写单行字符串?
- cpu-architecture - 为什么 LRU 实现在全关联 TLB 中很昂贵?
- java - Tomcat Https jks 文件错误:java.io.IOException: DerInputStream.getLength(): lengthTag=109, too big
- javascript - 将值从 JS 传递到 PHP
- python - Python正则表达式删除数字和周围的空间?
- firefox - Google Cloud Shell 和 VM SSH 命令行空白
- c++ - 如何使用任意类型的元函数转换 hana::tuple_t?
- java - 为什么 mvn -v 在用户文件夹中有效,但在其他文件夹中无效?
- python - python如何在windows系统中构建一个像scrapy.exe、pip.exe、virtualenv.exe这样的exe文件?