说明:hive搭建必须建立在hadoop的基础上,如果想要了解如何搭建hadoop集群下面文章对你可能会有帮助,本次hive搭建主要采用MySQL8.1.0版本,Hive为3.1.1版本。
一、搭建mysql客户端
1、下载有关文件
(1)因为搭建的平台基于CentOS-7系统,所以选择以下版本,读者可以根据自己虚拟机系统选择
(2)选择以下文件下载:
1)
2)
3)
4)
5)
2、检查虚拟机中是否有自带的mariadb数据库
(1)检测是否有自带的mariadb数据库:rpm -qa | grep mariadb
(2)若有,则会显示自带mariadb数据库的信息(如下图),那么要将其删除:rpm -e --nodeps mariadb-libs-5.5.68-1.el7.x86_64
(3)按照下列顺序安装mysql相关文件(一定要按顺序,安装的文件之间存在依赖关系):
rpm -ivh mysql-community-common-8.1.0-1.el7.x86_64.rpm
rpm -ivh mysql-community-client-plugins-8.1.0-1.el7.x86_64.rpm
rpm -ivh mysql-community-libs-8.1.0-1.el7.x86_64.rpm
rpm -ivh mysql-community-client-8.1.0-1.el7.x86_64.rpm
rpm -ivh mysql-community-icu-data-files-8.1.0-1.el7.x86_64.rpm
rpm -ivh mysql-community-server-8.1.0-1.el7.x86_64.rpm
注:在安装过程中,想要查看自己已经安装了那些文件,可通过:rpm -qa | grep mysql
3、启动mysql服务
service mysql start
4、获取自动生成的密码进行首次登录
grep 'temporary password' /var/log/mysqld.log
获取到的临时生成登录密码在图中红框部分
5、用临时密码登录sql客户端
mysql -uroot -p
成功进入客户端如下图:
6、为了便于后续登录,修改登录密码(在mysql里进行)
注意,因为这里设置密码有一定要求,尽量使用大小字母、特殊符号混合的六位以上的密码,不然会修改密码不成功
alter user 'root'@'localhost' identified by '你的密码';(注意在sql里面输入指令,输入完毕后以‘;’表示结束的标志)
特别提示:也可以通过修改相关配置来更改密码策略的相关配置来降低设置密码的难度,具体步骤如下:
- 编辑 vi /etc/my.cnf
- 在mysql下添加下列语句:
validate_password.policy=LOW #表示密码设置要求为低
validate_password.length=6 #表示设置密码的长度至少为6位,有需要自己可以修改参数
3、重启mysql,让配置生效:sudo systemctl restart mysqld.service ,再次登录mysql修改密码即可
7、授权root允许远程访问从而建立远程连接
(1)首先创建了一个带有指定密码的root
用户:CREATE USER 'root'@'%' IDENTIFIED BY '你的密码!';
(2)然后授予了该用户在所有数据库和所有表上的所有权限 :GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' WITH GRANT OPTION;
(3)刷新授权:flush privileges; 最后mysql即可搭建成功;
8、退出mysql
若需要退出mysql客户端:exit;
二、搭建Hive客户端
1、下载及压缩相关的文件以及压缩包
(1)下载hive压缩包
apache-hive-3.1.1-bin.tar.gz 下载地址
压缩文件到 /opt/目录下:tar -zxvf apache-hive-3.1.1-bin.tar.gz
这里我们修改一下名称便于后续操作:mv apache-hive-3.1.1-bin.tar.gz hive-3.1.1
(2)数据库mysql驱动文件
mysql-connector-java-8.0.30.jar 下载地址
根据需求选择需要的驱动文件下载即可,将下载的驱动文件要保存到你解压后hive目录下的lib路径下。
2、配置hive环境变量
(1)终端中输入:vi /etc/profile
(2)加入以下语句:
export HIVE_HOME=/opt/hive-3.1.1
export PATH=$PATH:$HIVE_HOME/bin
(3)输入:source /etc/profile 让修改的环境配置生效
3、修改配置文件hive-env.sh
(1)切换到 :cd /opt/hive-3.1.1/conf 路径下;
(2)因为没有hive-env.sh文件,所以复制一份hive-env.sh.template 文件并取名hive-site.sh 进行修改:cp hive-env.sh.template hive-env.sh
(3)编辑文件:vi hive-env.sh ,修改以下内容:
4、新建配置文件hive-site.xml
(1)新建文件:vi hive-site.xml
(2)输入以下内容:注意密码部分要改成登录数据库密码
<configuration>
<!--刚刚建的文件夹路径-->
<property>
<name>hive.metastore.warehouse.dir</name>
<value>/opt/hive/warehouse</value>
</property>
<property>
<name>hive.metastore.local</name>
<value>true</value>
</property>
<!--指定Hive元数据存储的MySQL地址-->
<property>
<name>javax.jdo.option.ConnectionURL</name>
<value>jdbc:mysql://127.0.0.1:3306/hive?createDatabaseIfNotExist=true</value>
</property>
<!--元数据存储数据库的驱动-->
<property>
<name>javax.jdo.option.ConnectionDriverName</name>
<value>com.mysql.jdbc.Driver</value>
</property>
<!--元数据存储数据库的用户名-->
<property>
<name>javax.jdo.option.ConnectionUserName</name><value>root</value>
</property>
<!--元数据存储数据库的密码-->
<property>
<name>javax.jdo.option.ConnectionPassword</name>
<value>相应的密码</value>
</property>
</configuration>
5、统一hadoop和hive中guava组件的jar包的版本
为了后续防止可能出现错误,这里需要分别看一下,在hadoop中的 /share/hadoop/common/lib 下的guava的jar包和hive 中的 /lib 下的guava的jar包哪个版本更高,删除掉其中较低版本的,复制进去高版本的。
6、启动hadoop(安装好的前提下)
(1)切换到hadoop路径下的bin路径下
(2)启动hadoop集群:start-all.sh
7、初始化数据库
初始化: schematool -initSchema -dbType mysql
出现以下提示则初始化成功:
8、启动Hive
输入:hive 出现下图则Hive搭建成功: