项目场景:
数据库连接工具
问题描述
DBeaver连接如下错误
原因分析:
我去网上搜原因是这样说的:
这个异常是由于Hadoop引入了一个安全伪装机制,使得Hadoop不允许上层系统直接将实际用户传递到Hadoop层,而是将实际用户传递给一个超级代理,由此代理在Hadoop上执行操作,避免任意客户端随意操作Hadoop。在这个异常中,用户root不允许伪装成anonymous(Hive的默认用户)。解决这个问题的方法是在Hadoop配置文件中设置hadoop.proxyuser.root.hosts为*,表示任意节点使用Hadoop集群的代理用户root都能访问HDFS集群。同时,还需要设置hadoop.proxyuser.root.groups表示代理用户的组所属。如果出现类似于User lisi is not allowed to impersonate…的异常,就需要将配置文件中的lisi替换成相应的用户。
解决方案:
修改hadoop 配置文件 etc/hadoop/core-site.xml,加入如下配置项,最后重新启动hadoop,就好了

连接成功啦 !!!

文章讲述了在使用DBeaver连接Hadoop时遇到的安全伪装问题,原因在于Hadoop的权限管理机制。解决办法是修改Hadoop配置文件,允许特定用户(如root)作为代理访问HDFS。通过设置proxyuser和hosts/groups参数,可以解决Userlisiisnotallowedtoimpersonate等类似异常。
922





