hive以hadoop集群為基礎,提供hdfs的sql支援;
介紹hive的遠端訪問:
未配置之前使用beeline的話,每次都要為連線輸入使用者名稱密碼,較為麻煩;
實現目標:在非集群節點上敲beeline命令,直接進入到hive的命令列
1,在hive服務的安裝節點的hive-site.xml配置檔案中新增以下配置,配置beeline的遠端訪問使用者名稱和密碼
hive.server2.thrift.client.user
root
username to use against thrift client
hive.server2.thrift.client.password
password
password to use against thrift client
2,保證hadoop集群環境正常執行,另外重要的一點是要在hive的服務安裝節點開啟hiveserver2
直接執行hiveserver2會一直停留在列印hive的操作日誌的狀態,可以改為後台執行
3,把hadoop的安裝資料夾和hive的安裝資料夾copy到要配置hive客戶端的這個linux上面,我測試的版本為hadoop-2.7.6,apache-hive-1.2.2-bin,並配置環境變數/etc/profile,記得source一下哦
注意:不配置hadoop_home,執行beeline會提示缺少hadoop_home引數,你可以理解為需要連線集群的位址,如master:9000的相關配置是在hdfs-site.xml中
hive是需要這些資訊連線集群環境的,畢竟hive是在操作hdfs上的檔案
4,配置命令;經過上面那三個步驟,其實你已經可以使用beeline -u jdbc:hive2: -n root --color=true --silent=false 來遠端登入hive了
但是看著這一長串的命令,懶癌犯了。。。配置乙個簡單點的命令吧。想到的乙個辦法就是alias自定義命令,並把它配置到環境變數中,在~/.bashrc中新增
alias beeline="/opt/software/hive/apache-hive-1.2.2-bin/bin/beeline -u jdbc:hive2://ip:10000 -n root --color=true --silent=false"
source ~/.bashrc即可,需要注意的是beeline使用了絕對路徑,因為我新生成的命令就叫beeline,為避免衝突,寫了絕對路徑,當然你可以改成其他命令
5,最後測試一下,敲出beeline命令即可進入到遠端hive的命令列
hive的beeline連線方式
補充 關於後台執行任務的一些補充 1.這個用在乙個命令的最後,可以把這個命令放到後台執行 2.ctrl z 可以將乙個正在前台執行的命令放到後台,並且暫停 3.jobs 檢視當前有多少在後台執行的命令 4.fg 將後台中的命令調至前台繼續執行 如果後台中有多個命令,可以用 fg 後台程序號,將選中的...
hive 以beeline的模式啟動
beeline啟動之前先確保 metastore以及hiveserver2服務已經啟動 hive 啟動元資料服務 nohup hive service metastore hive 啟動 hiveserver2 服務 nohup hive service hiveserver2 hive 啟動客戶端...
檢視hive配置
在啟動hive時設定配置屬性資訊 hive config hive 0.9.0 conf 重新載入新的配置檔案 bin hive hiveconf 檢視當前所有的配置資訊 hive set hive set hive.metastore.uris hive db hive set system us...