翻译: https://www.cloudera.com/documentation/enterprise/latest/topics/cdh_ig_hiveserver2_start_stop.html
版本: 5.14.2
HiveServer2是HiveServer的改进版本,支持Kerberos身份验证和多客户端并发访问。您可以使用Beeline客户端访问HiveServer2。
警告:
如果以远程模式运行Metastore ,则必须在启动HiveServer2之前启动Hive Metastore。作为其初始化引导的一部分,HiveServer2会尝试与Metastore进行通信。如果无法执行此操作,则会失败并显示错误。
启动HiveServer2:
$ sudo service hive-server2 start
要停止HiveServer2:
$ sudo service hive-server2 stop
要确认HiveServer2正在工作,请启动beeline CLI并用它来执行一个 SHOW TABLES 查询HiveServer2进程:
$ /usr/lib/hive/bin/beeline
beeline> !connect jdbc:hive2://localhost:10000 username password org.apache.hive.jdbc.HiveDriver
0: jdbc:hive2://localhost:10000> SHOW TABLES;
show tables;
+-----------+
| tab_name |
+-----------+
+-----------+
No rows selected (0.238 seconds)
0: jdbc:hive2://localhost:10000>
使用Beeline CLI
Beeline是专门为与HiveServer2交互开发的CLI(命令行界面)。它基于Marc Prud'hommeaux编写的SQLLine CLI。
注意:
Cloudera目前不支持使用Thrift HTTP协议将Beeline连接到HiveServer2(这意味着您无法设置 hive.server2.transport.mode=http)。
使用以下命令启动beeline 并连接到正在运行的HiveServer2进程。在这个例子中,HiveServer2进程运行 在localhost 的10000端口 :
$ beeline
beeline> !connect jdbc:hive2://localhost:10000 username password org.apache.hive.jdbc.HiveDriver
0: jdbc:hive2://localhost:10000>
注意:
如果您在未启用Kerberos安全性的群集上使用HiveServer2 ,则用于启动Beeline的命令中密码是任意的。
如果您在启用了Kerberos安全性的群集上使用HiveServer2,请参阅HiveServer2安全配置。
从CDH 5.2开始,还有一些Hive CLI功能在Beeline 中不可用。例如:
- Beeline不显示像Hive CLI这样的查询日志
- 使用Beeline向HiveServer2添加JAR时,JAR必须位于HiveServer2主机上。
目前,Beeline文档的最佳来源是最初的SQLLine文档。