CentOS7 Hive 安装

hive的安装模式有2种,一种是使用自带的derby数据库,另一种是使用mysql作为元数据库。derby方式一般没人用,因为它是单用户模式。这里主要讲解mysql方式。

hive仅仅是一个客户端工具,不存在集群概念,因此安装的时候无需每台机器安装,哪个节点需要使用,就安装在哪个节点上。多个节点安装的时候mysql的元数据库一定要相同(即要在同一个mysql同一个库上),否则各个客户端获取的数据不一致

 

安装前准备
  • 保证 hadoop 正常运行
  • 保证 mysql 正常运行
CentOS7 hadoop安装教程:
CentOS7 mysql 安装教程:https://www.cnblogs.com/caoxb/p/9405323.html 

 

 

hive安装步骤

 
1.下载
我这里将hive里安装到 /usr/local 目录下
$ cd /usr/local

 

2.解压
$ tar -zxvf apache-hive-2.3.5-bin.tar.gz 
 
 
3.修改配置文件
主要有两个配置文件要进行修改:hive-default.xml 和 hive-site.xml 。在hive安装的conf目录下,没有这两个配置文件,只有一个"hive-default.xml.template",所以我们要复制一个"hive-default.xml.template",命名为hive-default.xml,及新建一个文件hive-site.xml。
 
$ cd apache-hive-2.3.5-bin/conf
$ cp hive-default.xml.template hive-default.xml
$ vim hive-site.xml
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<?xml-stylesheet type="text/xsl" href="configuration.xsl"?>
<configuration>
    <!-- ########################### hive的 JDBC连接 ############################ -->
    <!-- mysql 连接用户名 -->
    <property>
        <name>javax.jdo.option.ConnectionUserName</name>
        <value>caoxiaobo</value>
    </property>
    <!-- mysql 连接密码 -->
    <property>
        <name>javax.jdo.option.ConnectionPassword</name>
        <value>Caoxiaobo0917!</value>
    </property>
    <!-- mysql 连接URL 如果hive和mysql在同一服务器上,使用localhost -->
    <property>
        <name>javax.jdo.option.ConnectionURL</name>
        <value>jdbc:mysql://localhost:3306/myhive</value>
    </property>
    <!-- mysql 连接驱动 -->
    <property>
        <name>javax.jdo.option.ConnectionDriverName</name>
        <value>com.mysql.jdbc.Driver</value>
    </property>

</configuration>

备注:hive-default.xml用于保留默认配置,hive-site.xml用于个性化配置,可覆盖默认配置

 

4.添加驱动包
将mysql的驱动包放在hive安装的lib目录下
备注:如果不添加驱动包的话,下执行初始化的时候会抛出 Underlying cause: java.lang.ClassNotFoundException : com.mysql.jdbc.Driver 异常。
(1)下载mysql驱动jar包
我这里是在阿里云maven库下载的
 (2)上传jar包到hive的安装的lib目录下
这里我使用的是gitbash上传的,也可以使用其它上传工具
$ scp -r /c/Users/96492/Desktop/mysql-connector-java-5.1.6.jar root@192.168.38.41:/usr/local/apache-hive-2.3.5-bin/lib

 

5.初始化元数据库
hive 1.0版本不需要初始化元数据库。
$ ./schematool -dbType mysql -initSchema
$ ./schematool -dbType mysql -initSchema
....
SLF4J: See http://www.slf4j.org/codes.html#multiple_bindings for an explanation.
SLF4J: Actual binding is of type [org.apache.logging.slf4j.Log4jLoggerFactory]
Metastore connection URL:        jdbc:mysql://localhost:3306/myhive
Metastore Connection Driver :    com.mysql.jdbc.Driver
Metastore connection User:       caoxiaobo
Starting metastore schema initialization to 2.3.0
Initialization script hive-schema-2.3.0.mysql.sql
Initialization script completed
schemaTool completed

 

6.配置hive环境变量

$ vim /etc/profile  

末尾添加如下内容:

export HIVE_HOME=/usr/local/apache-hive-2.3.5-bin
export PATH=$PATH:$HIVE_HOME/bin

使环境变量生效:

$ source /etc/profile 

 

7.启动hive
直接使用hive命令就可以启动。
$ hive
 
 
8.测试
hive启动成功后就会出现 hive> 这个符号,我们就可以开始测试hive了
hive> create database test;        # 创建test数据库
OK
Time taken: 0.069 seconds
hive> use test;                    # 进入test数据库
OK
Time taken: 0.068 seconds
hive> create table tt(id int);    # 创建表 tt
OK
Time taken: 1.886 seconds
hive> show tables;                # 查看test库中所有的表
OK
tt
Time taken: 0.093 seconds, Fetched: 1 row(s)

 

 
 
 
posted @ 2019-08-11 02:26  cao_xiaobo  阅读(9355)  评论(1编辑  收藏  举报