hive环境搭建
基础环境准备
由于centos7系统自带的mariadb数据库会和mysql冲突,所以首先要将它删掉。
使用rpm命令 sudo rpm -qa | grep -i mariadb
查看是否还有mariadb数据库。如下图就是存在:
根据显示的版本将对应mariadb数据库删除。
仍是使用rpm的命令 sudo rpm -e --nodeps mariadb数据库版本
然后再次查看:
可以看到已经没有该数据库了。
注:此处的删除无需三个节点同步删除。
MySQL的安装
MySQL插件的准备
由于hive是需要以MySQL为基础来搭建的所以这里先配置MySQL。
MySQL的使用需要用到libaio.so.1、net-tools、perl
三个插件,在配置MySQL前先下载插件。
1.libaio.so.1的安装
使用命令sudo yum -y install libaio.so.1*
来下载libaio,如下图结果即为成功。
当然,有时会出现如下图的结果:
这个表示你的系统里面已经有该插件了,若害怕不够保险,可以按照前面删除mariadb数据库的方式删除该插件,然后再安装。如下图示:
首先查看版本:
命令为
sudo rpm -qa | grep -i libaio
然后按照版本删除:
最后再安装即可。
2.net-tools的安装
使用命令sudo yum -y install net-tool
下载net-tool。
成功结果如下图:
3.perl的安装
使用命令sudo yum -y install perl
下载perl。
看到如下图的完成即为成功安装。
MySQL的配置
MySQL解压
一切准备工作做完,我们来到保存解压文件的目录,查看是否有我们需要的MySQL压缩包。
然后新建一个目录:
可知我们的MySQL压缩包是tar类型,所以这里使用命令sudo tar -xvf mysql-5.7.28-1.el7.x86_64.rpm-bundle.tar -C mysql
将MySQL解压到新创建的目录下。
查看是否有缺失文件:
MySQL的安装
首先使用命令sudo rpm -ivh mysql-community-common-5.7.28-1.el7.x86_64.rpm
安装MySQL的公共服务。
然后使用命令sudo rpm -ivh mysql-community-libs-5.7.28-1.el7.x86_64.rpm
安装MySQL的依赖库。
在之后使用命令sudo rpm -ivh mysql-community-client-5.7.28-1.el7.x86_64.rpm
安装MySQL的客户端。
最后安装MySQL的服务端:
MySQL的启动及密码修改
在启动之前,首先要将MySQL的服务启动,使用命令sudo systemctl status mysqld.service
查看mysql服务状态
如上图为关闭状态,使用命令sudo systemctl start mysqld.service
启动MySQL服务。随后再次查看状态:
如上图即为启动状态,说明启动成功。
下面进行密码的修改。
首先查看MySQL的临时密码,使用命令sudo grep "temporary password" /var/log/mysqld.log
查看MySQL临时密码。
如上图中,最后一行冒号后的内容即为临时密码。
使用命令mysql -u root -p
登录MySQL,然后粘贴刚刚查看的临时密码,登录成功后如下图:
但是登录成功后会发现不能正常使用sql命令,连查看有什么数据库都会报错,如下图:
这个报错是告诉我们必须重新设置一个密码才能正常使用,所以现在重设一个密码。
鉴于MySQL有默认的密码长度要求,不按要求来就给你报错,所以为方便我们降低MySQL的安全指数为0。
使用sql命令set global validate_password_policy=0;
降低MySQL安全指数为零。
但是只是将安全指数降低,设置密码时它还是会叫你至少输入八位,所以将最小密码长度设置为1。
使用命令set global validate_password_length=1;
将最小密码长度设置为1。
下面进行修改密码操作
使用命令set password for root@localhost=password('123456');
此命令中的123456为设置的密码,如有需求改成对应的密码就好。
然后使用命令flush privileges;
刷新,使刚刚设置的密码生效。
最后退出MySQL再次登录,这次使用新密码登录,如下图:
MySQL的远程服务配置
在数据开发过程中,需要远程访问MySQL,但MySQL的远程访问服务是关闭的,现在我们把它打开。
首先执行用户更新命令update mysql.user set host=('%') where user='root';
随后删除mysql.session和mysql.sys两个用户,命令为:
delete from mysql.user where user='mysql.session';
delete from mysql.user where user='mysql.sys';
远程访问配置结束,现在刷新并退出MySQL即可,准备进行测试。
打开navicat新建一个连接
连接名自己随便设定就好,主机名为配置了MySQL的那个节点的名称(一般为主节点名,同时该节点需要在本地设置过,可在Linux笔记中见。)用户名和密码为在节点中设定的MySQL的用户名和密码。
随后双击刚刚新建的mysql连接,若超时表示远程连接失败,若连接成功,那当然就是连接成功了哈哈哈。成功如下图示:
至此,MySQL的配置结束,接下来是hive的时间。
hive环境的配置
首先来到存放压缩包的目录下查看是否有需要的压缩包。
可以看到第一个就是需要的hive压缩包,由于它的压缩类型为tar.gz,所以我们使用命令:tar -zxvf apache-hive-3.1.2-bin.tar.gz -C /opt/module/
将文件解压到存放配置文件的目录中。
接下来查看是否解压成功
使用mv命令将文件改名为hive-3.1.2,便于配置文件。命令为mv apache-hive-3.1.2-bin hive-3.1.2
然后进入hive目录中使用pwd命令获取当前路径,复制下来配置环境变量。
使用命令vi /etc/profile
打开环境变量配置文件。并将如下内容放入该文件最后。
export HIVE_HOME=hive路径
export PATH=$PATH:$HIVE_HOME/bin
保存退出后使用命令source /etc/profile
使环境变量生效。
打开notepad++连接上配置hive的主节点。随后打开opt/module/hive-3.1.2/conf
,找到第一个要修改的文件hive-env.sh.template
并将其更名为hive-env.sh
。
打开文件,在第48行找到如下内容:
随后更改为如下状态:
如上图中第四十八行原本在前面的#
务必删除,否则视为被注释状态,配置的内容会失效。
而HADOOP_HOME后的内容为Hadoop在Linux系统中的路径。
随后找到第五十一行的如下内容:
更改至如下状态:
此处原本在前面的#
仍然需要删除,同前面一样。而此处等号后的路径为hive路径。