Linux下Hive的安装
Hive版本 apache-hive-1.2.2,Hive是单机形式存在的
一、前置准备
Hadoop集群、MySQL(5.x或8.x)
二、安装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&useSSL=false&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
在 MySQL 中也能看到 Hive 创建的库和存放元数据信息的表
上一篇: 表格标签—表格高级样式的设置
下一篇: HIVE的安装部署