Centos7配置安装HIVE

0x00 前言

Hive是一个数据仓库基础工具在Hadoop中用来处理结构化数据。它架构在Hadoop之上,总归为大数据,并使得查询和分析方便。并提供简单的sql查询功能,可以将sql语句转换为MapReduce任务进行运行。引自https://www.yiibai.com/hive/

本次在安装hadoop基础上配置安装HIVE数据仓库。Hadoop安装教程参考Centos7搭建Hadoop伪分布式集群详细步骤

0x01 配置安装HIVE

下载

首先下载HIVE,为了与Hadoop3.2.0,我选择的hive版本为3.1.1

配置环境变量

下载完成后进行解压,根据解压目录自行配置环境变量

1
2
vi .bashrc   //配置环境变量
source .bashrc //使配置生效

修改配置文件

移动到HIVE安装目录下的conf文件夹执行

1
2
3
4
5
6
7
cp hive-env.sh.template hive-env.sh 

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

cp hive-log4j2.properties.template hive-log4j2.properties

cp hive-exec-log4j2.properties.template hive-exec-log4j2.properties

修改hive-env.sh,添加JAVA_HOME,HADOOP_HOME及HIVE配置文件目录,请根据自己环境自行修改如下

Schema初始化

执行schematool -initSchema -dbType derby
执行成功效果如下

如果执行failed,修改hive-3.1.1/scripts/metastore/upgrade/derby目录下的hive-schema-2.1.0.derby.sql
按下图将框中内容使用注释符--注释

重新执行schematool -initSchema -dbType derby

启动HIVE

Schema初始化成功后即可启动hive,命令hive
启动成功如下,如出现报错,请移至文末0x03 问题解决查看笔者记录部分问题解决方法

0x02 HIVE命令


详细命令参考Hive常用命令

0x03 问题解决

expansion character问题


解决方法:修改报错的hive-site.xml,将报错位置3210行第96个字符删掉

${system:xxx}路径错误问题


出现该问题的主要原因是hive配置文件中不能使用冒号目录定义方法,可将其直接修改为目录。
如配置文件中用${system:java.io.tmpdir}定义的路径改为/tmp/,${system:user.name}定义的路径改为${user.name},其他类似
可使用cat -n hive-site.xml |grep system:定位到出现问题的位置

本文标题:Centos7配置安装HIVE

文章作者:boogle

发布时间:2019年04月17日 - 10:00

最后更新:2019年04月17日 - 10:01

原始链接:https://zhengbao.wang/Centos7配置安装HIVE/

许可协议: 署名-非商业性使用-禁止演绎 4.0 国际 转载请保留原文链接及作者。

感觉写的不错,给买个棒棒糖呗