hive搭建

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&amp;serverTimezone=UTC&amp;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

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章