因?yàn)閔ive是基于hadoop的,所以一定要有hadoop的平臺(tái)支撐:
hadoop分布式集群搭建:https://blog.51cto.com/14048416/2341491
安裝步驟:
安裝時(shí)的常見錯(cuò)誤:
注意:使用Derby方式部署的hive,在哪個(gè)工作空間進(jìn)入hive,就會(huì)在哪個(gè)工作空間創(chuàng)建一個(gè)derby.log metastore_db,元數(shù)據(jù)。即元數(shù)據(jù)跟著空間跑,如果下次不在這個(gè)工作空間進(jìn)入,則無法訪問上傳存儲(chǔ)的數(shù)據(jù)。因此這也是使用Derby方式部署的hive的弊端。
首先這里需要MySQL的服務(wù),在集群的任意節(jié)點(diǎn)上配置MySQL。
安裝步驟:
<configuration>
<property>
<name>javax.jdo.option.ConnectionURL</name>
<value>jdbc:mysql://hadoop02:3306/hivedb?createDatabaseIfNotExist=true</value>
<description>JDBC connect string for a JDBC metastore</description>
<!-- 如果 mysql 和 hive 在同一個(gè)服務(wù)器節(jié)點(diǎn),那么請(qǐng)更改 hadoop02 位 localhost -->
</property>
<property>
<name>javax.jdo.option.ConnectionDriverName</name>
Stay hungry Stay foolish -- http://blog.csdn.net/zhongqi2513
<value>com.mysql.jdbc.Driver</value>
<description>Driver class name for a JDBC metastore</description>
</property>
<property>
<name>javax.jdo.option.ConnectionUserName</name>
<value>root</value>
<description>username to use against metastore database</description>
</property>
<property>
<name>javax.jdo.option.ConnectionPassword</name>
<value>root</value>
<description>password to use against metastore database</description>
</property>
</configuration>
<!--指定hive數(shù)據(jù)倉(cāng)庫(kù)的數(shù)據(jù)存儲(chǔ)在hdfs上的目錄:-->
<property>
<name>hive.metastore.warehouse.dir</name>
<value>/user/hive/warehouse</value>
</property>
export HIVE_HOME=/home/hadoop/apps/apache-hive-1.2.1-bin
export PATH=$PATH:$HIVE_HOME/bin
TBLS:管理表的表
COLUMNS_V2:管理字段的表
Connecting to jdbc:hive2://hadoop01:10000
Enter username for jdbc:hive2://hadoop01:10000: hadoop
Enter password for jdbc:hive2://hadoop01:10000: ******
18/10/15 16:30:37 [main]: WARN jdbc.HiveConnection: Failed to connect to hadoop01:10000
Error: Could not open client transport with JDBC Uri: jdbc:hive2://hadoop01:10000: Failed to open new session: java.lang.RuntimeException: org.apache.hadoop.ipc.RemoteException(org.apache.hadoop.security.authorize.AuthorizationException): User: hadoop is not allowed to impersonate hadoop (state=08S01,code=0
報(bào)這個(gè)錯(cuò)誤的原因不是hive本身,而是hive底層所依賴的hdfs的權(quán)限管理提高了,hadoop集群報(bào)出來的。必須做權(quán)限認(rèn)證。
解決方法:
<property>
<name>dfs.webhdfs.enabled</name>
<value>true</value>
</property>
<property>
<name>hadoop.proxyuser.hadoop.hosts</name>
<value>*</value>
</property>
<property>
<name>hadoop.proxyuser.hadoop.groups</name>
<value>*</value>
</property>
<!--core-site.xml這兩個(gè)配置的name中的第二個(gè)hadoop是你的用戶,如果不是hadoop需要修改-->
hive的命令分成兩大類:
- 進(jìn)入hive客戶端之后的操作:
- query:正常的操作語句(查詢+庫(kù)表的DDL操作)
- !linux命令:在hive客戶端中執(zhí)行Linux命令(只能執(zhí)行部分)
- 在hive客戶端中執(zhí)行hadoop相關(guān)命令
hive>!hadoop fs -ls / ; (以Linux命令的形式執(zhí)行) 慢
hive>dfs -ls /; 使用當(dāng)前的hive客戶端的jvm進(jìn)程執(zhí)行 快
常見操作有:
hive>quit; #退出hive的客戶端
hive>set key=value; #設(shè)置hive的參數(shù)
hive>add jar xxx.jar #臨時(shí)的向hive添加jar包
hive>add file #向hive中的classpath中添加file
hive>list jars #查看添加的jar
hive>source file #執(zhí)行一個(gè)腳本(這個(gè)腳本時(shí)存儲(chǔ)在linux上)
- 進(jìn)入hive客戶端之前的操作:
[hadoop hadoop01@~]$ hive -e 'hql' #在linux下執(zhí)行hive語句
[hadoop hadoop01@~]$ hive -f linux中的hql腳本 #在Linux下執(zhí)行hql腳本
[hadoop hadoop01@~]$ hive -h hiveconf key=value # 進(jìn)入hive客戶端,并初始化參數(shù)(只能設(shè)置一個(gè))
[hadoop hadoop01@~]$ hive -i linux參數(shù)文件 #進(jìn)入,hive并執(zhí)行參數(shù)文件中的所有參數(shù)設(shè)置
[hadoop hadoop01@~]$ hive -v #輸出結(jié)果打印到控制臺(tái)
[hadoop hadoop01@~]$ hive -S #不打印日志,經(jīng)常和-e參數(shù)使用
[hadoop hadoop01@~]$ hive -S -e 'hql' >> file #將查詢到的結(jié)果輸出到Linux文件中
另外有需要云服務(wù)器可以了解下創(chuàng)新互聯(lián)scvps.cn,海內(nèi)外云服務(wù)器15元起步,三天無理由+7*72小時(shí)售后在線,公司持有idc許可證,提供“云服務(wù)器、裸金屬服務(wù)器、高防服務(wù)器、香港服務(wù)器、美國(guó)服務(wù)器、虛擬主機(jī)、免備案服務(wù)器”等云主機(jī)租用服務(wù)以及企業(yè)上云的綜合解決方案,具有“安全穩(wěn)定、簡(jiǎn)單易用、服務(wù)可用性高、性價(jià)比高”等特點(diǎn)與優(yōu)勢(shì),專為企業(yè)上云打造定制,能夠滿足用戶豐富、多元化的應(yīng)用場(chǎng)景需求。
網(wǎng)站標(biāo)題:hive的環(huán)境搭建-創(chuàng)新互聯(lián)
轉(zhuǎn)載源于:http://m.newbst.com/article30/coeeso.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供做網(wǎng)站、微信小程序、網(wǎng)站建設(shè)、定制開發(fā)、軟件開發(fā)、服務(wù)器托管
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來源: 創(chuàng)新互聯(lián)
猜你還喜歡下面的內(nèi)容