• (解决)dbeaver连接hive报错:User: hadoop is not allowed to impersonate XXX


    这个坑肯可能是在java操作hive 和 python操作hive都会遇到的配置问题

    如下解决方法:

    1.配置 hive-site.xml

    <property>
    <name>javax.jdo.option.ConnectionUserName</name>
    <value>hadoop</value>
    <description>username to use against metastore database</description>
    </property>
    <property>
    <name>javax.jdo.option.ConnectionPassword</name>
    <value>passwd</value>
    
    </property> 

    # 这里用户名为什么是hadoop,因为我用用户“hadoop”启动的集群,

    # passwd是用户设定的密码, 具体原理(“即你用哪个linux用户启动hadoop,对应的用户也就成为hadoop的内部用户,如下图我的linux用户为root,对应的hadoop中用户也就是root”,详细参考源:https://blog.csdn.net/qq_16633405/article/details/82190440

    <property> 
    <name>hive.server2.thrift.port</name> 
    <value>10000</value> 
    </property>
    <property>
    <name>hive.server2.thrift.bind.host</name>
    <value>localhost</value>
    </property>
    
    <property>
    <name>hive.server2.enable.doAs</name>
    <value>false</value>

    # 这应该是设置hiverserver2 绑定的host和port, 通过dbeaver通过jdbc driver访问hive, url模板:jdbc:hive2://{host}[:{port}][/{database}]   最后的:hive.server2.enable.doAs,忘了啥意思了,卡了好久病急乱投医了。。。

    2. 配置 hadoop的 core-site.xml

    配置  hadoop/etc/hadoop/  目录下的core-site.xml:

    添加如下xml代码,红色的hadoop对应的就是 上面 hive-site.xml配置的 username, 我看网上大部分都是root,估计是hadoop是在root下启动的,我hadoop所属都是用户hadoop(作为一个菜鸡只能这么猜测了)

        <property>
            <name>hadoop.proxyuser.hadoop.hosts</name>
            <value>*</value>
        </property>
        <property>
            <name>hadoop.proxyuser.hadoop.groups</name>
            <value>*</value>
        </property>

    3. 启动hiveserver2

    hive --service hiveserver2 -hiveconf hive.server2.thrift.port=10000 

    # 这个hive.server2.thrift.port=10000  在 hive-site.xml中配置了,这应该不用代参数了

    4. 启动 hadoop

      cd /hadoop/sbin/

      start-all.sh

    5. dbeaver测试连接 hive

      下载对应hive版本的jdbc jar包(我的hive是3.1.1, 网上找的3.1.1 , hive jdbc下载链接在这, 如何看hive版本? 参照),以及推荐的jdbc jar包,配置主机、用户名和密码,模式/数据库可以不填, 测试完成(沃尼玛,终于解决了)

      

    在此感谢 :https://blog.csdn.net/qq_16633405/article/details/82190440 博主:春雨里de太阳

     
  • 相关阅读:
    C#控件开发(三)
    C#控件开发(四)
    如何将方行的按纽改变为其他的形状
    C#绘制圆角矩形
    Win7右键不能新建文件夹
    WinForm窗体FormClosing事件导致无法关机
    反射动态调用WinForm窗口
    C#钩子本线程内消息拦截
    C#控件开发(一)
    七个C#编程小技巧
  • 原文地址:https://www.cnblogs.com/HankCui/p/11638984.html
Copyright © 2020-2023  润新知