Hive的安装和配置

Hive是基于Hadoop的一个数据仓库工具,可以将结构化的数据文件映射为一张数据库表,通过类SQL语句快速实现简单的MapReduce统计,并且不必开发专门的MapReduce应用,十分适合数据仓库的统计分析。Hive支持一种与SQL几乎完全相同的语言HiveQL,除了不支持更新、索引和事务。它可以看成是从SQL到Map-Reduce的映射器,提供shell、JDBC/ODBC、thrift、Web等接口。

一.独立模式安装

在这种模式下,Hive支持多用户会话,需要一个独立的元数据库,常用的是使用MySQL作为元数据库。

1.下载hive并解压。我下载的是hive-0.11.0版本,解压到/usr/hive-0.11.0

2.设置环境变量。vi  ~/.bash_profile增加如下环境变量:

HIVE_HOME=/usr/hive-0.11.0
HADOOP_HOME=/usr/hadoop-1.1.2
JAVA_HOME=/usr/java/jdk1.6.0_38
PATH=$JAVA_HOME/bin:$HIVE_HOME/bin:$HADOOP_HOME/bin:$PATH
CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$HIVE_HOME/lib:$JAVA_HOME/lib/tools.jar
export HADOOP_HOME
export JAVA_HOME
export HIVE_HOME
export PATH
export CLASSPATH 

3.安装MySql,并添加一个用户(用户名:hive 密码:hive)赋予其权限

mysql> create user 'hive' identified by 'hive';
Query OK, 0 rows affected (0.02 sec)

mysql>  GRANT ALL PRIVILEGES ON *.* TO 'hive'@'localhost' IDENTIFIED BY 'hive' WITH GRANT OPTION;
Query OK, 0 rows affected (0.00 sec)

mysql> flush privileges;
Query OK, 0 rows affected (0.00 sec)

mysql> exit

4.在Hive安装目录的conf目录下,将hive-default.xml.template复制一份命名为:hive-site.xml。并修改以下内容,配置上mysql数据连接、驱动、用户名和密码

<property>
   <name>javax.jdo.option.ConnectionURL</name>
   <value>jdbc:mysql://localhost: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>hive</value>
</property>
<property>
   <name>javax.jdo.option.ConnectionPassword</name>
   <value>123456</value>
</property>
5.修改/usr/hive-0.11.0/conf/hive-log4j.properties
把#log4j.appender.EventCounter=org.apache.hadoop.metrics.jvm.EventCounter修改成如下:
log4j.appender.EventCounter=org.apache.hadoop.log.metrics.EventCounter
6.在hdfs上创建目录
$HADOOP_HOME/bin/hadoop fs -mkidr /tmp
$HADOOP_HOME/bin/hadoop fs -mkidr /user/hive/warehouse
$HADOOP_HOME/bin/hadoop fs -chmod g+w /tmp
$HADOOP_HOME/bin/hadoop fs -chmod g+w /user/hive/warehouse

7.把mysql驱动包(mysql-connector-java-5.0.8.jar)复制到/hive-0.11.0/lib下

8.运行hive,如果没报错说明其安装成功

[root@master hive-0.11.0]# bin/hive

Logging initialized using configuration in file:/usr/hive-0.11.0/conf/hive-log4j.properties
Hive history file=/tmp/root/hive_job_log_root_1266@master_201403012006_694124493.txt
hive> show tables;
OK
Time taken: 7.998 seconds
hive> 

9.安装中遇到的错误:

FAILED: Error in metadata: java.lang.RuntimeException: Unable to instantiate org.apache.hadoop.hive.metastore.HiveMetaStoreClient

FAILED: Execution Error, return code 1 from org.apache.hadoop.hive.ql.exec.DDLTask

原因;a.没有给mysql用户hive设置权限

            b.没有把mysql驱动包复制到/hive-0.11.0/lib中


二.内嵌模式安装
 
  这种安装模式下.元数据保持在内嵌的Derby 数据库中,只能允许一个会话连接,只适用于简单的测试。
 
  1.解压Hive
 
  2.配置环境变量/etc/profile
 
  加入Hive的安装目录,并把Hive的bin目录配置到PATH
 
         HIVE_HOME=/home/coder/hive-0.10.0
         PATH=$HADOOP_INSTALL/bin:$PIG_INSTALL/bin:$JAVA_HOME/bin:$HIVE_HOME/bin:$PATH
  执行 source /etc/profile命令,使得配置生效
 
  3.新建Hive所需目录
 
  在HDFS上建立/tmp和/user/hive/warehouse目录,并赋予组用户写权限。这是Hive默认的数据文件存放目录,可以在hive-site.xml文件中配置。
 
         bin/hadoop fs -mkdir /tmp
         bin/hadoop fs -mkdir /user/hive/warehouse
         bin/hadoop fs -chmod g+w /tmp
         bin/hadoop fs -chmod g+w /user/hive/warehouse

  4.输入hive命令,出现类似下面的内容,说明安装成功。
         $ hive
         Logging initialized using configuration in jar:file:/home/coder/hive-0.10.0/lib/hive-common-0.10.0.jar!/hive-log4j.properties
         Hive history file=/tmp/coder/hive_job_log_coder_201305072118_1272944282.txt
         hive> 
         hive> show tables;
         OK
         Time taken: 24.479 seconds
          hive> exit;






  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值