您的位置:首页 > 运维架构

Hive 安装及测试一

2015-10-16 09:49 375 查看
前几节演示了hadoop以及hbase的集群安装和简单实例,下面我们说一下hadoop的成员hive数据仓库的安装配置,及使用实例。hive是以及hadoop之上的,所以我们需要在hadoop的环境下,安装配置hive。我们延续《hadoop2高可用集群配置安装》中的环境来配置安装hive,在study-93机器上安装hive。

一、安装配置mysql

由于hive需要使用关系型数据库存储表信息,目前支持derby  mssql  mysql  oracle  postgres数据,下面的实例我们使用mysql数据库。

关于mysql数据库的安装和配置参考:http://www.centoscn.com/mysql/2014/0812/3481.html

创建数据库hive 及用户hive并授予相应权限

create database hive;
grant all on hive.* to hive@'%' identified by '123456';
grant all on hive.* to hive@'localhost' identified by '123456';
grant all on hive.* to hive@'study-93' identified by '123456';
flush privileges;
二、安装hive

解压apache-hive-1.2.1-bin.tar.gz

tar -zxvf apache-hive-1.2.1-bin.tar.gz

mv apache-hive-1.2.1-bin  hive-1.2.1

添加环境变量

vi ~/.bash_profile 

export HIVE_HOME=/home/hadoop/hive-1.2.1

export PATH=$PATH:$HIVE_HOME/bin

使其有效

source ~/.bash_profile 

三、配置hive

cd hive-1.2.1/conf

cp hive-env.sh.template hive-env.sh

cp hive-default.xml.template hive-site.xml

cp beeline-log4j.properties.template beeline-log4j.properties

cp hive-exec-log4j.properties.template hive-exec-log4j.properties

cp hive-log4j.properties.template hive-log4j.properties

mkdir -p ~/hive-1.2.1/{logs,tmp}

配置hive-env.sh

vi hive-env.sh

HADOOP_HOME=/home/hadoop/hadoop-2.6.0
export HIVE_CONF_DIR=/home/hadoop/hive-1.2.1/conf
export HIVE_AUX_JARS_PATH=/home/hadoop/hive-1.2.1/lib
配置hive-site.xml,配置上mysql数据连接、驱动、用户名和密码

vi hive-site.xml

<property>
<name>javax.jdo.option.ConnectionURL</name>
<value>jdbc:mysql://192.168.1.80: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>
再将${system:java.io.tmpdir}替换为/home/hadoop/hive-1.2.1/tmp,将${system:user.name}替换为hive

修改hive-log4j.properties,

hive.log.dir=/home/hadoop/hive-1.2.1/logs

修改hive-exec-log4j.properties

hive.log.dir=/home/hadoop/hive-1.2.1/logs

最后把mysql的驱动包拷贝到Hive安装路径下的lib目录。

四、启动

hive 有三种启动方式

1、hive命令行模式,直接输入bin/hive的执行程序,或者输入 hive –service cli

       用于linux平台命令行查询,查询语句基本跟mysql查询语句类似

2、hive web界面的启动方式,hive –service hwi  

      用于通过浏览器来访问hive,需要配置指定war文件,感觉没多大用途

3、hive 远程服务 (端口号10000) 启动方式,nohup hive –service hiveserver  & 

      用java等程序实现通过jdbc等驱动的访问hive就用这种起动方式了,这个是程序员最需要的方式了

 启动hive service :$HIVE_HOME/bin/hive --service hiveserver 10001 >/dev/null 2>/dev/null &

 相关的jar包下载:http://mvnrepository.com/artifact/org.apache.hive/hive-service

启动hive时报如下的错误[ERROR] Terminal initialization failed; falling back to unsupported

解决办法:由于hive 1.2.0自带的jline包跟hadoop 2.6.0自带的版本不一致,因此需要将$HIVE_HOME/lib/jline-2.12.jar 这个文件替换掉$HADOOP_HOME/share/hadoop/yarn/lib 下原来的版本 (即:将旧版本删除,复制新版本到此目录),否则hive启动将失败。

启动完成之后,我们可以看一下mysql数据库hive,会自动创建一些表TBLS存储表信息,COLUMNS_V2存储表中列信息等

参考文章

1.Hive安装与配置——深入浅出学Hive

2.Hive安装及使用攻略
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  hadoop hive