Hive环境安装

本文涉及的产品
云数据库 RDS MySQL,集群系列 2核4GB
推荐场景:
搭建个人博客
RDS MySQL Serverless 基础系列,0.5-2RCU 50GB
云数据库 RDS MySQL,高可用系列 2核4GB
简介: Hive环境安装

Hive安装


1、到下载地址http://apache.fayea.com/hive/,下载apache-hive-1.2.1-bin.tar.gz,解压

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

2、配置环境变量,

vi /etc/profile

export HIVE_HOME=/home/liqqc/app/apache-hive-1.2.1-bin
export PATH=$PATH:$HIVE_HOME/bin

3、配置hive参数

拷贝模板配置

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

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

创建hive-site.xml

touch hive-site.xml

配置hive-env.sh

export JAVA_HOME=/usr/java/jdk1.8.0_141
export HIVE_HOME=/home/liqqc/appapache-hive-1.2.1-bin
export HADOOP_HOME=/home/liqqc/app/hadoop-2.7.1

配置hive-site.xml

创建临时文件:在apache-hive-1.2.1-bin文件夹下创建tmp文件夹

<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<?xml-stylesheet type="text/xsl" href="configuration.xsl"?>
<configuration> 
<property>
   <name>javax.jdo.option.ConnectionURL</name>
   <value>jdbc:mysql://localhost:3306/hive?createDatabaseIfNotExist=true</value>
   <description>JDBC connect string for a JDBC metastore </description>
</property> 
<property>
   <name>javax.jdo.option.ConnectionDriverName</name>
   <value>com.mysql.jdbc.Driver</value>
</property>
<property>
   <name>javax.jdo.option.ConnectionUserName</name>
   <value>root</value>
</property>
<property>
   <name>javax.jdo.option.ConnectionPassword</name>
   <value>root</value>
</property>
<property>      
        <name>hive.querylog.location</name>     
        <value>/opt/modules/hive/tmp</value>   
</property>    
<property>      
        <name>hive.exec.local.scratchdir</name>     
        <value>/opt/modules/hive/tmp</value>   
</property>   
<property>   
        <name>hive.downloaded.resources.dir</name>     
        <value>/opt/modules/hive/tmp</value>   
</property>
<property>
        <name>datanucleus.schema.autoCreateAll</name>
        <value>true</value>
</property>
### beeline连接hive的thrift服务,用户名密码设置
<property>
    <name>hive.server2.thrift.client.user</name>
    <value>root</value>
    <description>Username to use against thrift client</description>
  </property>
  <property>
    <name>hive.server2.thrift.client.password</name>
    <value>root</value>
    <description>Password to use against thrift client</description>
  </property>
</configuration>

4、上传mysql驱动jar

下载mysql驱动文件mysql-connector-java-5.1.7-bin.jar,并上传到到/apache-hive-2.1.1-bin/lib目录下。

5、初始化hive

命令:schematool -initSchema -dbType mysql

最后显示schemaTool completed,没有报错就成功了。

6、启动hive

输入命令:hive


常见问题


1.Permission denied: user=dr.who, access=READ_EXECUTE, inode="/tmp":root:supergroup:drwx------

修改一下权限

[root@hadoop01 bin]# ./hdfs dfs -chmod -R 777 /tmp

2.hive启动beeline连接报错: User: xxx is not allowed to impersonate anonymous (state=08S01,code=0)

解决方式:在hadoop的配置文件core-site.xml增加如下配置,重启hdfs,其中“xxx”是连接beeline的用户,将“xxx”替换成自己的用户名即可

<property>
    <name>hadoop.proxyuser.xxx.hosts</name>
    <value>*</value>
</property>
<property>
    <name>hadoop.proxyuser.xxx.groups</name>
    <value>*</value>
</property>

“*”表示可通过超级代理“xxx”操作hadoop的用户、用户组和主机


如果在hive之前安装了spark,可能出现以下错误:


初次启动hive,解决 ls: cannot access /home/hadoop/spark-2.2.0-bin-hadoop2.6/lib/spark-assembly-.jar: No such file or directory问题
spark升级到spark2以后,原有lib目录下的大JAR包被分散成多个小JAR包,原来的spark-assembly-
.jar已经不存在,所以hive没有办法找到这个JAR包。

解决方法

打开hive的安装目录下的bin目录,找到hive文件

cd $HIVE_HOME/bin
vi hive

找到下图中的位置

image.png

将鼠标定位的位置,更改成下图



image.png


这样问题就解决了。

相关实践学习
如何在云端创建MySQL数据库
开始实验后,系统会自动创建一台自建MySQL的 源数据库 ECS 实例和一台 目标数据库 RDS。
全面了解阿里云能为你做什么
阿里云在全球各地部署高效节能的绿色数据中心,利用清洁计算为万物互联的新世界提供源源不断的能源动力,目前开服的区域包括中国(华北、华东、华南、香港)、新加坡、美国(美东、美西)、欧洲、中东、澳大利亚、日本。目前阿里云的产品涵盖弹性计算、数据库、存储与CDN、分析与搜索、云通信、网络、管理与监控、应用服务、互联网中间件、移动服务、视频服务等。通过本课程,来了解阿里云能够为你的业务带来哪些帮助 &nbsp; &nbsp; 相关的阿里云产品:云服务器ECS 云服务器 ECS(Elastic Compute Service)是一种弹性可伸缩的计算服务,助您降低 IT 成本,提升运维效率,使您更专注于核心业务创新。产品详情: https://www.aliyun.com/product/ecs
目录
相关文章
|
SQL 存储 资源调度
Hive初体验
Hive初体验
59 0
|
6月前
|
SQL Java Maven
hive-3.0.0源码编译详解
hive-3.0.0源码编译详解
59 0
|
SQL 分布式计算 Hadoop
Hive on Tez 的安装配置
Hive on Tez 的安装配置
571 0
Hive on Tez 的安装配置
|
SQL 分布式计算 关系型数据库
Hive-安装与配置(1)
Hive-安装与配置(1)
577 0
|
SQL 分布式计算 Java
|
SQL 分布式计算 关系型数据库
|
SQL 存储 分布式计算
Hive安装超详细教程
带领大家进行Hive的安装
1955 0
|
SQL 分布式计算 Hadoop
Hive的安装与配置
Hive的安装与配置
383 0
|
SQL 分布式计算 资源调度
hive-1.2.1安装以及简单使用
hive-1.2.1安装以及简单使用
226 0
|
SQL 存储 分布式计算
Hive简介及源码编译
Hive是一个基于Hadoop的数据仓库,可以将结构化数据映射成一张表,并提供类SQL的功能,最初由Facebook提供,使用HQL作为查询接口、HDFS作为存储底层、MapReduce作为执行层,设计目的是让SQL技能良好,但Java技能较弱的分析师可以查询海量数据,2008年facebook把Hive项目贡献给Apache。Hive提供了比较完整的SQL功能(本质是将SQL转换为MapReduce),自身最大的缺点就是执行速度慢。Hive有自身的元数据结构描述,可以使用MySql\ProstgreSql\oracle 等关系型数据库来进行存储,但请注意Hive中的所有数据都存储在HDFS中
435 0
Hive简介及源码编译