Datagrip如何访问集成Kerberos协议的Hive数据库

Datagrip如何访问集成Kerberos协议的Hive数据库

  • 简介
  • 环境说明
  • kerberos秘钥
  • Datagrip配置
    • 环境变量
    • 安全服务文件
  • 参考连接

简介

  • 背景说明

    hive数据库默认不需要配置用户名密码,基于 Datagrip 可以直连,但是hive数据库在集成kerberos后,需要添加相关kerberos配置。

环境说明

  • 客户端系统

    win10

  • 数据库版本

    hive2.1.1 + cdh6.3.0

  • 依赖jar版本

    hive-jdbc-2.1.1-cdh6.3.2-standalone.jar
    hadoop-auth-2.7.4.jar
    hadoop-common-2.7.4.jar
    commons-configuration-1.1.0.jar

kerberos秘钥

  • 概述

    principal 用户名
    keyTab 秘钥文件
    krb5.conf 配置

Datagrip配置

环境变量

  • URL(General -> Connection Type(URL only))

    jdbc:hive2://127.0.0.1:10000/default;principal=hive/[email protected]

  • VM options(Data Sources -> Advanced -> VM options)

    -Djava.security.auth.login.config=D:/Dev/Java/BigData/kerberos/hive.login
    -Djava.security.krb5.realm=EXAMPLE.COM
    -Djava.security.krb5.kdc=node1
    -Djavax.security.auth.useSubjectCredsOnly=false

安全服务文件

  • hive.login

    
        com.sun.security.jgss.initiate{
            com.sun.security.auth.module.Krb5LoginModule required
            useKeyTab=true
            useTicketCache=false
            keyTab="D:/Dev/Java/BigData/kerberos/hive.keytab"
            principal="hive/[email protected]"
            doNotPrompt=true
            debug=true
            debugNative=true;
        };
    
    
    
    
  • 其他

    client_protocol -> ThriftBinary

参考连接

  • Datagrip查询开启kerberos的hive

  • Hive driver class not found

  • kerberos-2.datagrip(jdbc)连接hive kerberos

你可能感兴趣的:(hive,hadoop,datagrip)