集群不同安全认证模式下beeline连接串使用方式

前言

我们将用server_ip|hostname来指代InceptorServer所在的节点名称或ip。InceptorServer所在节点可以通过管理界面的quark角色页面查看。

image.png

操作前提

在进入命令行之前,请用户确保已经在当前的操作节点上已安装TDH Client。

示例教程


不同模式下的beeline连接串怎么写

<database_name>处提供您想要连接的Inceptor中的数据库的名字,比如default。连接完成后可以在beeline命令行中使用USE来切换使用的数据库。


l 没有认证

登陆集群中的任意一台服务器,执行下面指令:

$ beeline -u "jdbc:hive2://<server_ip/hostname>:10000/<database_name>"


l LDAP认证

登陆集群中的任意一台服务器,执行下面指令:

$ beeline -u "jdbc:hive2://<server_ip/hostname>:10000/<database_name>" -n <username> -p <password>

在<username>和<password>处需要分别提供登陆的用户在LDAP中的用户名和密码,比如下面命令以hive用户身份连接本地的Inceptor中的default数据库:

$ beeline -u "jdbc:hive2://localhost:10000/default" -n hive -p 123


l Kerberos认证

注意,执行下面指令之前,当前用户必须有一张有效的Kerberos TGT(Ticket Granting Ticket)。查看当前有效的TGT的指令为klist;获取一张有效TGT的指令为kinit。具体操作请参考附录:Kerberos基本操作。Inceptor会根据当前持有TGT的principal判断登陆用户的身份。

登陆集群中的任意一台服务器,执行下面指令:

$ beeline -u "jdbc:hive2://<server_ip/hostname>:10000/<database_name>;principal=<princpal_name>"
  • <principal_name>处填写您想要连接的InceptorServer的principal。
目前8.x以上版本中Server Principal中的User Name固定为hive,即Server Principal的值应该形如hive/<hostname>@TDH,例如下述命令:
$ beeline -u "jdbc:hive2://localhost:10000/default;principal=hive/tw-node119@TDH"


l Guardian Token认证

在Kerberos/LDAP认证开启的情况下,默认支持Guardian Access Token。使用Access Token获得Inceptor连接,不再需要用户名/密码和keytab。登陆集群中的任意一台服务器,执行下面指令:

$ beeline -u "jdbc:hive2://<server_ip/hostname>:10000/<database_name>;guardianToken=<access_token>"
  • <access_token>的通常为一个字符串,需要在Guardian服务里获取。关于具体的获取方法请参考《Transwarp Guardian手册》里的“使用Access Token访问服务”章节。以下为一个连接default数据库的命令:
$ beeline -u "jdbc:hive2://localhost:10000/default;guardianToken=49Lh9pez3sccsPgfIjPa"


l CAS认证

TDH支持使用CAS进行单点登录/登出,此功能默认为开启。

对于配置了CAS的Web服务,首次登录时浏览器会跳转至CAS Server,您使用用户名/密码成功登录后,浏览器自动获取CAS Ticket。您可以使用REST API来获取CAS Ticket用于访问Inceptor。执行下面指令:

$ beeline -u "jdbc:hive2://<server_ip/hostname>:10000/<database_name>;casTicket=<cas_ticket>"

<cas_ticket>的获取方法请参考《Transwarp Data Hub安全手册》里的“使用CAS Ticket访问服务”章节。以下为一个连接default数据库的命令:

$ beeline -u "jdbc:hive2://localhost:10000/default;casTicket=PT-24-Jl0fq9wNDAwI2z5hTolLPN-7jRo-tw-node1217"


l InceptorServer HA

如果您设置了InceptorServer HA,并希望使用完整的HA功能,必须采用如下格式进行登陆:

  • 没有认证
$ beeline -u jdbc:hive2://<server2_ip/hostname>:10000, <server2_ip/hostname>:10000/<database_name> 
示例如下: 
$ beeline -u jdbc:hive2://hadoop1:10000,hadoop2:10000/default
  • LDAP认证
$ beeline -u jdbc:hive2://<server2_ip/hostname>:10000, <server2_ip/hostname>:10000/<database_name> -n <username> -p <password> 
示例如下:
$ beeline -u jdbc:hive2://hadoop1:10000,hadoop2:10000/default –n hive –p 123456
  • Kerberos认证
暂时未支持Kerberos证书。


其他

Beeline模式下其他常见命令行操作详见:https://community.transwarp.cn/thread?topicId=279


评论
登录后可评论
发布者
星小环分享号
官方
文章
194
问答
258
关注者
27
banner
关注星环科技
获取最新活动资讯

加入TDH社区版技术交流群

获取更多技术支持 ->

扫描二维码,立即加入