【问题标题】:Knox does not work after Hive service restartHive 服务重启后 Knox 不工作
【发布时间】:2020-11-27 01:40:05
【问题描述】:

我使用 SQL Developer 和一些第三方 jar 文件来访问 Hive。

当 Hive 服务重新启动时 - 我的连接对象不会让我在重新启动后连接到 Hive。我的管理团队也需要重新启动 Metastore。然后再进行一些配置更改,管理员团队会这样做 - 然后我需要删除 cacerts 文件,使用 Apache knox 再次将证书添加到 cacerts。

你们中有人遇到过类似的问题并设法解决了吗?

谢谢 数控车

【问题讨论】:

  • 您遇到的确切异常/错误是什么?
  • 在 SQL Developer 中 - 它给出“连接数据库时出错”和一些供应商代码。管理团队重新启动 Metastore - 所以我无法捕获确切的错误。

标签: hive oracle-sqldeveloper metastore apache-knox


【解决方案1】:

抱歉,这里回复晚了。这听起来像是一个问题,此后 HiveServer2 使用随机密钥对 cookie 进行签名,该密钥用于优化给定会话的每个 http 请求的身份验证。当 HS2 重新启动时,会创建一个新密钥,并且 Knox 服务器继续发送以前缓存的 cookie,该 cookie 使用以前的随机密钥签名。应该没有理由去搞乱 cacerts 之类的东西。一个简单但烦人的 Knox 重启就足够了。您也可以关闭基于 cookie 的身份验证,但这会降低性能。

【讨论】:

  • 感谢 Imccay !!这一次 - HDP 管理员提供了一组用于 jdbc 连接的库和用于添加 ca 证书的新 bash 和 cmd 可执行文件。我相信这解决了这个问题。无论如何,非常感谢您的回复!