千家信息网

Centos基于Hadoop安装Hive

发表于:2026-11-01 作者:千家信息网编辑
千家信息网最后更新 2026年11月01日,安装前说明:安装hive前提是要先安装hadoop集群,并且hive只需要在hadoop的namenode节点集群里安装即可(需要再所有namenode上安装),而不需要在datanode节点的机器上
千家信息网最后更新 2026年11月01日Centos基于Hadoop安装Hive

安装前说明:

安装hive前提是要先安装hadoop集群,并且hive只需要在hadoop的namenode节点集群里安装即可(需要再所有namenode上安装),而不需要在datanode节点的机器上安装。另外还需要说明的是,虽然修改配置文件并不需要你已经把hadoop跑起来,但是本文中用到了hadoop命令(创建文件夹时使用过),在执行这些命令前你必须确保hadoop是在正常跑着的,而且启动hive的前提也是需要hadoop在正常跑着,所以建议你先将hadoop跑起来在按照本文操作。


前提:

本文假使你已成功安装Hadoop!如未安装,请参考另一篇博文《centos下安装分布式Hadoop 3.1.1》。

本文假使你已成功安装配置MySql数据,如未安装,请参考另一篇博文《MySQL数据库安装及配置相关》。


一)安装环境

Centos 7.5

JDK 1.8.0_181

Hadoop 3.1.1

Hive 3.1.0


二)下载HIVE

下载地址:http://www.apache.org/dyn/closer.cgi/hive/

打开网址,点击图1中链接,然后选择Hive 版本,比如这里选择Hive 3.1.0(如图2),然后下载打好包的软件即可(如图3):

图1

图2

图3

三)安装

3.1 解压到特定目录,这里解压到/usr/local目录(用户自行安装软件,建议放在/usr/local目录)

# tar -zxvf apache-hive-3.1.0-bin.tar.gz -C /usr/local


3.2 设置环境变量,编辑/etc/profile添加以下红框内的内容:

设置后运行 # source /etc/profile使修改生效。


3.3 新建3个目录,以便配置hive-site.xml文件

进入Hadoop的bin目录,运行以下命令:

# ./hadoop fs -mkdir -p /var/hive/warehouse

# ./hadoop fs -mkdir -p /var/hive/tmp

# ./hadoop fs -mkdir -p /tmp/hive

修改3个目录的权限:

# ./hadoop fs -chmod 777 /var/hive/warehouse

# ./hadoop fs -chmod 777 /var/hive/tmp

# ./hadoop fs -chmod 777 /tmp/hive

创建后,可运行# ./hadoop fs -ls /var/hive/命令进行查看是否创建成功。


3.4 编辑hive-site.xml文件

3.4.1 新建hive-site.xml文件

进入到/usr/local/apache-hive-3.1.0.bin/conf目录,将hive-default.xml.template文件复制一份,并命名为hive-site.xml.

3.4.2 修改hive-site.xml文件

3.4.2.1 修改name标签为hive.metastore.warehouse.dir的value值,如下:

3.4.2.2 修改name标签为hive.exec.scratchdir的value值,如下:

3.4.2.3 将hive-site.xml文件中所有value标签中的值中的"${system:java.io.tmpdir}"替换为"/var/hive/tmp",如下例子:

3.4.2.4 将hive-site.xml文件中所有value标签中的值中的"${system:user.name}"替换为"root",如下例子:

3.4.2.5 Hive元数据库配置,这里以mysql为例

3.4.2.6 将MySql驱动包传到hive的lib目录

MySql驱动包下载地址:https://dev.mysql.com/downloads/connector/j/

注意驱动与版本的对于关系,可参考网址:

https://dev.mysql.com/doc/connector-j/5.1/en/connector-j-versions.html

https://dev.mysql.com/doc/connector-j/8.0/en/connector-j-versions.html

3.4.2.7 新建hive-env.sh文件并编辑

进入hive的conf目录,将hive-env.sh.template文件复制为hive-env.sh文件,并添加如下内容:

四)启动和测试

4.1 启动

进入hive的bin目录,执行命令:

# ./schematool -initSchema -dbType mysql //run this command to initialize DB.

# ./hive

4.2 测试

可执行以下命令进行测试:

# show functions; //查看支持的函数

# create database DBName; //创建数据库

# use DBName; //选中某个库

# create table TableName(id int, name string) row format delimited fields terminated by '\t'; //创建包含id及name列的表,且字段之间用Tab键分割

# load data local inpath 'File' into table DBName.TableName; //将文件File中的数据加载到创建的表中

文件的数据如下:

001 zhangsan
002 lisi
003 wangwu
004 zhaoliu
005 chenqi

说明:ID和name直接是TAB键,不是空格,因为在上面创建表的语句中用了terminated by '\t'所以这个文本里id和name的分割必须是用TAB键(复制粘贴如果有问题,手动敲TAB键吧),还有就是行与行之间不能有空行,否则下面执行load,会把NULL存入表内,该文件要使用unix格式,如果是在windows上用txt文本编辑器编辑后在上载到服务器上,需要用工具将windows格式转为unix格式,例如可以使用Notepad++来转换。

# select * from TableName; //在hive命令行窗口运行以查看表中数据

最后,还可以在mysql中查看创建的DB和Table,分别位于DBS表和TBLS表;

也可以通过namenode的URL在浏览器端查看数据:http://NameNodeIP:50070/explorer.html#/var/hive/warehouse/DBName.db //修改namenode的IP及自己配置的warehouse路径和创建的数据库名。


Appendix:

安装HIVE还可以参考网址:https://blog.csdn.net/pucao_cug/article/details/71773665 。

快速了解HIVE核心基本概念,参考网址:https://blog.csdn.net/freefish_yzx/article/details/77150248 。

快速上手使用HIVE数据仓库,参考网址: https://www.yiibai.com/hive/hive_partitioning.html 。

关于HIVE的分区概念及使用,参考网址: https://blog.csdn.net/qq_36743482/article/details/78418343 。

文件 数据 目录 命令 参考 网址 配置 数据库 标签 运行 成功 前提 格式 测试 驱动 中用 之间 例子 内容 地址 数据库的安全要保护哪些东西 数据库安全各自的含义是什么 生产安全数据库录入 数据库的安全性及管理 数据库安全策略包含哪些 海淀数据库安全审计系统 建立农村房屋安全信息数据库 易用的数据库客户端支持安全管理 连接数据库失败ssl安全错误 数据库的锁怎样保障安全 什么是科技互联网 湖北九亚互联网络科技有限公司 深圳市人人互联网科技有限公司 广州为想互联网科技有限公司 亿人帮互联网科技有限公司 腾讯阿里互联网科技 互联网科技公司怎么样 齐家互联网科技 广州互联网络科技有限公司 顺网科技2021年互联网排名 重庆威客帮互联网科技 互联网科技与管理 江阴互联网智能科技产品进口 米聚互联网科技南京有限公司排面 互联网数据科技专业 恒生互联网科技业指数调整周期 城市宝互联网科技有限公司 广州智享互联网科技 中国科技和美国互联网 10位科技互联网大佬 互联网的科技创新 互联网科技媒体 奇酷互联网络科技 汇久创客互联网科技 科技互联网创业计划书 互联网科技有限公司 翻译 湖北码尼互联网科技有限公司电话 语蝶互联网科技有限公司 移动互联网科技公司 上海同邻互联网科技有限公司规模
0