java - Hive JDBC Kerberose 身份验证错误 : GSS initiate failed

标签 java jdbc hive

我尝试使用以下连接字符串通过 JDBC 连接到 Hive:

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

我已经检查了 hive-site.xml 以确保遵循 kerbersoe 身份验证。 XML 文件包括:

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

我还确保包含所有必需的 Maven 存储库。

此外,我正在使用 Eclipse 在虚拟机上运行代码。

最佳答案

如果使用具有 kerberos 身份验证的 VM 并且您的身份验证尚未过期,则在运行 Java 代码时需要指定以下 VM 参数:

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

关于java - Hive JDBC Kerberose 身份验证错误 : GSS initiate failed,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40409112/

相关文章:

python - 通过 Python 客户端进行 Hive 查询

java - 创建 RESTEasy 端点时如何限制大型正文请求?

java - 包含 Google Cloud Client 库后在 Android Studio 中构建错误

java - 如何将 ArrayList 分成组?

java - 我的 JDBC mySQL 语句有什么问题?显然我的 WHERE 子句搞砸了

java - MySQL Netbeans Java 结果集失败

java - 记录/记录数据库更新、访问、修改等的最后日期/时间的简单方法

scala - 如何使用 spark 在 Hive 中正确加载数据?

Java 反射 : Code runs fine in Debugger but not in "normal" running mode

hadoop - 如何使用 Hadoop、Hive 和 Sqoop 从 MS SQL Server 检索和分析数据?