CentOS7 安装hive

本文详细介绍了如何在单机环境下安装配置Hive,包括准备软件、安装MySQL、配置Hadoop、安装Hive、初始化元数据库以及启动Hive服务。Hive虽然是单机部署,但可以提交分布式MapReduce任务。整个过程强调了Hive对Hadoop的依赖以及元数据服务的重要性。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

Hive是分布式运行的框架还是单机运行的?

Hive是单机工具,只需要部署在一台服务器即可。Hive虽然是单机的,但是它可以提交分布式运行的MapReduce程序运行。我们知道Hive是单机工具后,就需要准备一台服务器供Hive使用即可。同时Hive需要使用元数据服务,即需要再提供一个关系型数据库,我们选择其中一台服务器安装关系型数据库即可,下面搭建选用MySQL8。

1. 软件准备

MySQL8.0.13 链接:https://pan.baidu.com/s/1JLzMDkF5Mxco9VLzXy-aQg 提取码: sql8
MySQL驱动jar包 链接:https://pan.baidu.com/s/1Nu1Q-5KyOv6I-d-kqyj_oA 提取码: jar8
hadoop3.3.1 链接:https://pan.baidu.com/s/1Zjjnj05erfVR395yC68tfA 提取码: hd3x
Hive3.1.2 链接:https://pan.baidu.com/s/1CsGOnasad42PAf2HCbG73Q 提取码: hiv3

2. 安装MySQL

安装MySQL8 一搜一大把
https://blog.csdn.net/xwl_java/article/details/106568194?spm=1001.2014.3001.5506

3. 安装Hadoop并配置

https://blog.csdn.net/CSDN1csdn1/article/details/129853759?spm=1001.2014.3001.5502

因为Hive的运行依赖于Hadoop(HDFS,MapReduce,YARN都依赖),同时涉及到HDFS文件系统的访问,所以需要配置代理用户。

配置文件 hadoop-3.3.1/etc/hadoop/core-site.xml 添加,并分发到其他节点,然后重启HDFS集群。

	<property>
	        <name>hadoop.proxyuser.root.hosts</name>
	        <value>*</value>
	</property>
	<property>
	        <name>hadoop.proxyuser.root.groups</name>
	        <value>*</value>

4. 安装Hive

  1. 下载解压Hive
# 解压到指定目录
tar -zxvf apache-hive-3.1.2-bin.tar.gz -C /export/server
# 设置软连接,或者直接重命名
ln -s apache-hive-3.1.2-bin hive
  1. 将下载的MySQL驱动包放入到Hive的lib目录下
mv mysql-connector-java-8.0.13.jar /export/server/hive/lib/

5. 配置Hive

  1. 在Hive的conf目录下修改 hive-env.sh 配置文件
cd /export/server/hive/conf
mv hive-env.sh.template hive-env.sh
vi hive-env.sh		# 将下面环境变量添加到该文件中,目录层级按自己环境来
export HADOOP_HOME=/export/server/hadoop-3.3.1
export HIVE_CONF_DIR=/export/server/hive
export HIVE_AUX_JARS_PATH=/export/server/hive/lib
  1. 继续在此目录下新增 hive-site.xml
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<?xml-stylesheet type="text/xsl" href="configuration.xsl"?>
<configuration>
  <property>
    <name>javax.jdo.option.ConnectionURL</name>
    <value>jdbc:mysql://localhost:3306/hive?createDatabaseIfNotExist=true</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>root</value>
    <description>password to use against metastore database</description>
  </property>
  <property>
    <name>hive.metastore.uris</name>
    <value>thrift://Master:9083</value>
    <description>password to use against metastore database</description>
  </property>
  <property>
    <name>hive.server2.thrift.bind.host</name>
    <value>Master</value>
  </property>
  <property>
    <name>hive.metastore.event.db.notification.api.auth</name>
    <value>false</value>
  </property>
</configuration>

6. 初始化元数据库

Hive的配置已经完成,在启动Hive之前,需要先初始化Hive所需的元数据库。

  1. 启动MySQL服务并登录
service mysql start		# 启动mysql
mysql -uroot -p			# 连接到mysql
  1. 登录到MySQL, 在MySQL中新建数据库—hive
CREATE DATABASE hive CHARSET utf8;
  1. 执行元数据库初始化命令
cd /export/server/hive
bin/schematool -initSchema -dbType mysql -verbos
  1. 查看是否初始化成功
use hive;
show tables;      --初始化成功后会在hive数据库里新增74张元数据管理的表

7. 启动Hive

  1. 创建一个hive的日志文件目录
cd /export/server/hive
mkdir logs
  1. 启动Hive前先保证Hadoop集群已经启动!!!没有启动的话先启动Hadoop集群
  2. 启动Hive的metastore服务
bin/hive --service metastore 		# 前台启动
nohup bin/hive --service metastore >> logs/metastore.log 2>&1 &      #后台启动
  1. 启动Hive命令行
bin/hive
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值