我们将用server_ip|hostname来指代InceptorServer所在的节点名称或ip。InceptorServer所在节点可以通过管理界面的Inceptor角色页面查看。
在进入命令行之前,请用户确保已经在当前的操作节点上已安装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
$ 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证书。
beeline其他常见操作详见https://community.transwarp.cn/thread?topicId=279