hadoop集成hive的部署方式

hive的安装部署

在已经安装完hadoop,mysql的基础上可以进行hive的安装

之前部署的hadoop版本为3.2.4,mysql版本为8.0.39

mysql部署方式:mysql部署

1.下载hive包

#使用wget 或者浏览器下载
https://downloads.apache.org/hive/hive-3.1.3/apache-hive-3.1.3-bin.tar.gz 

在这里插入图片描述

#解压到自己想要部署的目录
tar -zxvf apache-hive-3.1.3-bin.tar.gz

2.配置环境变量

#增加环境变量配置
vim /etc/profile.d/my_env.sh

#增加环境变量
export HIVE_HOME=/home/ldsx/down_load/hive_data/hive (配置成实际hive存放目录)
export PATH=$PATH:$HIVE_HOME/bin

#加载环境变量
source /etc/profile.d/my_env.sh

在这里插入图片描述

3.配置mysql驱动

# 下载mysql驱动
https://downloads.mysql.com/archives/c-j/

# 配置mysql驱动
下载完成后打开压缩包获取mysql-connector-java-8.0.30.jar包
把mysql驱动放入到$HIVE_HOME/lib下,我这里是/home/ldsx/down_load/hive_data/hive/lib

下载驱动包

在这里插入图片描述

获取mysql-connector-java-8.0.30.jar

在这里插入图片描述

4.Hadoop,Hive同步Guava包

在Hadoop和Hive环境中,‌Guava包是一个重要的依赖库,‌用于提供一系列实用的工具类和函数。‌不同的组件可能会依赖不同版本的Guava包,‌可能导致版本冲突。‌当Hive依赖的Guava版本与Hadoop集群中其他组件依赖的版本不一致时,‌就可能出现依赖冲突,‌进而影响系统的稳定性和性能。‌Hadoop和Hive同步Guava包的主要作用是解决依赖冲突,‌确保系统的稳定运行。‌

#hadoop安装包下guava包位置
$HADOOP_HOME/share/hadoop/common/lib

#hive下安装包下guava包位置
$HIVE_HOME/lib

# 进入hadoop存放jar包路径
cd  $HADOOP_HOME/share/hadoop/common/lib
# 复制hadoop的guava包到hive里
cp guava-27.0-jre.jar $HIVE_HOME/lib
# 删除hive自带的guava包
rm -fr $HIVE_HOME/lib/guava-19.0.jar

$HADOOP_HOME,$HIVE_HOME代表hadoop,hive实际部署路径

5.配置hive-site.xml

value按自己实际部署情况修改

<configuration>
    <property>
       	<!--配置Hive使用的Metastore(元数据)数据库,也就是部署的mysql数据库-->
        <name>javax.jdo.option.ConnectionURL</name>
        <value>jdbc:mysql://hadoop01:3306/hive?createDatabaseIfNotExist=true </value>
    </property>
    <property>
    	<!--用于指定 JDO 连接驱动的名称。JDO 是 Java Data Objects 的缩写-->
        <name>javax.jdo.option.ConnectionDriverName</name>
        <value>com.mysql.cj.jdbc.Driver</value>
    </property>
    <property>
    	<!--mysql用户-->
        <name>javax.jdo.option.ConnectionUserName</name>
        <value>ldsx</value>
    </property>
    <property>
    	<!--mysql密码-->
        <name>javax.jdo.option.ConnectionPassword</name>
        <value>Ldsx@071</value>
    </property>
    <property>
    	<!--元数据仓库的目录-->
        <name>hive.metastore.warehouse.dir</name>
        <value>/home/ldsx/opt/hadoopData/hive_data</value>
    </property>
    <property>
    	<!--HiveServer2监听的端口号-->
        <name>hive.server2.thrift.port</name>
        <value>10001</value>
    </property>
    <property>
    	<!--hiveserver2监听的主机-->
        <name>hive.server2.thrift.bind.host</name>
        <value>master</value>
    </property>
</configuration>

6.hive启动

初始化hive元数据

#是一个用于初始化Hive schema,在mysql里面创建hive所需数据表
schematool -initSchema -dbType mysql

hive启动方式

#启动hive的方式

#使用hive CLI
1.hive

#beeline 链接
先启动hiveserver2访问
HiveServer是Hive的一个服务,它提供了JDBC和Thrift服务,使用户可以通过这些服务连接到Hive并执行SQL查询,使Hive能够接受外部的SQL查询请求。
nohup hive --service hiveserver2 &

#使用jdbc进行链接
 beeline -u jdbc:hive2://master:10001

在这里插入图片描述

7.远程部署

远程部署就是把hiveserver2,与metastore拆分启动,上面启动为本地启动在启动,hiveserver2的时候直接把metastore一起启动了(一个进程内),远程部署就是拆分成俩进程,放在不同的服务器进行部署。

#在hive-site.xml追加内容,同步到所有安装hive的节点,设置metastore服务位置
<property>
    <name>hive.metastore.uris</name>
    <value>thrift://hadoop01:9083</value>
</property>


#在master执行
nohup hive --service hiveserver2 &

#在hadoop01执行
nohup hive --service metastore &


#再有hive的节点远程链接
beeline -u jdbc:hive2://master:10001

在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值