HiveServer2是一個能使客戶端針對hive執行查詢的一種服務,與HiverServer1比較,它可以支持多個客戶端的併發請求和受權的;shell
HiveCLI 和 hive –e的方式比較單一,HS2容許遠程客戶端使用多種語言諸如Java,Python等向Hive提交請求,而後取回結果數據庫
HiveServer2的客戶端apache
beelinemarkdown
!connect 打開數據庫一個新的鏈接
!close 關閉當前數據庫的鏈接
!closeall 關閉當前打開的全部鏈接
!columns 列出指定表的全部列
!commit 提交當前事務
!describe 描述一張表
!dropall 刪除當前數據庫全部表
!indexes 列出指定表的索引
!list 列出當前的鏈接
!outputformat 設置輸出格式
!procedures 列出全部的存儲過程
!properties 根據指定的屬性文件鏈接數據庫
!quit 退出程序
!rollback 回滾事務
!run 根據指定的文件執行腳本
!set 設置一個變量
!sh 執行一個Linux shell命令
!tables 列出數據庫全部的表
複製代碼
#進入beeline
[root@master ~]# beeline
#鏈接10000端口
beeline> !connect jdbc:hive2://192.168.134.154:10000
Connecting to jdbc:hive2://192.168.134.154:10000
Enter username for jdbc:hive2://192.168.134.154:10000: root #用戶名root
Enter password for jdbc:hive2://192.168.134.154:10000: **** #密碼root
複製代碼
apache-hive
vi apache-hive-2.3.3-bin/conf/hive-site.xml併發
編輯hive-site.xml添加以下:oop
<property>
<name>hive.server2.thrift.port</name>
<value>10000</value>
</property>
<property>
<name>hive.server2.thrift.bind.host</name>
<value>10.14.68.233</value>
</property>
複製代碼
2.hadoop
ui
注意:若是是hadoop集羣而不是單機版,須要更改全部虛擬機上的core-site.xml文件
spa
<property>
<name>hadoop.proxyuser.hadoop.hosts</name>
<value>*</value>
</property>
<property>
<name>hadoop.proxyuser.hadoop.groups</name>
<value>*</value>
</property>
複製代碼
重啓集羣和zookeeper
code
啓動
#啓動hiveserver2
[root@master ~]# hiveserver2
#或者
[root@master ~]# hive --service hiveserver2
複製代碼
你的頁面會一直卡在這裏,這是正常的,由於你是啓動了一個服務
orm
(root啓動)
#進入beeline
[root@master ~]# beeline
#鏈接10000端口
beeline> !connect jdbc:hive2://192.168.134.154:10000
Connecting to jdbc:hive2://192.168.134.154:10000
Enter username for jdbc:hive2://192.168.134.154:10000: root #用戶名root
Enter password for jdbc:hive2://192.168.134.154:10000: **** #密碼root
# 查看是否可以使用
0: jdbc:hive2://192.168.134.154:10000> show databases;
+----------------+
| database_name |
+----------------+
| default |
+----------------+
1 row selected (2.51 seconds)
複製代碼