欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

Linux下Hive的安装

程序员文章站 2022-04-29 17:41:38
...

Hive版本 apache-hive-1.2.2,Hive是单机形式存在的

一、前置准备

Hadoop集群、MySQL(5.x或8.x)

Hadoop单机伪分布式-****

Hadoop完全分布式集群环境搭建-****

HA(高可用)-Hadoop集群环境搭建视频+图文教程

CentOS7.x安装mysql8.0.19

二、安装Hive

1.1 下载并解压

下载所需版本的 Hive,这里我下载版本为 apache-hive-1.2.2。下载地址:https://hive.apache.org/downloads.html

# 下载后进行解压
[aaa@qq.com ~]$ tar -zxvf apache-hive-1.2.2-bin.tar.gz -C /opt/software/
# 修改文件夹权限
[aaa@qq.com ~]$ sudo chown -R xiaokang:hadoopenv /opt/software/hive-1.2.2

1.2 配置环境变量

[aaa@qq.com ~]$ sudo vim /etc/profile

在原有的基础上添加如下环境变量:

export HIVE_HOME=/opt/software/hive-1.2.2
export PATH=${JAVA_HOME}/bin:${HADOOP_HOME}/bin:${HADOOP_HOME}/sbin:${ZOOKEEPER_HOME}/bin:${HIVE_HOME}/bin:$PATH

使得配置的环境变量立即生效:

[aaa@qq.com ~]$ source /etc/profile

1.3 修改配置

#防止直接修改出错,先将需要配置的文件复制一份再修改
[aaa@qq.com ~]$ cd $HIVE_HOME/conf
[aaa@qq.com ~]$ cp hive-env.sh.template hive-env.sh
[aaa@qq.com ~]$ cp hive-log4j.properties.template hive-log4j.properties
[aaa@qq.com ~]$ cp hive-default.xml.template hive-default.xml

1. hive-env.sh

修改 hive-env.sh,指定 Hadoop 的安装路径和 Hive 配置文件路径:

HADOOP_HOME=/opt/software/hadoop-2.7.7
export HIVE_CONF_DIR=/opt/software/hive-1.2.2/conf

2. hive-log4j.properties

修改日志文件存储路径,有助于以后排查错误

hive.log.dir=/opt/software/hive-1.2.2/log

3. hive-site.xml

对于 hive-default.xml 这个关键配置文件我们一般不做修改,这里我们对关键配置文件的副本 hive-site.xml 文件进行相应的配置(默认情况下没有 hive-site.xml 这个文件,需要自己新建),内容如下,主要是配置存放元数据的 MySQL 的地址、驱动、用户名和密码等信息:

<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<?xml-stylesheet type="text/xsl" href="configuration.xsl"?>
<configuration>
  <property>
     <!-- 查询数据时 显示出列的名字 -->
     <name>hive.cli.print.header</name>
     <value>true</value>
  </property>
  <property>
     <!-- 在命令行中显示当前所使用的数据库 -->
     <name>hive.cli.print.current.db</name>
     <value>true</value>
  </property>
  <property>
     <!-- 默认数据仓库存储的位置,该位置为HDFS上的路径 -->
     <name>hive.metastore.warehouse.dir</name>
     <value>/user/hive/warehouse</value>
  </property>
  <!-- 5.x -->
  <property>
            <name>javax.jdo.option.ConnectionURL</name>
     <value>jdbc:mysql://hadoop01:3306/hive_metastore?createDatabaseIfNotExist=true</value>
  </property>
  <!-- 8.x -->
  <property>
            <name>javax.jdo.option.ConnectionURL</name>
     <value>jdbc:mysql://hadoop01:3306/hive_metastore?createDatabaseIfNotExist=true&amp;useSSL=false&amp;serverTimezone=GMT</value>
  </property>
  <!-- 5.x -->
  <property>
     <name>javax.jdo.option.ConnectionDriverName</name>
     <value>com.mysql.jdbc.Driver</value>
  </property>
  <!-- 8.x -->
  <property>
     <name>javax.jdo.option.ConnectionDriverName</name>
     <value>com.mysql.cj.jdbc.Driver</value>
  </property>
  <property>
     <name>javax.jdo.option.ConnectionUserName</name>
     <value>root</value>
  </property>
  <property>
     <name>javax.jdo.option.ConnectionPassword</name>
     <value>xiaokang</value>
  </property>
</configuration>

1.4 拷贝数据库驱动

将 MySQL 驱动包拷贝到 Hive 安装目录的 lib 目录下, MySQL 驱动的下载地址为:https://dev.mysql.com/downloads/connector/j/ , 在本仓库的Hive目录下我也上传了一份,有需要的可以自行下载。

[aaa@qq.com ~]$ cp mysql-connector-java-5.1.48.jar /opt/software/sqoop-1.4.7/lib/

1.5 初始化元数据库

  • 当使用的 hive 是 1.x 版本时,可以不进行初始化操作,Hive 会在第一次启动的时候会自动进行初始化,但不会生成所有的元数据信息表,只会初始化必要的一部分,在之后的使用中用到其余表时会自动创建;

  • 当使用的 hive 是 2.x 版本时,必须手动初始化元数据库。初始化命令:

    # schematool 命令在安装目录的 bin 目录下,由于上面已经配置过环境变量,在任意位置执行即可
    schematool -dbType mysql -initSchema
    

这里我使用的是的 apache-hive-1.2.2 版本,可以跳过这一步。

1.6 启动

由于已经将 Hive 的 bin 目录配置到环境变量,直接使用以下命令启动,成功进入交互式命令行后执行 show databases 命令,无异常则代表搭建成功。

[aaa@qq.com ~]$ hive
Linux下Hive的安装

在 MySQL 中也能看到 Hive 创建的库和存放元数据信息的表

Linux下Hive的安装
相关标签: 大数据