Hive | Hive 安装详解
一、Hive 介绍
二、准备工作
三、Hive下载
四、Hive 安装
五、Hive 启动
一、Hive 介绍
Hive 是构架在 hadoop 之上的 数据仓库工具,提供简单的 sql 查询功能,被称为HiveQL 或 HQL,然后将 sql 语句转换为 MapReduce 任务进行运行,来处理结构化数据
优点:
1)操作接口采用类SQL语法,容易上手
2)避免了用 Java 写 MapReduce,降低开发人员的学习成本;通过SQL可轻松访问数据,从而实现数据仓库任务,如提取-转换-加载(ETL),报告和数据分析
3)统一的元数据管理,可与 impala/spark 等共享元数据
4)数据的离线处理,如日志分析,海量结构化数据离线分析
缺点:
1)Hive执行延迟比较高,因此 hive 常用于数据分析的,不适合实时性要求高的场景
2)因为Hive的执行延迟比较高,对于处理小数据没有优势,适合处理大数据
二、准备工作
1. 检查Java JDK 是否安装
输入 java -version
若显示以上信息,则说明有安装;若没有安装,先进行 jdk 的安装
Java JDK 下载和安装过程链接:https://www.jianshu.com/p/cff2b88883e4
2. 检查 Hadoop 是否安装
输入 hadoop version
本人安装了 hadoop 2.2.0,若没有安装hadoop,则安装以下步骤进行 hadoop 的下载和部署:
step1: Linux系统Hadoop下载
step2: Hadoop伪分布式模式部署
3. 检查 Mysql 是否安装
输入 yum list installed | grep mysql
安装Mysql链接:CentOS7系统下 Mysql 的安装
三、Hive下载
1. 官网下载 Hive
Hive官网链接:http://hive.apache.org/downloads.html
step1:在DOWNLOADS下点击 Download a release now! 进入
step2:在 HTTP 下可看到多个下载 Hive 的链接,选择一个进入
step3:点击需要下载的版本,进入
step4:选择 apache-hive-bin.tac.gz 下载到本地
注:
xx-bin.tac.gz 是 class 文件,java 已编译过
xx-src.tac.gz 是 java 文件,是 java源代码
.tac.gz 是 linux 下的安装包
2. 将本地下载的 Hive 安装包上传到 Linux 上
本人是通过 Xshell 的 lrzsz 软件上传文件
step5:Xshell 连接 linux服务器 ,进入放置该文件的目录
本人将文件上传到 /opt/software 目录下
输入 cd /opt/software 进入到该目录
输入 rz 运行该命令,弹出一个文件选择窗口,则从本地选择文件上传到服务器
上传完毕后,可在指定目录下,看到上传的 hive 安装包
四、Hive 安装
1. 安装Hive
step1:创建存放 hive 目录
进入到本人存放软件的目录 /opt/modules
输入 mkdir hive 创建hive目录
step2:解压 hive 安装包到 hive目录下
输入 tar -zxf /opt/software/apache-hive-1.2.2-bin.tar.gz -C /opt/modules/hive
将存放在 /opt/software/ 目录下的安装包 apache-hive-1.2.2-bin.tar.gz 解压到 /opt/modules/hive 目录下
2. 加载 mysql 驱动包
链接:mysql-connector-java驱动包下载地址
step3: 下载 mysql 驱动包后,放入到 hive安装目录的 lib 目录下
输入 cd /hive/apache-hive-1.2.2-bin/lib 进入到 lib 目录
输入 rz 弹出一个文件选择窗口,从本地选择mysql 驱动包上传到服务器
上传完毕后,可在 lib 目录下,看到上传的 mysql-connector-java-5.1.27.jar 包
3. 配置 Hive 环境变量
step4:进入 /etc/profile 文件,配置环境变量
输入:sudo vim /etc/profile 进入到 profile 配置文件
输入 i 键 进入编辑模式
输入 export HIVE_HOME=/opt/modules/hive/apache-hive-1.2.2-bin
export PATH=$PATH:$HIVE_HOME/bin:$HIVE_HOME/conf
/opt/modules/hive/apache-hive-1.2.2-bin 路径是hive安装的目录路径
输入 Esc 键,输入 :wq 保存并退出
step5:重新执行 profile 文件
输入 source /etc/profile 重新执行 profile 文件使其生效
4. 修改 Hive 的 hive-env.sh 、hive-site.xml 和 hive-log4j.proprties 配置文件
step6:进入到 hive安装目录的 /conf 目录下
问题一:/conf 目录下木有hive-env.sh 、 hive-site.xml 和 hive-log4j.proprties,但是看到 hive-env.sh.template 、 hive-default.xml.template 和 hive-log4j.properties.template 文件
解决方法:可直接复制,并分别重命名为 hive-env.sh 、 hive-site.xml 和 hive-log4j.proprties
输入 cp hive-env.sh.template hive-env.sh
输入 cp hive-default.xml.template hive-site.xml
同上创建 hive-log4j.proprties 文件
step7:修改 hive-env.sh 文件
输入 vim hive-env.sh 编辑 hive-env.sh文件
输入 i 键 进入编辑模式
输入 export JAVA_HOME=/usr/local/java/jdk1.8.0_181
export HADOOP_HOME=/opt/modules/hadoop-2.2.0
export HIVE_HOME=/opt/modules/hive/apache-hive-1.2.2-bin
分别添加你安装的 java jdk 路径、hadoop路径和hive路径
输入 Esc 键,输入 :wq 保存并退出
输入 source hive-env.sh 重新执行 hive-env.sh 文件使其生效
step8:在修改 hive-site.xml 前,先创建warehouse、tmp、log目录
进入到hive的安装目录下,本文是进入到 /opt/modules/hive/apache-hive-1.2.2-bin
输入 mkdir warehouse 存储表数据
mkdir tmp 存储临时文件
mkdir log 存储日志文件
step9:修改 hive-site.xml 文件
进入到 conf 目录下
输入 vim hive-site.xml 编辑 hive-site.xml 文件
输入 i 键 进入编辑模式
1)首先添加以下信息,配置 mysql 数据库相关内容
<property>
<name>javax.jdo.option.ConnectionURL</name>
<value>jdbc:mysql://localhost:3306/hive?createDatabaseIfNotExist=true;characterEncoding=UTF-8
</value>
<description>JDBC connect string for a JDBC metastore</description>
</property>
<property>
<name>javax.jdo.option.ConnectionDriverName</name>
<value>com.mysql.jdbc.Driver</value>
<description>Driver class name for a JDBC metastore</description>
</property>
<property>
<name>javax.jdo.option.ConnectionUserName</name>
<value>root</value>
<description>username to use against metastore database</description>
</property>
<property>
<name>javax.jdo.option.ConnectionPassword</name>
<value>mysql数据库登录密码</value>
<description>password to use against metastore database</description>
</property>
2)修改 hive.metastore.warehouse.dir 配置
搜索 hive.metastore.warehouse.dir
先按 Esc 键退出编辑模式,然后输入 /hive.metastore.warehouse.dir
定位到 hive.metastore.warehouse.dir 位置,按 i 键进入编辑
修改 value 值,填写你所创建的 warehouse 的路径,配置数据目录
3)修改 hive.exec.scratchdir 配置
按 2)的修改步骤,修改临时文件路径
4)修改 hive.querylog.location 配置
按 2)修改步骤,修改日志路径
5)修改 system:java.io.tmpdir 的路径
搜索 system:java.io.tmpdir ,定位到多处含有 system:java.io.tmpdir 的地方(搜索功能按小写 n可切换到下一处;按小写 N 可切换到上一处)
全部替换成 /opt/modules/hive/apache-hive-1.2.2-bin/tmp(这个是我存放临时文件的路径,替换成你所创建的)
修改完以上全部内容后,输入 Esc 键,输入 :wq 保存并退出
step10:修改 hive-log4j.proprties 文件
输入 vim hive-log4j.properties
修改 log.dir 属性,配置存放log文件路径,其他属性默认即可
hive.log.dir=/opt/modules/hive/apache-hive-1.2.2-bin/log/${username}
五、Hive 启动
step11: 启动 hadoop
输入 start-all.sh
输入 jps 查看是否启动成功
step12: 启动 mysql
输入 service mysqld start
step13: 启动 hive
输入 hive
启动 hive 后,就可以进行操作了
注:hive操作命令基本与mysql一致
参考链接:hadoop之hive的安装与部署