1. 程式人生 > >hive-2.3.2配置步驟及問題解答

hive-2.3.2配置步驟及問題解答

本人搭建好的hadoop環境為在CentOS7上搭建的hadoop-2.8.2的HA環境

1.將apache-hive-2.3.2-bin.tar.gz包拷到伺服器上,並使用tar -zxvf apache-hive-2.3.2-bin.tar.gz命令進行解壓

2.進入解壓好的apache-hive-2.3.2-bin目錄找到conf目錄,將hive-default.xml.template檔案拷貝一份,並且重新命名為hive-site.xml 

3.將一下配置加入到hive-site.xml 檔案中開頭(標籤<value>中的內容自己定義)

  <property>
     

<name>system:java.io.tmpdir</name>
     <value>/home/apache-hive/tmpdir</value>
  </property>
  <property>
     <name>system:user.name</name>
     <value>hive</value>
   </property>

4.安裝mysql,此處省略mysql的安裝步驟,博主安裝的mysql為mysql5.7,安裝完成後啟動mysql,執行grant all on *.* to root@'%' identified by '123456'; 語句給任意ip登入資料庫的使用者授權,並且執行create database hive; 語句建立一個名叫hive的資料庫

5.在官網下載mysql的jdbc驅動包,博主下載的為mysql-connector-java-5.1.45.tar.gz,將該驅動包放在伺服器上,使用tar -zxvf mysql-connector-java-5.1.45.tar.gz命令進行解壓,生成mysql-connector-java-5.1.45檔案,將該檔案中的mysql-connector-java-5.1.45-bin.jar包放在hive目錄下的lib檔案中

6.再次進入到hive目錄中的conf檔案中,配置hive-site.xml檔案,利用vi編輯器中的搜尋功能(Esc模式下輸入 / ),分別找到javax.jdo.option.ConnectionURL,javax.jdo.option.ConnectionDriverName,javax.jdo.option.ConnectionUserName,javax.jdo.option.ConnectionPassword 這四項配置,其中這四項的<value>分別填:<value>jdbc:mysql://centos1:3306/hive?characterEncoding=utf8&amp;useSSL=false</value>,<value>com.mysql.jdbc.Driver</value>,<value>root</value>,<value>123456</value>。(注:這裡的centos1是博主伺服器的主機名)

7.進入hive目錄的bin檔案中使用 ./schematool -dbType mysql -initSchema 進行元資料庫初始化

8.初始化完成後,使用./hive命令啟動hive,出現hive>的時候,就可以使用了。

此次博主配置hive出現的問題:

1.hive啟動的時候總是報${system:java.io.tmpdir}找不到路徑,使用上述的步驟3即可解決。

2.出現useSSL=false的警告時需要將上述的步驟6中javax.jdo.option.ConnectionURL按照博主的value值進行配置即可。

3.出現Unable to instantiate org.apache.hadoop.hive.ql.metadata.SessionHiveMetaStoreClient 異常的時候,只需要執行上述的步驟7即可解決。