Linux下安装Hive

1. 确保linux环境下mysql已安装

Linux下安装mysql:https://blog.csdn.net/m0_48170265/article/details/130244960

2. 上传安装包

上传安装包apache-hive-3.1.2-bin.tar.gz到/opt/install_packages

在这里插入图片描述

创建文件夹/opt/jar,并上传安装包mysql-connector-java-5.1.37.jar到/opt/jar

3. 解压安装包

--切换目录
cd /opt/install_packages
--执行解压命令
tar -zxvf apache-hive-3.1.2-bin.tar.gz -C /opt/softs

4. 修改目录名称

--切换目录
cd /opt/softs
--执行修改命令
mv apache-hive-3.1.2-bin hive3.1.2

在这里插入图片描述

5. 配置环境变量

vim /etc/profile
-- 添加如下内容后保存退出

##HIVE_HOME
export HIVE_HOME=/opt/softs/hive3.1.2
export PATH=$PATH:$HIVE_HOME/bin

-- 添加环境变量后再执行
source /etc/profile

6. 解压日志jar包冲突

-- 切换目录
cd /opt/softs/hive3.1.2/lib
-- 执行修改命令
mv log4j-slf4j-impl-2.10.0.jar log4j-slf4j-impl-2.10.0.jar_bak

7. 拷贝mysql驱动jar包

上传mysql-connector-java-5.1.37.jar到/opt/jar

-- 执行拷贝命令
cp /opt/jar/mysql-connector-java-5.1.37.jar /opt/softs/hive3.1.2/lib

8. 配置hive的参数文件

-- 切换到hive配置目录
cd /opt/softs/hive3.1.2/conf
-- 配置参数文件
vim hive-site.xml

hive-site.xml中配置(URL、username、password的参数按自己的实际情况填):

<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<?xml-stylesheet type="text/xsl" href="configuration.xsl"?>
<configuration>
  <property>
  <!-- jdbc 连接的 URL -->
    <name>javax.jdo.option.ConnectionURL</name>
    <value>jdbc:mysql://bigdata03:3306/hive?createDatabaseIfNotExist=true</value>
  </property>
  <!-- jdbc 连接的 Driver-->
  <property>
    <name>javax.jdo.option.ConnectionDriverName</name>
    <value>com.mysql.jdbc.Driver</value>
  </property>
  <!-- jdbc 连接的 username-->
  <property>
    <name>javax.jdo.option.ConnectionUserName</name>
    <value>root</value>
  </property>
  <!-- jdbc 连接的 password-->
  <property>
    <name>javax.jdo.option.ConnectionPassword</name>
    <value>111111</value>
  </property>
   <!-- Hive 默认在 HDFS 的工作目录 -->
  <property>
	<name>hive.metastore.warehouse.dir</name>
	<value>/user/hive/warehouse</value>
   </property>
   <!-- 指定 hiveserver2 连接的 host --> 
  <property>
	<name>hive.server2.thrift.bind.host</name>
    <value>bigdata03</value>
  </property>
	<!-- 指定 hiveserver2 连接的端口号 --> 
  <property>
	<name>hive.server2.thrift.port</name>
    <value>10000</value>
  </property>
  
  <property>
    <name>hive.server2.enable.doAs</name>
    <value>false</value>
  </property>
   
</configuration>

9. 增加hadoop的配置参数

在$HADOOP_HOME/etc/hadoop 下配置core-site.xml

在<configuration></configuration>中添加:

--增加如下的配置项

	<!-- 安装hive时 在hadoop中core-site.xml中添加如下配置 -->
	<property>
		<name>hadoop.proxyuser.root.hosts</name>
		<value>*</value>
	</property>
	<property>
		<name>hadoop.proxyuser.root.groups</name>
		<value>*</value>
	</property>

在这里插入图片描述

再将core-site.xml远程分发到另外两台bigda04,bigdata05虚拟机。

scp /opt/softs/hadoop3.1.3/etc/hadoop/core-site.xml root@bigdata04:/opt/softs/hadoop3.1.3/etc/hadoop/

scp /opt/softs/hadoop3.1.3/etc/hadoop/core-site.xml root@bigdata04:/opt/softs/hadoop3.1.3/etc/hadoop/

再在两台虚拟机上分别查看

 cat /opt/softs/hadoop3.1.3/etc/hadoop/core-site.xml

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

10.在mysql中进行相关配置

-- 启动mysql服务
systemctl start mysqld

-- 用root用户登录mysql
mysql -uroot -p

-- 创建数据库名为hive的数据
create database hive;

-- 查看数据库
show databases;

-- 退出mysql命令行
quit;

在这里插入图片描述

11. 初始化hive的元数据库

schematool命令:

cd /opt/softs/hive3.1.2/bin/
ll
schematool -dbType mysql --initSchema

在这里插入图片描述

mysql -uroot -p
use hive;
show tables;

在这里插入图片描述

12. hive的启动

前置条件:

1.保证hdfs和yarn已启动
2.保证hive的元数据库mysql已启动

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

启动方式一: hive命令

--切换到hive目录下的bin目录
 cd /opt/softs/hive3.1.2/bin/

--执行hive命令
hive

方式二:使用jdbc连接hive

(1)在hive目录下配置文件hive-site.xml

cd /opt/softs/hive3.1.2/conf/
ll
vim hive-site.xml
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<?xml-stylesheet type="text/xsl" href="configuration.xsl"?>
<configuration>
  <property>
  <!-- jdbc 连接的 URL -->
    <name>javax.jdo.option.ConnectionURL</name>
    <value>jdbc:mysql://bigdata03:3306/hive?createDatabaseIfNotExist=true</value>
  </property>
  <!-- jdbc 连接的 Driver-->
  <property>
    <name>javax.jdo.option.ConnectionDriverName</name>
    <value>com.mysql.jdbc.Driver</value>
  </property>
  <!-- jdbc 连接的 username-->
  <property>
    <name>javax.jdo.option.ConnectionUserName</name>
    <value>root</value>
  </property>
  <!-- jdbc 连接的 password-->
  <property>
    <name>javax.jdo.option.ConnectionPassword</name>
    <value>111111</value>
  </property>
   <!-- Hive 默认在 HDFS 的工作目录 -->
  <property>
        <name>hive.metastore.warehouse.dir</name>
        <value>/user/hive/warehouse</value>
   </property>
   <!-- 指定 hiveserver2 连接的 host -->
  <property>
        <name>hive.server2.thrift.bind.host</name>
    <value>bigdata03</value>
  </property>
        <!-- 指定 hiveserver2 连接的端口号 -->
  <property>
        <name>hive.server2.thrift.port</name>
    <value>10000</value>
  </property>

  <property>
    <name>hive.server2.enable.doAs</name>
    <value>false</value>
  </property>

</configuration>

在这里插入图片描述

(2) 启动hiveserver2

-- 启动hiveserver2命令
hive --service hiveserver2

-- 注意:启动hiveserver2服务需要些时间才能启动完成,
且没有返回可输入命令行的界面,需要另开一个tab页面输入执行相关的命令指令

进阶的启动方式
(1)/opt/softs/hive3.1.2目录下创建1ogs目录
cd /opt/softs/hive3.1.2
mkdir logs

(2)执行如下命令
cd /opt/softs/hive3.1.2/bin/
nohup hive --service hiveserver2 1>/opt/softs/hive3.1.2/logs/hive.log 2>/opt/softs/hive3.1.2/logs/hive_err.log &
-- nohup:放在命令的开头,表示的意思为不挂起即关闭终端进程也保持允许状态
--1:代表标准日志输出
--2:表示错误日志输出
-- &:代表在后台运行
所以整个命令可以理解为:将hiveserver2服务后台运行在标准日志输出到hive.1og,错误日志输出到hive_err.log,唧使关闭终端(窗口),也会保持运行状态

(3)执行beeline命令

beeline -u jdbc:hive2://bigdata03:10000 -root

在这里插入图片描述

进阶:

在这里插入图片描述

注意:执行beeline命令时可能会报错,因为启动hiveserver2需要两三分钟时间,只有等hiveserver2启动完成后,可能用beeline命令完成jdbc连接。

猜你喜欢

转载自blog.csdn.net/m0_48170265/article/details/130251445
今日推荐