通过knox获取到配置单元的jdbc连接时出错

vatpfxk5  于 2021-06-01  发布在  Hadoop
关注(0)|答案(2)|浏览(465)

我有一个hadoop集群运行hortonworks数据平台2.4.2,已经运行了一年多了。集群是kerberised的,外部应用程序通过knox连接。今天早些时候,集群停止接受通过knox到hive的jdbc连接。
knox日志未显示错误,但hive server2日志显示以下错误:
“原因:org.apache.hadoop.security.authorize.authorizationexception:用户:不允许knox模拟org.apache.hive.service.cli.hivesqlexception:无法验证的knox的代理权限”
在研究了其他用户之后,建议似乎主要围绕hadoop.proxyusers.users和hadoop.proxyusers.groups的配置选项的正确设置。
然而,在我的情况下,我不明白这些设置会是什么问题。这个集群已经运行了一年多,我们每天都有很多应用程序通过jdbc连接到hive。服务器的配置尚未更改,连接以前在当前配置上成功。在上次成功的jdbc连接和被拒绝的jdbc连接之间,没有对平台或环境进行任何更改,也没有重新启动或关闭集群进行维护。
我现在已经停止并启动了集群,但是在重启之后集群仍然不接受jdbc连接。
有人对我该怎么做有什么建议吗?

qv7cva1a

qv7cva1a1#

已知的解决方法似乎是:

hadoop.proxyuser.knox.groups = *
hadoop.proxyuser.knox.hosts = *

我还没有找到一个真正的修复,让你保持这一层的附加安全性。

8ljdwjyq

8ljdwjyq2#

是否已打开Hive模拟?

hive.server2.enable.doAs=true

假设hadoop.proxyusers.users和hadoop.proxyusers.groups设置正确,这可能是问题所在。
另外,检查用户“knox”是否存在于配置单元server2节点上(以及用于模拟的其他节点)。

相关问题