在线支持
在线支持
微信支持
微信支持
集群不同安全认证模式下beeline连接串使用方式
2022-12-26 15:34:13
110次阅读
1个评论

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

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 Data Hub安全手册》里的“使用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

收藏 0 0
共1条 1

登录 后评论。没有帐号? 注册 一个。

admin

官方人员
  • 0 回答
  • 0 粉丝
  • 0 关注