Доброе утро / день / вечер!
Spark 2.4.x, с Hive 1.2.1
Исходный код здесь: https://github.com/apache/spark/blob/master/sql/hive-thriftserver/v1.2/src/main/java/org/apache/hive/service/auth/KerberosSaslHelper.java
public static TTransport getKerberosTransport(String principal, String host,
TTransport underlyingTransport, Map<String, String> saslProps, boolean assumeSubject)
throws SaslException {
try {
String[] names = principal.split("[/@]");
if (names.length != 3) {
throw new IllegalArgumentException("Kerberos principal should have 3 parts: " + principal);
}
Теперь вопрос :
Кто-нибудь знает, зачем серверу Spark Thrift нужен принцип Kerberos из 3 частей?
Комиссионный сервер Spark работает, отправляя долгосрочное задание, которое не требует принципа Kerberos из 3 частей ,
Запуск службы, прослушивающей порт, не нуждается в 3-компонентном принципе Kerberos (точно так же, как в истории заданий Spark), верно?
Так что удивляетесь, почему этот код проверяет, состоит ли из 3-х частей принцип или нет ...
Спасибо!