hive开启kerberos-beeline连接

本文档介绍了如何在已安装Kerberos的环境中配置Hive,包括keytab的生成和权限设置,以及更新hive-site.xml以实现Beeline的kerberized连接。确保keytab文件的安全性,防止未经授权的访问。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

在这里插入图片描述

1.kerberos安装

kerberos安装配置与使用:https://blog.youkuaiyun.com/qq_21383435/article/details/83625252

2. 生成 keytab

在 cdh1 节点,即 KDC server 节点上执行下面命令:

cd /var/kerberos/krb5kdc/
 
kadmin.local -q "addprinc -randkey hive/cdh-server1@YONG.COM "
kadmin.local -q "addprinc -randkey hive/cdh-server2@YONG.COM "
kadmin.local -q "addprinc -randkey hive/cdh-server3@YONG.COM "
 
kadmin.local -q "xst  -k hive.keytab  hive/cdh-server1@YONG.COM "
kadmin.local -q "xst  -k hive.keytab  hive/cdh-server2@YONG.COM "
kadmin.local -q "xst  -k hive.keytab  hive/cdh-server23@YONG.COM "

拷贝 hive.keytab 文件到其他节

beeline> !connect jdbc:hive2://node1:10000 Connecting to jdbc:hive2://node1:10000 Enter username for jdbc:hive2://node1:10000: hadoop Enter password for jdbc:hive2://node1:10000: 25/07/20 16:07:35 [main]: ERROR jdbc.HiveConnection: Error opening session org.apache.thrift.transport.TTransportException: null at org.apache.thrift.transport.TIOStreamTransport.read(TIOStreamTransport.java:132) ~[hive-exec-3.1.3.jar:3.1.3] at org.apache.thrift.transport.TTransport.readAll(TTransport.java:86) ~[hive-exec-3.1.3.jar:3.1.3] at org.apache.thrift.transport.TSaslTransport.readLength(TSaslTransport.java:376) ~[hive-exec-3.1.3.jar:3.1.3] at org.apache.thrift.transport.TSaslTransport.readFrame(TSaslTransport.java:453) ~[hive-exec-3.1.3.jar:3.1.3] at org.apache.thrift.transport.TSaslTransport.read(TSaslTransport.java:435) ~[hive-exec-3.1.3.jar:3.1.3] at org.apache.thrift.transport.TSaslClientTransport.read(TSaslClientTransport.java:37) ~[hive-exec-3.1.3.jar:3.1.3] at org.apache.thrift.transport.TTransport.readAll(TTransport.java:86) ~[hive-exec-3.1.3.jar:3.1.3] at org.apache.thrift.protocol.TBinaryProtocol.readAll(TBinaryProtocol.java:429) ~[hive-exec-3.1.3.jar:3.1.3] at org.apache.thrift.protocol.TBinaryProtocol.readI32(TBinaryProtocol.java:318) ~[hive-exec-3.1.3.jar:3.1.3] at org.apache.thrift.protocol.TBinaryProtocol.readMessageBegin(TBinaryProtocol.java:219) ~[hive-exec-3.1.3.jar:3.1.3] at org.apache.thrift.TServiceClient.receiveBase(TServiceClient.java:77) ~[hive-exec-3.1.3.jar:3.1.3] at org.apache.hive.service.rpc.thrift.TCLIService$Client.recv_OpenSession(TCLIService.java:176) ~[hive-exec-3.1.3.jar:3.1.3] at org.apache.hive.service.rpc.thrift.TCLIService$Client.OpenSession(TCLIService.java:163) ~[hive-exec-3.1.3.jar:3.1.3] at org.apache.hive.jdbc.HiveConnection.openSession(HiveConnection.java:728) [hive-jdbc-3.1.3.jar:3.1.3] at org.apache.hive.jdbc.HiveConnection.<init>(HiveConnection.java:232) [hive-jdbc-3.1.3.jar:3.1.3] at org.apache.hive.jdbc.HiveDriver.connect(HiveDriver.java:107) [hive-jdbc-3.1.3.jar:3.1.3] at java.sql.DriverManager.getConnection(DriverManager.java:664) [?:1.8.0_361] at java.sql.DriverManager.getConnection(DriverManager.java:208) [?:1.8.0_361] at org.apache.hive.beeline.DatabaseConnection.connect(DatabaseConnection.java:145) [hive-beeline-3.1.3.jar:3.1.3] at org.apache.hive.beeline.DatabaseConnection.getConnection(DatabaseConnection.java:209) [hive-beeline-3.1.3.jar:3.1.3] at org.apache.hive.beeline.Commands.connect(Commands.java:1641) [hive-beeline-3.1.3.jar:3.1.3] at org.apache.hive.beeline.Commands.connect(Commands.java:1536) [hive-beeline-3.1.3.jar:3.1.3] at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) ~[?:1.8.0_361] at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) ~[?:1.8.0_361] at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) ~[?:1.8.0_361] at java.lang.reflect.Method.invoke(Method.java:498) ~[?:1.8.0_361] at org.apache.hive.beeline.ReflectiveCommandHandler.execute(ReflectiveCommandHandler.java:56) [hive-beeline-3.1.3.jar:3.1.3] at org.apache.hive.beeline.BeeLine.execCommandWithPrefix(BeeLine.java:1384) [hive-beeline-3.1.3.jar:3.1.3] at org.apache.hive.beeline.BeeLine.dispatch(BeeLine.java:1423) [hive-beeline-3.1.3.jar:3.1.3] at org.apache.hive.beeline.BeeLine.execute(BeeLine.java:1287) [hive-beeline-3.1.3.jar:3.1.3] at org.apache.hive.beeline.BeeLine.begin(BeeLine.java:1071) [hive-beeline-3.1.3.jar:3.1.3] at org.apache.hive.beeline.BeeLine.mainWithInputRedirection(BeeLine.java:538) [hive-beeline-3.1.3.jar:3.1.3] at org.apache.hive.beeline.BeeLine.main(BeeLine.java:520) [hive-beeline-3.1.3.jar:3.1.3] at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) ~[?:1.8.0_361] at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) ~[?:1.8.0_361] at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) ~[?:1.8.0_361] at java.lang.reflect.Method.invoke(Method.java:498) ~[?:1.8.0_361] at org.apache.hadoop.util.RunJar.run(RunJar.java:330) [hadoop-common-3.4.0.jar:?] at org.apache.hadoop.util.RunJar.main(RunJar.java:245) [hadoop-common-3.4.0.jar:?] 25/07/20 16:07:35 [main]: WARN jdbc.HiveConnection: Failed to connect to node1:10000 Error: Could not open client transport with JDBC Uri: jdbc:hive2://node1:10000: Could not establish connection to jdbc:hive2://node1:10000: null (state=08S01,code=0) beeline> 这个怎么解决
最新发布
07-21
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

九师兄

你的鼓励是我做大写作的动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值