【问题标题】:Hive JDBC Kerberose Authentication Error: GSS initiate failedHive JDBC Kerberose 身份验证错误:GSS 启动失败
【发布时间】:2022-03-05 21:35:59
【问题描述】:

我正在尝试使用以下连接字符串通过 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 在 VM 上运行代码。

【问题讨论】:

    标签: java jdbc hive


    【解决方案1】:

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

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

    【讨论】:

    • java -Djavax.security.auth.useSubjectCredsOnly=false -Djava.security.krb5.conf="/etc/krb5.conf" -jar &lt;JAR_FILE&gt; 我使用了上面的命令,但仍然失败,异常 GSS 启动失败
    【解决方案2】:

    如果您使用 Ranger 并使用 hive 插件连接并面临 GSS 启动失败错误,请使用用户名@realmname(如 maroof@abc.com)和 maroof@abc.com 密码,然后尝试 jdbc 连接

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

    您将毫无错误地连接。

    【讨论】:

      猜你喜欢
      • 2017-12-06
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2023-03-22
      • 2017-08-27
      • 2015-12-01
      相关资源
      最近更新 更多