在Hadoop偽分布式模式下安裝Hive(derby,mysql)


我的Hadoop版本是1.2.0,mysql版本是5.6.12.

先介紹一下嵌入式derby模式:

1.下載/解壓

     在hive官網上選擇要下載的版本,我選擇的版本是hive-0.10.0.

下載好解壓到:/usr/local/hadoop,因為我的hadoop安裝在了這個文件下

leefon@ubuntu:~/Download$ sudo tar xzf hive-0.10.0.tar.gz -C /usr/local/hadoop
leefon@ubuntu:~/Download$ cd /usr/local/hadoop

之后便可以在/usr/local/hadoop目錄下看到hive-0.10.0文件夾,將其更名為hive,並將用戶權限更改為hadoop

leefon@ubuntu:/usr/local/hadoop$ sudo mv hive-0.10.0 hive
leefon@ubuntu:/usr/local/hadoop$ sudo chown -R hadoop:hadoop hive

2.為hive添加環境變量

在/etc/profile中修改

leefon@ubuntu:/usr/local/hadoop$ sudo vim /etc/profile

 

添加:HIVE_HOME,下面是我在/etc/profile設置的環境變量:

修改之后,保存,退出,然后執行

leefon@ubuntu:/usr/local/hadoop$ source /etc/profile

使其立即生效。

3.修改hive的配置文件

hive的配置文件放在HIVE_HOME/conf目錄下,我們需要修改hive-env.sh和hive-site.xml這兩個文件。ls之后發現並沒有這兩個文件,但是有hive-env.sh.template,hive-default.xml.template,我們須復制這兩個文件,並分別命名為hive-env.sh,hive-site.xml。一般還有一個hive-default.xml文件,同樣由hive-default.xml.template復制而來。hive-default.xml是默認配置,hive-site.xml是個性化配置,將會覆蓋hive-default.xml配置。切換到hadoop用戶下,並復制兩個文件:

leefon@ubuntu:/usr/local/hadoop/hive/conf$su hadoop
輸入hadoop用戶的密碼:
hadoop@ubuntu:/usr/local/hadoop/hive/conf$cp hive-default.xml.template hive-default.xml
hadoop@ubuntu:/usr/local/hadoop/hive/conf$cp hive-default.xml.template hive-site.xml
hadoop@ubuntu:/usr/local/hadoop/hive/conf$cp hive-env.sh.template hive-env.sh
  • 配置hive-env.sh

用vim打開

將export HADOOP_HEAPSIZE=1024前面的‘#’去掉,當然可以根據自己的環境對這個默認的1024進行優化;

將export HADOOP_HOME前面的‘#’號去掉,並讓它指向您所安裝hadoop的目錄,我的/usr/local/hadoop;

將export HIVE_CONF_DIR=/usr/local/hadoop/hive/conf,並且把‘#’號去掉;

將export HIVE_AUX_JARS_PATH=/usr/local/hadoop/hive/lib,並且把‘#’號去掉。

esc(鍵) :wq

source ./hive-env.sh(生效文件)

  • 配置hive-site.xml

首先創建相應的目錄,以便與配置文件的路徑相對應:

hadoop@ubuntu:/usr/local/hadoop/hive$ mkdir /usr/local/hadoop/hive/warehouse
hadoop@ubuntu:/usr/local/hadoop/hive$ mkdir /usr/local/hadoop/hive/log

vim hive-site.xml,需要修改三處:

<property>
  <name>hive.metastore.warehouse.dir</name>
  <value>/user/hive/warehouse</value>
  <description>location of default database for the warehouse</description>
</property>
#臨時文件目錄,這個沒有可以添加進去
<property>
<name>hive.exec.scratdir</name>
<value>/usr/local/hadoop/hive/tmp</value>
</property>
#存放hive相關日志的目錄
<property>
  <name>hive.querylog.location</name>
  <value>/usr/local/hadoop/hive/log</value>
  <description>
    Location of Hive run time structured log file
  </description>
</property>

其余的使用默認的就行。

還有一個重要的修改,否則啟動會報警告

hadoop@ubuntu:/usr/local/hadoop/hive$ bin/hive
WARNING: org.apache.hadoop.metrics.jvm.EventCounter is deprecated. Please use org.apache.hadoop.log.metrics.EventCounter in all the log4j.properties files.

解決的辦法就是在 hive-log4j.properties 中將 log4j.appender.EventCounter 的值修改為
org.apache.hadoop.log.metrics.EventCounter,這樣就不會報。該文件同樣在目錄HIVE_HOME/conf下面。

4.啟動hive

hadoop@ubuntu:/usr/local/hadoop/hive$ bin/hive  
hadoop@ubuntu:/usr/local/hadoop/hive$ hive> show tables;  

 


 

下面是配置mysql模式下的Hive

1.為mysql專門為hive添加用戶

mysql> CREATE USER 'hive'@'localhost' IDENTIFIED BY 'hive';  
mysql> GRANT ALL PRIVILEGES ON *.* TO 'hive'@'localhost' WITH GRANT OPTION; 

2.修改配置文件hive-site.xml

<property>
  <name>hive.metastore.local</name>
  <value>true</value>
</property>

<property>
  <name>javax.jdo.option.ConnectionURL</name>
  <value>jdbc:mysql://localhost:3306/hive?createDatabaseIfNotExist=true</value>
  <description>JDBC connect string for a JDBC metastore</description>
</property>

<property>
  <name>javax.jdo.option.ConnectionDriverName</name>
  <value>com.mysql.jdbc.Driver</value>
  <description>Driver class name for a JDBC metastore</description>
</property>

<property>
  <name>javax.jdo.option.ConnectionUserName</name>
  <value>hive</value>
  <description>username to use against metastore database</description>
</property>

<property>
  <name>javax.jdo.option.ConnectionPassword</name>
  <value>hive</value>
  <description>password to use against metastore database</description>
</property>

3.添加jdbc的jar包

在mysql的官網上下載jdbc,我使用的版本是5.1.25。解壓,拷貝到HIVE _HOME/lib目錄下

leefon@ubuntu:~/Download$ tar -xvzf mysql-connector-java-5.1.25.tar.gz  
leefon@ubuntu:~/Download$ cp mysql-connector-java-5.1.25/*.jar /usr/local/hadoop/hive/lib  

4.啟動hive

hadoop@ubuntu:/usr/local/hadoop/hive$ bin/hive  
hadoop@ubuntu:/usr/local/hadoop/hive$ hive> show tables;  

參考: http://www.cnblogs.com/inuyasha1027/archive/2013/02/14/2911182.html

            http://www.cnblogs.com/linjiqin/archive/2013/03/04/2942402.html

            http://www.fuzhijie.me/?p=377

            http://visionsky.blog.51cto.com/733317/898497

            http://running.iteye.com/blog/908038


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM