1.簡單啓動
hive下載官方包解壓進入bin目錄可以直接使用./hive進入客戶端
2.元數據
這時創建數據庫與表,(沒有配置元數據,元數據使用默認的derby內嵌的方式),會在當前目錄下創建metastore_db目錄作爲元數據目錄,退出hive之後進入另一個目錄再一次啓動hive,會生成新的元數據目錄,之前創建的數據庫與表不能被正常讀取(即不顯示這張表)
一般生產環境使用mysql作爲元數據,就可以解決元數據不一致問題
3.標準配置
(1)修改備份文件得到hive-evn.sh 在程序中添加HADOOP_HOME目錄配置
(2)編輯文件hive-size.xml配置mysql元數據,不過不編輯,將使用hive-default.xml文件作爲配置
配置內容
<configuration>
<property>
<name>datanucleus.schema.autoCreateAll</name>
<value>true</value>
</property>
<property>
<name>javax.jdo.option.ConnectionURL</name>
<value>jdbc:mysql://mvlocal:3306/db?createDatabaseIfNotExist=true&serverTimezone=UTC&useSSL=true</value>
</property>
<property>
<name>javax.jdo.option.ConnectionDriverName</name>
<value>com.mysql.jdbc.Driver</value>
</property>
<property>
<name>javax.jdo.option.ConnectionUserName</name>
<value>root</value>
</property>
<property>
<name>javax.jdo.option.ConnectionPassword</name>
<value>123456</value>
</property>
</configuration>
4.將mysql驅動放在lib目錄下(啓動失敗請檢查mysql驅動與mysql版本是否匹配)
5.啓動
Hive 啓動的方式
(1).hive交互shell bin/hive
(2).hive jdbc 服務,參考java jdbc連接mysql
(3).hive啓動爲一個服務
啓動服務bin/hiveserver2
或者 nohup bin.hiveserver2 1>./hiveserver.log 2>hiveserver.err &
~~~~
啓動成功後,在別的節點上用beeline去連接
bin/beeline
! connect jdbc:hive2://mini1:10000
(4).使用hive命令
hive -e 'sql語句'
bin/hive -e "select * from t_test"
6.啓動異常
( User: root is not allowed to impersonate root ) 解決方式
修改hadoop核心配置文件 core-site.xml
<property>
<name>hadoop.proxyuser.root.hosts</name>
<value>*</value>
</property>
<property>
<name>hadoop.proxyuser.root.groups</name>
<value>*</value>
</property>
重啓hadoop