在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

posted @ 2013-07-03 18:19  gerifeng  阅读(3233)  评论(0编辑  收藏  举报