零、资源准备
- 虚拟机相关:
- 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上。
网络拓扑:
服务 | 虚拟机 |
---|---|
metastore | hadoop2 |
hiveserver2 | hadoop1 |
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
发表评论