Hadoop家族安装系列(3)——hive0.12安装


在Hadoop1.2.1分布式集群环境下安装hive0.12

 

● 前言:

1. 大家最好通读一遍过后,在理解的基础上再按照步骤搭建。

2. 之前写过两篇<<在VMware下安装Ubuntu并部署Hadoop1.2.1分布式环境>>、《在Hadoop1.2.1分布式集群环境下安装Mahout0.9框架》都是Hadoop家族一系列的,后续还会有其它内容,敬请期待!

3. 好记性不如烂笔头,最新突然想把自己学习的东西整理出来,然而我也是刚刚学习,而且水平有限,难免会错误,请谅解并指正,如有什么问题可以留言咨询。

一、推荐阅读文章

在VMware下安装Ubuntu并部署Hadoop1.2.1分布式环境

在Hadoop1.2.1分布式集群环境下安装Mahout0.9框架

二、前提条件

    Hadoop1.2.1分布式集群环境搭建成功,并且Hadoop集群服务器正常运行。

三、所需环境与软件

1. Hadoop分布式集群环境:

见《在VMware下安装Ubuntu并部署Hadoop1.2.1分布式环境》。

2.  Hive0.12: hive-0.12.0.tar.gz

四、安装与配置

1. 下载hive-0.12.0.tar.gz,并使用以下命令解压。

    tar -zxvf hive-0.12.0.tar.gz

解压后文件夹为:hive-0.12.0

2. 移动hive-0.12.0到opt目录下,命令如下。

    sudo mv hive-0.12.0 /opt/hive-0.12.0

3. 设置hive的环境变量

如(图1)所示,使用命令 sudo gedit /etc/profile  打开文件后,在文件最后面加入:

    export HIVE_HOME=/opt/hive-0.12.0

    export CLASSPATH=${CLASSPATH}:${HIVE_HOME}/lib

    export PATH=${PATH}:${HIVE_HOME}/bin


(图1)

备注:最后要使用命令:source /etc/profile  使环境变量立即生效。

4. 创建hive-env.sh、hive-site.xml文件,如(图2)所示。

    cd /opt/hive-0.12.0/conf

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

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


(图2)

5. 修改hive-env.sh文件,如(图3)所示。

    HADOOP_HOME=/opt/hadoop-1.2.1

    export HIVE_CONF_DIR=/opt/hive-0.12.0/conf 


(图3)

6. 修改hive-site.xml文件,如(图4,图5)所示。

 有两处需要修改的:

    (1) hive-site.xml文件最后面,大约2000行作业,把

     <value>auth</auth>修改为<value>auth</value>。


(图4)

(2) 把hive.metastore.schema.verification=true,修改为

    hive.metastore.schema.verification=false。

意思是:(强制metastore的schema一致性,开启的话会校验在metastore中存储的信息的版本和hive的jar包中的版本一致性,并且关闭自动schema迁移,用户必须手动的升级hive并且迁移schema,关闭的话只会在版本不一致时给出警告,默认是false不开启.)


(图5)

备注:如果不修改成false的话会报一下错误:

FAILED: Execution Error, return code 1 from org.apache.hadoop.hive.ql.exec.DDLTask. java.lang.RuntimeException: Unable to instantiate org.apache.hadoop.hive.metastore.HiveMetaStoreClient

7. 到此hive安装完成,下面运行和测试下是否安装成功。

五、运行和测试

1. 使用 start-all.sh 命令启动hadoop集群,并使用jps查看是否启动成功,如(图6)所示。


(图6)

2. 首次使用的时候,需要使用 hive --service cli 命令,来启动hive命令行模式,如(图7)所示。

然后使用命令:

show tables;

create table test1(id int,name string);

select * from test1;

drop table test1;

来测试HiveQL是否能使用。


(图7)

备注:首次如果不使用hive --service cli 命令,来启动hive命令行模式,会报如下错误:

FAILED: Execution Error, return code 1 from org.apache.hadoop.hive.ql.exec.DDLTask. java.lang.RuntimeException: Unable to instantiate org.apache.hadoop.hive.metastore.HiveMetaStoreClient

再次使用的时候就不需要使用hive --service cli 命令了。

3. 如果出现如(图7)所示页面,说明运行和测试成功。

备注:可以使用以下命令使报错更详细一点:

hive -hiveconf hive.root.logger=DEBUG,console

 

2014年3月8日

 

猜你喜欢

转载自gaoxianwei.iteye.com/blog/2028401