• 【dbeaver】win环境的kerberos认证和Clouders集群中Kerberos认证使用Dbeaver连接Hive和Phoenix


    一、配置Mit kerberos

    1.1 下载安装MIT KERBEROS客户端

    MIT KERBEROS 下载较新的版本即可。
    在这里插入图片描述
    下载之后一路默认安装即可。注意:不要修改软件安装位置。
    修改系统环境变量中的Path。将刚刚的安装路径置顶。(不置顶,也要比%JAVA_HOME%\binanaconda相关的高)
    在这里插入图片描述
    使用CMD命令确认下:
    在这里插入图片描述

    1.2 修改krb5.conf文件并创建krb5.ini配置文件

    krb5.conf 一般存储在集群的/etc目录下。
    其中conf文件中仅需要保留一下三大项中的内容即可。如果有此项renew_lifetime = 1800d需要删除或注释(行首添加#)

    [libdefaults]
    ... ...
    [realms]
    ... ...
    [domain_realm]
    ... ...
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6

    krb5.conf复制一份并改名为krb5.ini即可。krb5.ini是供MIT KERBEROS软件使用的。
    修改添加环境变量:
    如下两个位置最好不要自定义,都在默认的MIT KERBEROS位置即可。避免不必要的麻烦。
    在这里插入图片描述
    KRB5CCNAME是MIT KERBEROS软件自动创建的。

    1.3 本地认证kerberos

    向管理员索取Keytab文件。
    打开打开keytab所在位置。按住shift点击右键点击open cmd windos here,打开CMD窗口。
    在这里插入图片描述

    # 获取pricipal
    klist -kt xxx.keytab
    # 认证授权
    kinit -kt xxx.keytab xxx@XXXXX.COM
    # 验证下
    klist
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6

    1.4 验证结果:

    在这里插入图片描述
    同时MIT KERBEROS软件也会获取到成功的结果:
    在这里插入图片描述

    二、使用Cloudera驱动dbeaver连接Hive(cache方式)

    配置dbeaver.ini
    增加如下配置

    -Djavax.security.auth.useSubjectCredsOnly=false
    -Djava.security.krb5.conf=D:/env/Kerberos/krb5.ini
    -Dsun.security.krb5.debug=true
    
    • 1
    • 2
    • 3

    编辑驱动

    在这里插入图片描述

    编辑URL模板

    在这里插入图片描述

    在这里插入图片描述
    在这里插入图片描述
    驱动URL链接模板

    -- 注意:KrbAuthType=2;AuthMech=1 是固定的。
    jdbc:hive2://{host}[:{port}][/{database}];KrbRealm=XXXXX.COM;KrbHostFQDN={host};KrbServiceName=hive;KrbAuthType=2;AuthMech=1
    
    • 1
    • 2

    AuthMech的由来:com.cloudera.hiveserver1.hivecommon.AuthMech
    在这里插入图片描述

    KrbAuthType的由来com.cloudera.hiveserver2.hivecommon.KrbAuthType
    在这里插入图片描述

    测试连接

    在这里插入图片描述
    在这里插入图片描述

    idea连接Hive(cache方式)

    添加驱动

    在这里插入图片描述

    添加连接

    在这里插入图片描述

    # 模板和dbeaver中的一模一样
    jdbc:hive2://{host}[:{port}][/{database}];AuthMech=1;KrbRealm=XXXXX.COM;KrbHostFQDN={host};KrbServiceName=hive;KrbAuthType=2
    # 分别将{host} 、 [:{port}],[/{database}] 替换为自己的内容即可
    示例如下:
    jdbc:hive2://abc.com:10000/mydb;KrbRealm=XXXXX.COM;KrbHostFQDN=abc.com;KrbServiceName=hive;KrbAuthType=2;AuthMech=1
    
    • 1
    • 2
    • 3
    • 4
    • 5

    在这里插入图片描述

    测试连接

    在这里插入图片描述

    三、使用Apache驱动dbeaver连接Hive(cache方式)

    配置dbeaver.ini
    增加如下配置

    -Djavax.security.auth.useSubjectCredsOnly=false
    -Djava.security.krb5.conf=D:/env/Kerberos/krb5.ini
    -Dsun.security.krb5.debug=true
    
    • 1
    • 2
    • 3

    在这里插入图片描述mvnrepository

    在这里插入图片描述

    编辑驱动下载地址

    在这里插入图片描述

    修改URL模板

    在这里插入图片描述

    测试连接
    在这里插入图片描述
    驱动下载失败处理办法:
    在这里插入图片描述其他报错:
    在这里插入图片描述

    四、Phoenix连接

    4.1 编写jass.conf

    Client {
      com.sun.security.auth.module.Krb5LoginModule required
      useKeyTab=true
      storeKey=true
      useTicketCache=false
      keyTab="D:/xxx/xxx.keytab"
      principal="xxx@XXXXX.COM";
    };
    com.sun.security.jgss.krb5.initiate {
      com.sun.security.auth.module.Krb5LoginModule required
      renewTGT=false
      doNotPrompt=true
      useKeyTab=true
      keyTab="D:/env/Kerberos/xxx.keytabs"
      principal="xxx@XXXXX.COM"
      storeKey=true
      useTicketCache=false;
    };
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18

    4.3 修改dbeaver.ini

    打开dbeaver安装目录,找到dbeaver.ini文件进行编辑,追添加如下内容

    -Djavax.security.auth.useSubjectCredsOnly=false
    -Djava.security.krb5.conf=D:\xxx\krb5.conf
    -Dsun.security.krb5.debug=true
    -Djava.security.auth.login.config=‪‪D:\xxx\jaas.conf
    
    • 1
    • 2
    • 3
    • 4

    4.4 获取集群配置文件

    (1)hadoop的hdfs-site.xmlcore-site.xml配置文件
    (2)hbase的hbase-site.xml
    使用压缩工具(如360压缩)打开phoenix-5.0.0-cdh6.2.0-client.jar,将以上三个配置文件拖入空白处,即自动保存。

    4.5 配置驱动

    在这里插入图片描述

    4.6 编辑驱动URL链接模板

    在这里插入图片描述
    路径可以在hbase-site.xml中获取

        <property>
          <name>zookeeper.znode.parentname>
          <value>/hbase-securevalue>
        property>
    
    • 1
    • 2
    • 3
    • 4

    4.7 测试

    在这里插入图片描述
    在这里插入图片描述

    五、impala连接

    下载驱动,参考下文Cloudera驱动下载

    编辑驱动

    在这里插入图片描述

    编辑URL模板

    jdbc:impala://{host}:{port}[/{database}];AuthMech=1;KrbRealm=XXXXX.COM;KrbHostFQDN={host};KrbServiceName=impala
    
    • 1

    在这里插入图片描述

    测试连接

    在这里插入图片描述

    附:Cloudera驱动下载

    cloudera官网

    1.1 官网页面下载

    下载页面 的Database Drivers 挑选比较新的版本即可。
    在这里插入图片描述

    1.2 集群下载

    Hive可能集群没有驱动包。驱动包名称:HiveJDBC42.jar。41结尾的包也可以使用的。注意Jar包的大小一定是十几MB的。几百KB的是thin包不可用。
    在这里插入图片描述
    如下的jar是不可用的。

    [root@mycentosprod lib]# ll -h | grep jdbc
    -rw-r--r-- 1 root root  116K 99 2021 hive-jdbc-2.1.1-cdh6.2.0.jar
    
    • 1
    • 2

    Phoenix 包名称:phoenix-5.0.0-cdh6.2.0-client.jar

    -sh-4.2$ ll -h | grep client
    -rw-r--r--. 1 root root 137M Dec 22  2022 phoenix-5.0.0-cdh6.2.0-client.jar
    
    • 1
    • 2

    五、参考连接:

    DBeaver连接phoenix
    Kerberos环境下使用Dbeaver链接Phoenix
    Windows下Dbeaver连接设置Kerberos后的Hive和Phoenix
    idea连接kerberos认证的hive
    DBeaver连接hive(详细图解) 参考可以配置dbeaver的驱动下载地址和坐标

  • 相关阅读:
    iTOP-RK3568开发板内核模块实验-设置交叉编译器
    国庆出游必看!全国5A景区最详细数据分析来啦
    C语言-找鞍点
    编辑器在编译Shader时的报错疑问
    Pinely Round 1 (Div. 1 + Div. 2) A B C
    移动机器人+机械手臂+视觉定位抓取物料
    java强应用,软引用,弱引用,虚引用的区别
    RK3568开发板SG90 舵机模块的功能实现-迅为电子
    语雀服务器P0事故的一些启发
    达梦数据库使用和常见问题
  • 原文地址:https://blog.csdn.net/lisacumt/article/details/133267594