在Hadoop1.2.1分布式集群环境下安装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
在Hadoop1.2.1分布式集群环境下安装hive0.12的更多相关文章
- 分布式集群环境下,如何实现session共享五(spring-session+redis 实现session共享)
这是分布式集群环境下,如何实现session共享系列的第五篇.在上一篇:分布式集群环境下,如何实现session共享四(部署项目测试)中,针对nginx不同的负载均衡策略:轮询.ip_hash方式,测 ...
- 分布式集群环境下,如何实现session共享四(部署项目测试)
这是分布式集群环境下,如何实现session共享系列的第四篇.在上一篇:分布式集群环境下,如何实现session共享三(环境搭建)中,已经准备好了相关的环境:tomcat.nginx.redis.本篇 ...
- 分布式集群环境下,如何实现session共享三(环境搭建)
这是分布式集群环境下,如何实现session共享系列的第三篇.在上一篇:分布式集群环境下,如何实现session共享二(项目开发)中,准备好了一个通过原生态的servlet操作session的案例.本 ...
- 分布式集群环境下,如何实现session共享二(项目开发)
在上一篇分布式集群环境下,如何实现session共享一(应用场景)中,介绍了在分布式集群下,需要实现session共享的应用场景.并且最后留下了一个问题:在集群环境下,如何实现session的共享呢? ...
- 基于HBase Hadoop 分布式集群环境下的MapReduce程序开发
HBase分布式集群环境搭建成功后,连续4.5天实验客户端Map/Reduce程序开发,这方面的代码网上多得是,写个测试代码非常容易,可是真正运行起来可说是历经挫折.下面就是我最终调通并让程序在集群上 ...
- 分布式集群环境下,如何实现session共享一(应用场景)
在web应用中,由于http的请求响应式,无状态.要记录用户相关的状态信息,比如电商网站的购物车,比如用户是否登录等,都需要使用session.我们知道session是由servlet容器创建和管理, ...
- Ubuntu14(64位) 集群环境下安装Hadoop2.4
经过前边的积累,今天最终实现了集群环境下部署Hadoop.并成功执行了官方的样例. 工作例如以下: 两台机器: NameNode:上网小本,3G内存.机器名:YP-X100e,IP:192.168.1 ...
- elasticsearch与mongodb分布式集群环境下数据同步
1.ElasticSearch是什么 ElasticSearch 是一个基于Lucene构建的开源.分布式,RESTful搜索引擎.它的服务是为具有数据库和Web前端的应用程序提供附加的组件(即可搜索 ...
- 分布式集群环境下运行Wordcount程序
1.分布式环境的Hadoop提交作业方式与本地安装的Hadoop作业提交方式相似,但有两点不同: 1)作业输入输出都存储在HDFS 2)本地Hadoop提交作业时将作业放在本地JVM执行,而分布式集群 ...
随机推荐
- C#委托详解(3):委托的实现方式大全(续)
接上篇(C#委托详解(2):实现方式大全),本篇继续介绍委托的实现方式. 4.Action<T>和Func<T>委托 使用委托时,除了为每个参数和返回类型定义一个新委托类型之外 ...
- Grails 1.2参考文档速读(10):Controller
转载:http://keyvalue.blog.51cto.com/1475446/303260 从本篇起,我们将开始进入Grails的Web层,首先让我们从Controller说起. G ...
- From 《Soft Skill》——Chapter 69. My personal success book list
There have been many excellent books that have greatly influenced what I believe and how I behave. I ...
- 自己学习编程时间比较短,现在把一下自己以前刚刚接触C++时的程序上传一下,有空可以看看
键盘输入十个数,找出最大值和最小值. #include<iostream.h>void main (){int a[10];int i,t,max,min;cout<<&quo ...
- 第六周博客技术发表 C语言代码
#include <stdio.h> /*使用printf要包含的头文件*/#include <conio.h>void main(void) /*主 ...
- Python大数据依赖包安装
一.安装 先安装python2.7.6,win下的numpy这些包需要直接匹配版本,然后安装“numpy-1.8.1-win32-superpack-python2.7”和“scipy-0.16.0- ...
- while小问题
while(!m_SMque.pop(data)); 看到这个有点忘了,如果pop返回false会一直执行pop,其实这个执行的是空语句,而while每次执行都需要判断条件,所以如果pop返回fals ...
- 一个利用window.name实现的windowStorage
//key:value|key:value var windowStorage = { _inited: false, _data: {}, init: function(str) { var tmp ...
- ASP.NET制作一个简单的等待窗口
前一阵做一个项目,在处理报表的时候时间偏长,客户提出要做出一个等待窗口提示用户等待(页面太久没反映,用户还以为死了呢).在分析这一需求之后,觉得如果要实现像winform应用中的processbar太 ...
- DELPHI 获取本月 的第一天 和 最后一天
USER :DateUtils 使用 StartOfTheMonth 和 EndOfTheMonth 函数获取即可: procedure TForm1.btn1Click(Sender: TObj ...