hive的安裝(包括mysql)

逸卿發表於2014-05-08

1.Hive簡介

1.1hadoop生態圈中屬於資料倉儲的角色。他能夠管理hadoop中的資料,同時可以查詢hadoop中的資料。

  本質上講,hive是一個SQL解析引擎。Hive可以把SQL查詢轉換為MapReduce中的job來執行。

  hive有一套對映工具,可以把SQL轉換為MapReduce中的job,可以把SQL中的表、欄位轉換為HDFS中的檔案()以及檔案中的列。

  這套對映工具稱之為metastore,一般存放在derbymysql中。

1.2 hivehdfs中的預設位置是/user/hive/warehouse,是由配置檔案hive-conf.xml中屬性hive.metastore.warehouse.dir決定的。

2.hive的安裝

  (1)解壓縮、重新命名、設定環境變數

  (2)在目錄$HIVE_HOME/conf/下,執行命令mv hive-default.xml.template  hive-site.xml重新命名

     在目錄$HIVE_HOME/conf/下,執行命令mv hive-env.sh.template  hive-env.sh重新命名

  (3)修改hadoop的配置檔案hadoop-env.sh,修改內容如下:

     export HADOOP_CLASSPATH=.:$CLASSPATH:$HADOOP_CLASSPATH:$HADOOP_HOME/bin

  (4)在目錄$HIVE_HOME/bin下面,修改檔案hive-config.sh,增加以下內容:

     export JAVA_HOME=/usr/local/jdk

     export HIVE_HOME=/usr/local/hive

     export HADOOP_HOME=/usr/local/hadoop

3.安裝mysqlserver端和client端)

  (1)刪除linux上已經安裝的mysql相關庫資訊。rpm  -e  xxxxxxx   --nodeps

     執行命令rpm -qa |grep mysql 檢查是否刪除乾淨

  (2)執行命令 rpm -i   mysql-server-********  安裝mysql服務端  

  (3)啟動mysql 服務端,執行命令  mysqld_safe &

  (4)執行命令 rpm -i   mysql-client-********  安裝mysql客戶端

  (5)執行命令mysql_secure_installation設定root使用者密碼

  (6)預設情況下,mysql是不允許hive連線的,要在mysql的客戶端授權,命令是:grant all on hive.* to ‘root’@’%’ identified by ‘你的密碼’; ,再重新整理下,命令:flush privileges;

4. 使用mysql作為hivemetastore

  (1)mysqljdbc驅動放置到hivelib目錄下(因為hive要連線mysql

  (2)修改hive-site.xml檔案,修改內容如下:  

<property>

<name>javax.jdo.option.ConnectionURL</name>

//mysql中對應的資料庫的名稱

<value>jdbc:mysql://hadoop0:3306/hive?createDatabaseIfNotExist=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>admin</value>

</property>

相關文章