当前位置: 首页 > 知识库问答 >
问题:

RDJDBC::DbConnect无法连接到HiveServer2(kerberos+SASL)

殳勇
2023-03-14

我正在尝试使用RJDBC连接到Hive2,但它失败了,“GSS initiate Failed”。然而,同样的事情工作良好使用beeline客户端。知道在相同的节点上使用相同的凭据运行这两个节点时,是什么导致了不同的行为吗?

drv<-rjdbc::jdbc(“org.apache.hive.jdbc.hivedriver”,cp,“`”)

conn<-rjdbc::dbconnect(drv,“jdbc:hive2://node1:10000/default;principal=hive/hive_node@realm;ssl=true;ssltruststore=store_path;truststorepassword=store_password”,“user”,“password”)

log4j:warn找不到logger(org.apache.hive.jdbc.utils)的附加程序。log4j:警告请正确初始化log4j系统。log4j:警告有关更多信息,请参见http://logging.apache.org/log4j/1.2/faq.html#noconfig。jcall中的错误(drv@jdrv,“ljava/SQL/connection;”,“connect”,as.character(url)[1],:java.sql.sqlexception:无法使用JDBC URI:JDBC:hive2://:10000/default打开客户端传输;principal=hive/hive_node@realm;ssl=true;ssltruststore=store_path;truststorepassword=store_password:GSS initiate失败

共有1个答案

龚俊捷
2023-03-14

对你来说有点晚,但是...请查看关于为Hive/Impala JDBC配置Kerberos身份验证的详细信息(还请注意,Kerberos auth忽略了“user”和“password”连接参数)

post假设您将密码存储在“keytab”文件中,并使用它创建一个私有Kerberos票证。如果希望使用默认的公共票证,则相应地更改JAAS conf(即useticketcache=trueusekeytab=false和nokeytab条目)

要将配置从R代码传递给Java,最简单的方法是在启动RJava初始化之前设置java_tool_optionsenv变量

Sys.setenv("JAVA_TOOL_OPTIONS"="-Djava.security.auth.login.config=/Path/To/jaas.conf -Djavax.security.auth.useSubjectCredsOnly=false")

ps:在Windows上,路径看起来像c:/path/to/jaas.conf(Java自动将斜杠转换为反斜杠;这比转义每个反斜杠更容易,因为R字符串解释\)

 类似资料:
  • 当我使用beeline connect到hiveserver2时,err消息如下所示。我以前连接过hiveserver2。在我多次连接到hiveserver2之后,会显示此错误。我可以使用jdbc:hive2://连接 SLF4J:类路径包含多个SLF4J绑定。slf4j:在[jar:file:/usr/local/hive/lib/log4j-Slf4j-impl-2.4.1.jar!/org/

  • 问题内容: 我正在尝试使用Ruby on Rails运行Selenium的示例脚本。我必须使用代理运行它。这是我的代码: 我收到以下错误: 有人能帮我吗…?我已经尝试了好几个小时,却找不到问题…真的不知道该怎么办。 环境: Ubuntu 16.04 LTS,Firefox 45.0,rbenv 2.3.1 另一个问题:有人知道Selenium + Ruby on Rails的示例吗?我找不到真正好

  • 我正在尝试连接到MySQL服务器,但出现无法处理的错误。 java.sql.SQLNonTransientConnectionException:无法创建到数据库服务器的连接。尝试重新连接3次。放弃。com.mysql.cj.jdbc.exceptions.SQLError.createSQLException(SQLError.java:110)com.mysql.cj.jdbc.excepti

  • 我真的想不通为什么我不能用下面的代码连接到我的Django项目内的JQuery。你能告诉我是什么原因吗?多谢! null null

  • 我正在尝试使用Android studio提供的工具将我的Android应用程序连接到firebase,但我面临着很多麻烦。 我已经尝试更新依赖到最新的最新的谷歌服务,但错误仍然存在,显示的错误是无法解析Android应用模块的Gradle配置。解决分级生成问题和/或重新同步。 分级/应用程序a

  • 我正在开发Selenium,目前我有一个连接到两个运行linux和所有浏览器的虚拟机的集线器。 我能够启动浏览器,直到它突然停止。火狐或任何其他浏览器都不会启动。我得到以下错误。 45000 ms后无法连接到端口7055上的主机127.0.0.1。 我运行Selenium服务器独立2.26与火狐16.0.2. 请帮忙。