hive安装使用

一、Hive介绍

什么是hive
hive是一个构建在hadoop上的数据仓库框架,是应facebook每天产生的海量新兴社会网络数据进行管理和(机器)学习的需求而产生和发展的,其设计目的是让精通sql技能但java编程技能较弱的分析师能够对facebook存放在hdfs中的大规模数据集执行查询。

hive与传统数据仓库的区别
传统数据仓库采用oracle或mysql等数据库搭建,其数据也是存储在这些数据库中;而hive是建立在hadoop的hdfs上的数据仓库基础框架,其数据存储在hdfs上,但其元数据(metadata)因其metaStore配置不同而存在不同的地方。

hive的metastore有三种不同的配置方式:

  1. 默认是采用嵌入方式

内部集成derby数据库(hive自带的),元数据存储在deby中;这种方式的局限在于:只允许创建一个连接,同时只允许一个用户访问,适用于作演示用的demo这种方式的特性是hive服务和metastore服务(derby)在同一个jvm

  1. 本地模式

元数据存储在外部数据库mysql(或其他)中mysql和hive运行在同一台物理机上,多用于开发和测试允许创建多个连接

  1. 远程模式

元数据存储在外部数据库mysql(或其他)中hive和mysql运行在不同的机器上,多用于生产环境,允许创建多个连接

hive的metastore的三种不同配置方式,也对应了三种不同的安装方式,本文主要介绍第二种安装方式。

二、Hive安装

1、安装hadoop
采用伪分布式安装可参考:http://hadoop.apache.org/docs/stable/hadoop-project-dist/hadoop-common/SingleCluster.html
2、安装mysql
3、安装Hive
1)下载和Hadoop匹配的hive稳定版本 官网:http://hive.apache.org/downloads.html (看和你安装的Hadoop版本相对应)

2)安装hive安装包

cd /usr/local/
tar -zxvf /var/ftp/pub/apache-hive-3.1.2-bin.tar.gz
mv apache-hive-3.1.2-bin/ apache-hive-3.1.2/

3)添加环境变量

/etc/profile
#Hive
export HIVE_HOME="/usr/local/apache-hive-3.1.2"
export HCAT_HOME="/usr/local/apache-hive-3.1.2/hcatalog"
export PATH=".$PATH:$HCAT_HOME/bin:$HIVE_HOME/bin"

4)mysql创建用户

# 登录数据库命令行
mysql -u root
# 创建数据库hive
create database hive;
# 新建用户hadoop,主机为localhost,密码为mysql
create user 'hadoop'@'localhost' identified by 'mysql';
# 为刚创建的用户授权
grant all privileges on *.* to 'hadoop'@'localhost' with grant option;
flush privileges;
# 查看用户
select user,host from mysql.user;

5)修改配置文件

<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<?xml-stylesheet type="text/xsl" href="configuration.xsl"?>
<configuration>
<!--加入上一步创建的mysql的用户名、密码、数据库表连接url -->
<property>
       <name>javax.jdo.option.ConnectionUserName</name>
       <value>hadoop</value>
   </property>
   <property>
       <name>javax.jdo.option.ConnectionPassword</name>
       <value>mysql</value>
   </property>
   <property>
       <name>javax.jdo.option.ConnectionURL</name>mysql
       <value>jdbc:mysql://localhost:3306/hive?useSSL=false</value>
   </property>
   <!-- 数据库连接驱动器 -->
   <property>
       <name>javax.jdo.option.ConnectionDriverName</name>
       <value>com.mysql.cj.jdbc.Driver</value>
   </property>
   <!-- 版本信息配置 -->
   <property>
       <name>hive.metastore.schema.verification</name>
       <value>false</value>
   </property>
</configuration>

6)在hadoop中创建hive所需的仓库

# $HADOOP_HOME为hadoop的主目录
$HADOOP_HOME/bin/hadoop fs -mkdir       /tmp
$HADOOP_HOME/bin/hadoop fs -mkdir   -p /user/hive/warehouse
$HADOOP_HOME/bin/hadoop fs -chmod g+w   /tmp
$HADOOP_HOME/bin/hadoop fs -chmod g+w   /user/hive/warehouse

7)hive初始化mysql中的数据库hive

#统一hive和mysql服务的时区。
ln -sf /usr/share/zoneinfo/Asia/Shanghai /etc/localtime // hive和mysql服务器都要执行,mysql要重启服务
# $HIVE_HOME为hive安装路径的主目录
$HIVE_HOME/bin/schematool -dbType msyql -initSchema

mysql connector jar包下载地址:https://dev.mysql.com/get/Downloads/Connector-J/mysql-connector-java-8.0.21.zip (可换成对应版本的地址)
8)启动hive的metastore server服务进程

$HIVE_HOME/bin/hive --service metastore &

9)登录hive客户端

# 若配置了hive环境变量,可以直接执行hive
$HIVE_HOME/bin/ hive

三、使用hiveserver2和beeline

1)修改$HADOOP_HOME/etc/hadoop/core-site.xml文件,增加如下配置:

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

2)启动hiveserver2

cd /usr/local/apache-hive-3.1.2/bin/
hiveserver2
hiveserver2 & // 以后台形式运行

3)进入beeline命令行

beeline -u jdbc:hive2://***.***.***.***:10000

4)使用DBeaver连接
驱动选择jdbc:hive2即可以正常连接

参考文章:
https://www.cnblogs.com/zhi-leaf/p/11506148.html
https://www.cxyzjd.com/article/qq_43688472/99431002

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值