Demo-DataGrip对接Hive
更新时间: 2024-12-09 15:58:40
阅读 6346
DEMO-DataGrip对接Hive/Impala
适用模块
客户端
具体说明
客户端工具对接集群
使用示例
DataGrip连接Hive
DataGrip可通过jdbc方式连接Hive/Impala;
驱动依赖Jar包如下:
commons-collections-3.2.2.jar
commons-configuration-1.6.jar
commons-httpclient-3.0.1.jar
commons-logging-1.1.3.jar
curator-client-2.10.0.jar
curator-framework-2.10.0.jar
hadoop-auth-2.9.2.jar
hadoop-common-2.9.2.jar
hive-common-2.1.1.jar
hive-exec-2.1.1.jar
hive-jdbc-2.1.1.jar
hive-metastore-2.1.1.jar
hive-service-2.1.1.jar
httpclient-4.5.6.jar
httpcore-4.4.6.jar
log4j-api-2.16.0.jar
log4j-core-2.16.0.jar
slf4j-api-1.7.25.jar
stax2-api-3.1.4.jar
woodstox-core-5.0.3.jar
zookeeper-3.4.6.jar
# 以上驱动包可通过集群上hive及hadoop客户端中获取或直接通过https://docs.popo.netease.com/docs/205fe444c8ad430485633076b74d77f1 下载集成包
连接信息配置:将URL选项配置为完整JDBC连接串即可
Kerberos支持
# krb5.conf 可从集群节点/etc/krb5.conf拷贝
[libdefaults]
default_ccache_name = FILE:/tmp/krb5cc_%{uid} # mac必须添加此配置,否则缓存文件默认为KCM导致客户端认证失败
default_realm=BDMS.163.COM
allow_weak_crypto=true
dns_lookup_realm=false
dns_lookup_kdc=false
ticket_lifetime=24h
renew_lifetime=7d
forwardable=true
udp_preference_limit=1
[domain_realm]
jd.163.org=BDMS.163.COM
.jd.163.org=BDMS.163.COM
[realms]
BDMS.163.COM={
admin_server=bigdata-demo1.jdlt.163.org
kdc=bigdata-demo1.jdlt.163.org
kdc=bigdata-demo2.jdlt.163.org
}
# 配置客户端工具自动kerberos验证,注意keyTab地址为本机电脑上存放访问集群 keytab 文件的地址,可从个人中心下载。所用的keytab principal 前缀,下面的dsc_support,就是访问的用户,需要有相应的hdfs、hive 权限
# jgss.auth
com.sun.security.jgss.initiate{
com.sun.security.auth.module.Krb5LoginModule required
useKeyTab=true
useTicketCache=false
keyTab="/Users/semon/wks/tools/dsc_support.keytab"
principal="dsc_support/dev@BDMS.163.COM"
doNotPrompt=true
debug=true
debugNative=true;
};
VM options配置如下:
-Djava.security.auth.login.config=/Users/semon/wks/tools/jgss.auth -Djava.security.krb5.conf=/00-conf/demo-krb/krb5.conf -Djavax.security.auth.useSubjectCredsOnly=false
windows系统jgss.auth及VM option中路径同样使用单斜线分割
如有以下报错,由于使用的高版本jdk 存在类加载问题,kerberos 相关配置无法通过连接配置增加,需要添加额外的jvm 参数
class org. apache. hadoop. security. authentication. util. KerberosUtil cannot access class sun. security. krb5.Config (in module java. security. jgss) because module java. security. jgss does not export sun. security. krb5 to unnamed module @233e4784.
此时,VM options配置如下:
--add-exports=java.security.jgss/sun.security.krb5=ALL-UNNAMED -Djava.security.auth.login.config=/Users/semon/wks/tools/jgss.auth -Djava.security.krb5.conf=/00-conf/demo-krb/krb5.conf -Djavax.security.auth.useSubjectCredsOnly=false
如有报错 "未找到驱动程序类",确认上述 VM options配置的路径里是否有存在空格,可以设置路径不包含空格,或者用双引号将路径引起来
连接测试
作者:wangsong
文档反馈
以上内容对您是否有帮助?