HIVE部署安装(笔记)
1、下载hive:wget http://mirrors.cnnic.cn/apache/hive/hive-0.12.0/hive-0.12.0.tar.gz
2、解压hive安装文件 tar -zvxf hive-0.12.0.tar.gz
3、配置hive环境变量,初始化hive在hdfs上的工作目录(因此在部署hive之前,请确保已经完整的部署了hadoop,并设置好相关的环境,hadoop版本是2.2.0,才和此hive版本相符)
vi /etc/profile 添加环境变量值
export HIVE_HOME=/home/likehua/hive/hive-0.12.0
export PATH = $HIVE_HOME/bin:$PATH
source /etc/profile 使修改的环境变量立即生效
初始化hadoop 环境变量
./hadoop fs -mkdir /tmp
./hadoop fs -mkdir /usr/hive/warehouse
./hadoop fs -chmod g+w /tmp
./hadoop fs -chmod g+w /usr/hive/warehouse
配置hive相关的配置文件:/home/likehua/hive/hive-0.12.0/conf
讲hive-default.xml.template改为hive-site.xml
hive-log4j.properties.template改为hive-log4j.properties
hive-exec-log4j.properties.template改为hive-exec-log4j.properties
执行命令:cd $HIVE_HOME/bin ./hive
默认将会进入hive的控制台,执行:show tables;如果不出错,则表明默认版本的hive安装成功
(其实会报错,是一个xml的错误,没有想到hive的发布版,xml居然也会有错误,汗!xml的开始标签和结束标签要
一致,根据错误信息,将auth标签改为value,ok。
如果报错“SLF4J: Actual binding is of type [org.slf4j.impl.Log4jLoggerFactory]
MetaException(message:Version information not found in metastore. )” 则修改hive-site.xml中hive.metastore.schema.verification 为false
)。
默认版本hive的metastore保存在一个叫derby的数据库的,该
数据库是一个嵌入式数据库,如果同时有两个人或者多个人操作,就会报错。下面介绍,如果将hive的metasotre
信息保存到关系型数据库中,本文以oracle为例,具体步骤如下:
1)、下载oracle jdbc驱动 ojdbc6.jar,放到$HIVE_HOME/lib文件夹下,如果不存在lib则创建。
2)、修改$HIVE_HOME/conf下配置文件hive-site.xml。主要修改:连接字符串、驱动、用户名、密码等几处。
具体参数有:
连接字符串
<property>
<name>javax.jdo.option.ConnectionURL</name>
<value>jdbc:oracle:thin:@192.98.12.60:1521/ORCL</value>
<description>[jdbc:thin:db11gx64.geoway.net/db11g]JDBC connect string for a JDBC metastore</description>
</property>
数据库jdbc驱动
<property>
<name>javax.jdo.option.ConnectionDriverName</name>
<value>oracle.jdbc.driver.OracleDriver</value>
<description>Driver class name for a JDBC metastore</description>
</property>
用户名
<property>
<name>javax.jdo.option.ConnectionUserName</name>
<value>portal</value>
<description>username to use against metastore database</description>
</property>
密码
<property>
<name>javax.jdo.option.ConnectionPassword</name>
<value>portal</value>
<description>password to use against metastore database</description>
</property>
3)、将上面几处修改以后,在目录$HIVE_HOME/bin下执行./hive 命令进入控制台,执行show talbes;如果不报错,则
表名部署成功,如果失败,则需要在日志文件中定位错误信息(在linux中部署程序,如果没有日志信息,那是很悲剧的。记得上面有修改配置文件的步骤
hive-log4j.properties中,会记录日志的存放路径,默认路径:hive.log.dir=/tmp/${user.name}下面的hive.log文件里,${usr.name}表示
登录的用户名。加入,登录用户为root,那么它的log日志访问路径为:/tmp/root/hive.log.)
日志文件中的错误主要有以下几类:a、数据库驱动不存在。b、数据库连接参数错误。c、表或则视图不存在。
第三种情况较多,因为当你修改默认的metastore存储方式时,在新的数据库中,很多元信息是没有初始化的。需要我们手动在目标数据库中初始化。有关
初始化脚本存放在$HIVE_HOME/scripts/metastore/upgrade目录下,在该目录中默认会有derby、mysql、oracle、postgres几类数据库的初始化或者更新脚本。
由于笔者使用oracle数据库,所以就进入$HIVE_HOME/scripts/metastore/upgrade/oracle目录,进去之后,你会发现有很多sql脚本,真是一团糟,不知道怎么更新
或者初始化怎么办,教你一个土方法,那就是都执行一遍,然后来回启动hive,查看日志解决问题,最终会把问题解决的,但是,实际上有些规律的,找到
010-HIVE-3072.oracle.sql、011-HIVE-3649.oracle.sql、012-HIVE-1362.oracle.sql、013-HIVE-3255.oracle.sql、014-HIVE-3764.oracle.sql这四个脚本依次执行
,由于我的hive的版本是hive-0.12.0,那么我再执行hive-schema-0.12.0.oracle.sql脚本,然后再进入hive shell执行,show tables;如果没有报错,那说明一切ok,
如果还有错误,那么根据日志的错误信息,在网上搜索找到解决方案。
4)、另外一种方式来初始化hive在关系型数据库上的metastore的初始化,但是我一直没有初始化成功,那就是配置好hive以后执行命令 ./hive --service metastore,
此问题以后研究。
HIVE部署安装(笔记)的更多相关文章
- Hadoop 2.2.0部署安装(笔记,单机安装)
SSH无密安装与配置 具体配置步骤: ◎ 在root根目录下创建.ssh目录 (必须root用户登录) cd /root & mkdir .ssh chmod 700 .ssh & c ...
- Hive的安装与部署(MySQL作为元数据库)
Hive的安装与部署(MySQL作为元数据) (开始之前确保Hadoop环境已经启动,确保Linux下的MySQL已经安装好) 1. 安装Hive (1)下载安装包 可从apache上下载hi ...
- 【Hadoop离线基础总结】Hive的安装部署以及使用方式
Hive的安装部署以及使用方式 安装部署 Derby版hive直接使用 cd /export/softwares 将上传的hive软件包解压:tar -zxvf hive-1.1.0-cdh5.14. ...
- Docker学习笔记_04 Rancher的部署安装(编排选用K8S)
原文地址:http://dbase.cc/2018/01/12/docker/04_rancher的部署安装/ 为什么要使用Rancher Rancher是一个开源的企业级容器管理平台.通过Ranch ...
- [Hadoop大数据]——Hive部署入门教程
Hive是为了解决hadoop中mapreduce编写困难,提供给熟悉sql的人使用的.只要你对SQL有一定的了解,就能通过Hive写出mapreduce的程序,而不需要去学习hadoop中的api. ...
- HIve体系结构,hive的安装和mysql的安装,以及hive的一些简单使用
Hive体系结构: 是建立在hadoop之上的数据仓库基础架构. 和数据库相似,只不过数据库侧重于一些事务性的一些操作,比如修改,删除,查询,在数据库这块发生的比较多.数据仓库主要侧重于查询.对于相同 ...
- _00024 尼娜抹微笑伊拉克_云计算ClouderaManager以及CHD5.1.0群集部署安装文档V1.0
笔者博文:妳那伊抹微笑 itdog8 地址链接 : http://www.itdog8.com(个人链接) 博客地址:http://blog.csdn.net/u012185296 博文标题:_000 ...
- 《Programming Hive》读书笔记(一)Hadoop和hive环境搭建
<Programming Hive>读书笔记(一)Hadoop和Hive环境搭建 先把主要的技术和工具学好,才干更高效地思考和工作. Chapter 1.Int ...
- hive的安装和升级
目录 [toc] 安装 升级 安装 nohup hive –service hiveserver & 启动: sudo nohup ./hive --service metastore &am ...
随机推荐
- [BZOJ4557][JLOI2016]侦察守卫(树形DP)
首先可以确定是树形DP,但这里存在跨子树的信息传递问题,这里就需要“借”的思想. f[i][j]表示i子树内所有点都被覆盖到,且i以外j层内的点都能被覆盖到 的方案数. g[i][j]表示i子树内离i ...
- 洛谷.4525.[模板]自适应辛普森法1(Simpson积分)
题目链接 Simpson积分公式:\[\int_a^bf(x)dx\approx\frac{b-a}{6}\left[f(a)+f(b)+4f(\frac{a+b}{2})\right]\] 推导过程 ...
- 【初识】KMP算法入门
举个例子 模式串S:a s d a s d a s d f a s d 匹配串T:a s d a s d f 如果使用朴素匹配算法—— 1 2 3 4 5 6 8 9 a s d a s d a s ...
- 鸟哥的私房菜:Bash shell(五)-数据流重导向
数据流重定向 数据流重导向就是将某个指令执行后应该要出现在屏幕上的数据, 给他传输到其它的地方,例如档案或者是装置 (例如打印机之类的!)!这玩意儿在 Linux 的文字模式底下可重要的! 尤其是如果 ...
- [Database] MongoDB 副本集配置
MongoDB 副本集配置 MongoDB复制是将数据同步在多个服务器的过程. 复制提供了数据的冗余备份,并在多个服务器上存储数据副本,提高了数据的可用性, 并可以保证数据的安全性. 复制还允许您从硬 ...
- 腾讯旗下网站的很多URL都包含“cgi-bin”,是什么意思?他们后台用什么语言?
cgi-bin 这很有可能说明后台是C/C++写的. 动态Web技术刚出来的时候, 服务器调用本地应用程序处理http请求的技术. 通常是C/C++程序. 后来有了新的web开发技术后这类用的就比较少 ...
- jQuery中的观察者模式(Observer Pattern)
在jQuery中,on方法可以为元素绑定事件,trigger方法可以手动触发事件,围绕这2个方法,我们来体验jQuery中的观察者模式(Observer Pattern). ■ on方法绑定内置事件, ...
- ios 中是否每一个对象(尤其是在使用多线程时),都要判断一下对象是否为nil,以防止程序闪退?
如下所示: Class messageClass = (NSClassFromString(@"MFMessageComposeViewController")); if (mes ...
- Selenium2+python自动化41-绕过验证码(add_cookie)
前言 验证码这种问题是比较头疼的,对于验证码的处理,不要去想破解方法,这个验证码本来就是为了防止别人自动化登录的.如果你能破解,说明你们公司的验证码吗安全级别不高,那就需要提高级别了. 对于验证码,要 ...
- [集合框架] List 实现
List 实现分为通用 List 实现和特殊用途的 List 实现. 通用 List 实现 有两个通用的 List 实现 —— ArrayList 和 LinkedList.大多数时候,你可能会使用 ...