0
点赞
收藏
分享

微信扫一扫

搭建Hive 3.x环境(CentOS 9 + Hadoop3.x)

零、资源准备

  • 虚拟机相关:
    • VMware workstation 16:虚拟机 > vmware_177981.zip
    • CentOS Stream 9:虚拟机 > CentOS-Stream-9-latest-x86_64-dvd1.iso
  • JDK
    • jdk1.8:JDK > jdk-8u261-linux-x64.tar.gz
  • Hadoop
    • Hadoop 3.3.6:Hadoop > Hadoop 3.3.6.tar.gz
  • Hive
    • Hive 3.1.3: Hive > apache-hive-3.1.3-bin.tar.gz
  • JDBC
    • JDBC连接器:JDBC->mysql-connector-java-8.0.30.jar
  • 辅助工具
    • MobaXterm:tools > MobaXterm_Portable_v24.0.zip

本文相关资源可以在文末提供的百度网盘资源中下载,除了vmware(你懂的…),以上资源均来源于官网,MobaXterm是便捷式软件,无需安装。

约定:所有安装包存放于/software, 安装目录为/opt

一、安装准备

1. 安装Hadoop 3.x

参见:搭建Hadoop3.x完全分布式集群(CentOS 9)

2. 安装MySQL

将MySQL安装在虚拟机Hadoop3。

1) 下载MySQL的源文件

可以通过 wget 工具下载 MySQL 源文件。

mkdir /software
cd /software
yum -y install wget
wget http://dev.mysql.com/get/mysql80-community-release-el9-1.noarch.rpm

2)安装MySQL源

安装下载的MySQL源文件,在MySQL源文件所在目录执行如下命令。

yum localinstall mysql80-community-release-el9-1.noarch.rpm

3) 安装MySQL

yum install mysql-community-server -y

如果出现Error: GPG check FAILED错误,是Mysql的GPG升级的缘故

在这里插入图片描述

解决办法:

(1)获取GPG:rpm --import https://repo.mysql.com/RPM-GPG-KEY-mysql-2023

(2)重新配置GPG: vi /etc/yum.repos.d/mysql-community.repo

在这里插入图片描述

(3) 运行yum install mysql-community-server -y重新安装MySQL

如果还是不能解决,可以参考官方安装指南: https://dev.mysql.com/doc/mysql-yum-repo-quick-guide/en

4)启动MySQL服务

启动MySQL服务,在虚拟机Hadoop3上执行如下命令。

systemctl start mysqld

可以使用命令 systemctl status mysqld 检查服务状态

MySQL安装完成后,默认为root用户提供了初始密码,查看该初始密码的命令如下所示。

5)查看MySQL初始密码

MySQL安装完成后,默认为root用户提供了初始密码,查看该初始密码的命令如下所示。

grep 'temporary password' /var/log/mysqld.log

在这里插入图片描述

6)修改密码

通过root用户,以及MySQL为root用户提供的初始密码登陆MySQL,具体命令如下。

mysql –uroot -p

在这里插入图片描述

MySQL默认为root提供的密码较为复杂不便使用,这里将root用户的密码修改为Abc@2024,刷新MySQL配置,使修改root用户密码的操作生效,具体命令如下。

mysql> alter user 'root'@'localhost' identified by 'Abc@2024';
mysql> FLUSH PRIVILEGES;

7)配置远程访问

修改Mysql配置文件vi /etc/my.cnf, 在[mysqld]选项下添加如下配置:

bind-address=0.0.0.0

授权帐号可以远程登录,介绍两种方法,任选其一:

方法一:改表法

mysql>use mysql;
mysql>update user set host = '%' where user = 'root';
mysql>select host, user from user;

方法二:授权法

mysql>GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY 'Abc@2024' WITH GRANT OPTION;
mysql>FLUSH PRIVILEGES;

最后重启Mysqld服务

systemctl restart mysqld

二、本地模式

这里将Hive安装在Hadoop1虚拟机上

1. 安装Hive

1)上传Hive安装包

通过Hive官网或者文末提供的百度网盘链接下载Hive的安装包apache-hive-3.1.3-bin.tar.gz,使用相关工具(比如xftp、winscp、MobaXterm等)上传安装包到 /software目录。

这里介绍如何

在这里插入图片描述

点击ok后输入密码,左边是本机的目录,右边是虚拟机的目录,找到相应目录和文件,将安装包拖至右窗口即可。

在这里插入图片描述

2) 安装Hive

以解压方式安装Hive,将Hive安装到目录/opt,将Hive安装目录重命名为hive-3.1.3,在虚拟机Hadoop1上执行如下命令即可。

tar -zxvf /software/apache-hive-3.1.3-bin.tar.gz –C /opt	
cd /opt
mv apache-hive-3.1.3-bin/ hive-3.1.3

3) 同步guava包

将Hive中的guava-19.0.jar替换为Hadoop中的guava-27.0-jre.jar,具体操作执行如下命令。

cd  /opt/hadoop-3.3.6/share/hadoop/common/lib	
cp guava-27.0-jre.jar /opt/hive-3.1.3/lib/	
rm -fr /opt/hive-3.1.3/lib/guava-19.0.jar

4)配置Hive系统环境变量

在虚拟机执行vi /etc/profile命令配置系统环境变量文件profile,在该文件的底部添加如下内容。

export HIVE_HOME=/opt/hive-3.1.3
export PATH=$PATH:$HIVE_HOME/bin	

执行source /etc/profile命令初始化系统环境变量使添加的Hive系统环境变量生效。

2. 配置Hive

在Hive安装目录的conf下执行vi hive-site.xml命令创建Hive配置文件hive-site.xml,在该文件中添加如下内容。

<configuration>
    <property>
        <name>javax.jdo.option.ConnectionURL</name>
        <value>jdbc:mysql://hadoop3:3306/hive?createDatabaseIfNotExist=true </value>
    </property>
    <property>
        <name>javax.jdo.option.ConnectionDriverName</name>
        <value>com.mysql.cj.jdbc.Driver</value>
    </property>
    <property>
        <name>javax.jdo.option.ConnectionUserName</name>
        <value>root</value>
    </property>
    <property>
        <name>javax.jdo.option.ConnectionPassword</name>
        <value>Abc@2024</value>
    </property>
    <property>
        <name>hive.metastore.warehouse.dir</name>
        <value>/user/hive/warehouse</value>
    </property>
    <property>         
        <name>hive.server2.thrift.port</name>         
        <value>10000</value>     
    </property>    
    <property>        
        <name>hive.server2.thrift.bind.host</name>        
        <value>hadoop1</value>    
    </property>
</configuration>

3. 元数据初始化

1)上传MySQL驱动包

在官网或者文末网盘链接下载MySQL驱动包mysql-connector-java-8.0.30.jar,将上传到在虚拟机Hadoop1的/opt/hive-3.1.3/lib目录。

2)初始化MySQL

在操作本地模式部署的Hive之前,需要执行初始化MySQL的操作,具体命令如下。

schematool -initSchema -dbType mysql

在这里插入图片描述

4. 测试

1)启动Hadoop

在虚拟机hadoop1中,使用命令start-all.sh启动hadoop集群。

2)CLI测试

hive命令后不跟参数时,默认启动cli,即下面命令可以省略--service cli参数

hive --service cli
hive> show databases;

在这里插入图片描述

3) beeline测试

Beeline是Hive 0.11版本引入的Hive客户端工具,它通过JDBC的方式连接HiveServer2服务。所以在使用beeline客户端,需要启动hiveserver2服务(HS2),在Hadoop1上运行如下命令。

nohup hive --service hiveserver2  &

运行如下命令测试环境。

#启动beeline
beeline

#在交互界面输入连接信息:
!connect  jdbc:hive2://hadoop1:10000

#输入用户名和密码,注意,输入的用户名root和密码123456是虚拟机Hadoop1的用户名和密码

#查看所有数据库
show databases;

在这里插入图片描述

三、远程模式

将MetaStore服务部署在虚拟机hadoop2上。

网络拓扑:

服务虚拟机
MetaStorehadoop2
HiveServer2hadoop1

1. 修改Hive配置

进入虚拟机Hadoop1中Hive安装目录下的conf目录,在该目录下执行vi hive-site.xml命令创建Hive配置文件hive-site.xml,在该文件中添加如下内容。

<property>
    <name>hive.metastore.uris</name>
    <value>thrift://hadoop2:9083</value>
</property>

2. 同步Hive

将Hadoop1的Hive环境同步到Hadoop2, 在Hadoop1上执行一下命令:

scp -r /opt/hive-3.1.3 root@hadoop2:/opt
scp /etc/profile root@hadoop2:/etc

3. 启动服务

在Hadoop2主机上启动MetaStore服务

nohup hive --service metastore &

在Hadoop1主机上启动HiveServer2服务

nohup hive --service hiveserver2 &

4. 测试

同前。

附、网盘资源

链接:https://pan.baidu.com/s/1MSUdwbPArIAglQTDRhOjrg?pwd=jiau
提取码:jiau

举报

相关推荐

0 条评论