首页 Hive安装指南
文章
取消

Hive安装指南

hive 是基于 hadoop 的一个数据仓库工具,毕竟我是做数仓这一行的,用 hive 用的还是蛮多的。jdk 和 haodop 在之前的文章 Hadoop安装指南 详细介绍过安装方法,这里就不赘述了。本文记录一下 hive 的安装,采用本地模式安装。

安装环境

  • ubuntu-20.04.3 LTS

  • jdk-1.8.0_321

  • hadoop-2.10.1

  • apache-hive-2.3.9

安装 hive

Apache Hive 官网 下载所需要版本的 hive 安装包,解压到 /usr/local 文件夹中,并在 ~/.bashrc 中设置环境变量。

1
2
3
4
# set hive home
export HIVE_HOME=/usr/local/apache-hive
export CLASSPATH=.:$HIVE_HOME/bin:$CLASSPATH
export PATH=$HIVE_HOME/bin:$PATH

设置 mysql 数据库

1
2
3
CREATE DATABASE hive2 DEFAULT CHARACTER SET utf8mb4;
CREATE USER 'hive'@'%' IDENTIFIED BY 'hive';
GRANT ALL PRIVILEGES ON hive2.* TO 'hive'@'%';

修改 hive 配置文件

hive-env.sh

1
2
3
4
5
6
export JAVA_HOME=/usr/local/jdk1.8
export HADOOP_HOME=/usr/local/hadoop
export HADOOP_CONF_DIR=$HADOOP_HOME/etc/hadoop
export HIVE_HOME=/usr/local/apache-hive
export HIVE_CONF_DIR=$HIVE_HOME/conf
export HIVE_AUX_JARS_PATH=$HIVE_HOME/lib

hive-site.xml

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
<configuration>
  <property>
    <name>system:user.name</name>
    <value>hive</value>
  </property>
  <property>
    <name>system:java.io.tmpdir</name>
    <value>/tmp/hive</value>
  </property>
  <property>
    <name>javax.jdo.option.ConnectionDriverName</name>
    <value>com.mysql.cj.jdbc.Driver</value>
  </property>
  <property>
    <name>javax.jdo.option.ConnectionURL</name>
    <value>jdbc:mysql://localhost:3306/hive2?serverTimezone=Asia/Shanghai</value>
    <!-- <value>jdbc:mysql://localhost:3306/hive2?serverTimezone=Asia/Shanghai&amp;useUnicode=true&amp;characterEncoding=UTF-8</value> -->
  </property>
  <property>
    <name>javax.jdo.option.ConnectionUserName</name>
    <value>hive</value>
  </property>
  <property>
    <name>javax.jdo.option.ConnectionPassword</name>
    <value>hive</value>
  </property>
</configuration>

添加 mysql 驱动

下载 mysql 对应的驱动包,放到 $HIVE_HOME/lib 目录中。

驱动下载:https://dev.mysql.com/downloads/connector/j/

初始化源数据库

1
$HIVE_HOME/bin/schematool -initSchema -dbType mysql

修改编码防止乱码

1
2
3
4
5
6
7
8
9
10
11
12
13
-- utf8
-- utf8_unicode_ci

-- (1)修改表字段注解和表注解
alter table COLUMNS_V2 modify column COMMENT varchar(256) character set utf8;
alter table TABLE_PARAMS modify column PARAM_VALUE varchar(4000) character set utf8;

-- (2)修改分区字段注解
alter table PARTITION_PARAMS modify column PARAM_VALUE varchar(4000) character set utf8 ;
alter table PARTITION_KEYS modify column PKEY_COMMENT varchar(4000) character set utf8;

-- (3)修改索引注解
alter table INDEX_PARAMS modify column PARAM_VALUE varchar(4000) character set utf8;
本文由作者按照 CC BY 4.0 进行授权