Hadoop_Hive遠程模式部署/beeline客戶端的連接使用


使用beeline客戶端

Hadoop_Hive遠程模式/hive客戶端繼續

與本地模式不同的是,遠程模式只需要安裝hive即可,不需要對其進行hive-site.xml的配置

啟動metastore服務

hive本地模式和遠程模式都要用的服務

啟動方式:

使用hive的bin目錄下的hive命令:bin/hive --service metabase

啟動hiveserver2服務

hiveserver2又簡稱 HS2 是hive遠程模式,beeline要用到的服務

不知道諸佬是否還記得我們之前在配置hadoop102的hive-site.xml時添加過一下這段code

<!-- H2S運行綁定host -->
    <property>
        <name>hive.server2.thrift.port</name>
        <value>10000</value>
        <!-- 此處的10000就是hiveserver2需要占用的端口需要保證在啟動此服務前此端口沒有被占用 -->
    </property>
    <property>
        <name>hive.server2.thrift.bind.host</name>
        <value>hadoop102</value>
    </property>

這段code就是用來把hiveserver2(HS2)綁定到host(hadoop102)的,正常情況下,這些都是我們配置好的

啟動方式:

使用hive的bin目錄下的hive命令:bin/hive --service hiveserver2

hiveserver2服務啟動比較慢,可能會顯示幾個ID后才能完全啟動

啟動不成功會造成后續beeline客戶端連接不到hadoop102

檢查是否啟動成功的方式很簡單,就是看HS2的端口是否被HS2占用了,使用命令sudo netstat -anp|grep 10000,在此命令查詢到任何信息前都可視作沒有啟動成功

使用beeline客戶端連接到hadoop102

還記得hadoop中的core-site.xml中的code嗎

<!-- 整合hive -->
    <property>
    <name>hadoop.proxyuser.root.hosts</name>
    <value>*</value>
    </property>
    <property>
    <name>hadoop.proxyuser.root.groups</name>
    <value>*</value>
    </property>

用做整合hive

到此正常情況下,這些配置都是正常的,所以我們可以直接在集群打開,兩個服務啟動后連接hadoop102了

在hadoop103中運行beeline

在hive根目錄下使用bin/beeline即可

進入beeline后使用命令! connect jdbc:hive2://hadoop102:10000訪問1000端口來連接到hadoop102

會讓輸入賬號密碼,賬號密碼都是如上我們之前在hadoop102的core-site.xml中設置的,根據上面的code,賬號就是root,密碼就是空

回車

觀察到

image

恭喜連接成功了

如果連接失敗則可檢查上述的兩段代碼處是否配置正確,修改之后切記一定要重啟集群后再嘗試連接

但本蒟蒻在此wa了無數次,背后原因令人&%¥#@

我在登錄時輸入root和密碼空后顯示一堆錯誤

后來也沒查找到原因,但本蒟蒻注意到自己平時都是在使用cheetah這個用戶進行操作的,可能這里輸入root會有問題吧,於是我又回到core-site.xml中添加了cheetah用戶和密碼空,保存,重啟集群,再試一遍,過了!離譜,不管了

不管這里是用什么用戶登錄的,要確保此用戶對HDFS有讀寫權,這樣才能更改或查詢HDFS中的內容

番外_更加好的hivesql編程體驗

在beeline中編寫sql,沒有任何提示,很不方便

后續本蒟蒻會用DataGrip(DG)來繼續hive的學習

配置DataGrip

加載Apache Hive 啟動文件

Database欄一般在(DG)的側邊欄中

image

加載hive的驅動

image

注意驅動版本需要與自己的hive版本一致。

創建新會話

image

image

這樣就可以在會話中進行sql編寫了,至於其他的功能,就請諸佬探索吧

🎊\(\mathcal{The}\) \(\mathcal{End}\)🎉


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM