Ошибка проверки подлинности Kerberose JDBC Hive: сбой инициализации GSS

Я пытаюсь подключиться к Hive через JDBC, используя следующую строку подключения:

Class.forName("org.apache.hive.jdbc.HiveDriver")

hiveConString = "jdbc:hive2://localhost:10000/default;principal=hive/_HOST@HADOOP.LOCALDOMAIN"

Хотя я сталкиваюсь со следующей ошибкой:

Exception in thread "main" java.sql.SQLException: Could not open client transport with JDBC Uri:jdbc:hive2://localhost:10000/default;principal=hive/_HOST@HADOOP.LOCALDOMAIN:GSS initiate failed

Я уже проверил место улья.xml для проверки подлинности kerbersoe. XML-файл включает:

<property>
   <name>hive.server2.authentication.kerberos.principal</name>
   <value>hive/_HOST@HADOOP.LOCALDOMAIN</value>
</property>

Я также убедился, что все необходимые репозитории Maven включены.

Кроме того, я выполняю код на виртуальной машине с помощью Eclipse.

1 ответ

  1. Если используется виртуальная машина с проверкой подлинности kerberos и срок действия проверки подлинности не истек, при выполнении кода java необходимо указать следующие аргументы виртуальной машины:

    -Djava.security.krb5.debug=true 
    -Djava.security.krb5.conf="/etc/krb5.conf"
    -Djavax.security.auth.useSubjectCredsOnly=false