欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

Hive安装部署(基于hadoop2.7.3 mysql 8.0)

程序员文章站 2022-07-14 16:36:13
...

Hive安装部署

一.Hive的安装

1、下载apache-hive-2.3.0-bin.tar.gz

可以自行下载其他版本:http://mirror.bit.edu.cn/apache/hive/

2.3.0版本链接:https://pan.baidu.com/s/18NNVdfOeuQzhnOHVcFpnSw
提取码:xc2u

2、用xshell或者其他连接软件将安装包传输到虚拟机/tools 文件夹中
3、解压安装
tar -zxvf apache-hive-2.3.0-bin.tar.gz -C ~/training/
4、设置环境变量
export HIVE_HOME=/root/training/apache-hive-2.3.0-bin
export PATH=$PATH:$HIVE_HOME/bin
5、让环境变量生效
source ~/.bash_profile
6、验证安装
hive --version

二.Hive的配置

[I] 因为hive需要借助MySQL来存储metadata元数据,所以需要安装mysql并配置mysql

I.在虚拟机上安装MySQL(未安装MySQL的,需要安装):
  • 安装过:

1.查看是否有安装过mysql(如果有则进行下面操作,没有的话跳过至分割线下)

rpm -qa | grep -i mysql

2.删除mysql

yum -y remove MySQL-*

3.把所有出现的目录全部删除

find / -name mysql

可以使用rm -rf 语句删除,删除时请注意,一旦删除无法恢复。

4.删除配置文件

rm -rf /etc/my.cnf

5.删除mysql的默认密码

rm -rf /root/.mysql_sercret


  • 未安装过:

0.检查自己本机的mysql是什么版本的我的是8.0.15
Hive安装部署(基于hadoop2.7.3 mysql 8.0)
1.配置Mysql 8.0安装源

rpm -Uvh https://dev.mysql.com/get/mysql80-community-release-el7-3.noarch.rpm

2.安装Mysql 8.0

yum --enablerepo=mysql80-community install mysql-community-server

看到complete则安装成功

3.启动mysql服务

  • 两种方式,选择其一进行启动
service mysqld start
systemctl start mysqld.service

4.查看mysql服务运行状态

service mysqld status

Hive安装部署(基于hadoop2.7.3 mysql 8.0)
5.查看root临时密码
安装完mysql之后,会生成一个临时的密码让root用户登录

grep "A temporary password" /var/log/mysqld.log

Hive安装部署(基于hadoop2.7.3 mysql 8.0)

这里临死密码就为f0155f&dA4Ne

6.利用临时密码进入mysql中,更改密码

  • 进入mysql:
mysql -uroot -p

在enter password 处输入刚刚的临时密码,回车即可登录,若遇到报错:Access denied for user ‘root’@‘localhost’ (using password:YES)请看文章末尾

  • 更改密码策略

由于mysql8.0密码会规定必须有大写小写数字,很麻烦,在此更改密码格式规定:

validate_password.length 是密码的最小长度,默认是8,我们把它改成6
输入:

set global validate_password.length=6;

validate_password.policy 验证密码的复杂程度,我们把它改成0
输入:

set global validate_password.policy=0;

validate_password.check_user_name 用户名检查,用户名和密码不能相同,我们也把它关掉
输入:

set global validate_password.check_user_name=off;
  • 更改密码

注意引号是英文的引号,语句后有分号结尾

在此设置的密码123456,可以自行更换,个人觉得123456最好用

ALTER USER 'root'@'localhost' IDENTIFIED BY '123456';

7.mysql数据库配置

  • 先创建一个名为hive的数据库
create database hive;
  • 进入数据库mysql
use mysql;
  • 查看root的host配置
select host, user, authentication_string, plugin from user;

Hive安装部署(基于hadoop2.7.3 mysql 8.0)

可以看到root的host是localhost而不是%
所以加一个root的host是%的账号

CREATE USER 'root'@'%' IDENTIFIED BY '123456';
  • 在次查看root的host配置
select host, user, authentication_string, plugin from user;

Hive安装部署(基于hadoop2.7.3 mysql 8.0)

可以看到已经增加了root的host为%的用户

  • 配置远程访问权限
GRANT ALL ON . TO 'root'@'%';
  • 强制更新
flush privileges;

[II] 配置hive文件

I.hive-site.xml

1.进入hive安装路径

cd /training/apache-hive-2.3.0-bin/conf

ll查看路径里的内容
Hive安装部署(基于hadoop2.7.3 mysql 8.0)
2.将hive-env.sh.template复制并命名为hive-site.xml

cp hive-default.xml.template hive-site.xml

再次查看

ll

Hive安装部署(基于hadoop2.7.3 mysql 8.0)
3.进入文件进行配置

vi hive-site.xml

4.将文件内内容全部删除后替换此配置

<configuration>
        <property>
                <name>javax.jdo.option.ConnectionURL</name>
                <value>jdbc:mysql://localhost:3306/hive</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>123456</value>
        </property>
        <property>
                <name>hive.metastore.schema.verification</name>
                <value>false</value>
        </property>
</configuration>

5.将mysql8.0的驱动包放在hive安装路径的lib文件夹中

  • 检查自己的mysql版本
    Hive安装部署(基于hadoop2.7.3 mysql 8.0)
  • 下载自己版本的mysql驱动包,此处提供8.0.15版本的

链接:https://pan.baidu.com/s/18x49yO8j8CEp-t8Rb8cxHQ
提取码:au4k

  • 利用xshell或者其他连接软件将mysql8.0的驱动包放在hive安装路径的lib文件夹中
    Hive安装部署(基于hadoop2.7.3 mysql 8.0)

[III] 初始化mysql

1.初始化

 schematool -dbType mysql -initSchema

2.成功日志信息

Starting metastore schema initialization to 2.3.0 Initialization
script hive-schema-2.3.0.mysql.sql
Initialization script completed
schemaTool completed

三. Hive检验测试

1.进入hive

Hive安装部署(基于hadoop2.7.3 mysql 8.0)

2.创建一个库
create database hive1;
3.显示库
show databases;

Hive安装部署(基于hadoop2.7.3 mysql 8.0)
可以看到hive1库了

  • 去hdfs里看看
hadoop fs -lsr/

Hive安装部署(基于hadoop2.7.3 mysql 8.0)

可以看到hdfs里已经更新了hive1这个数据库

Hive安装部署(基于hadoop2.7.3 mysql 8.0)

  • 去mysql里看看
use hive;
select * from DBS;

Hive安装部署(基于hadoop2.7.3 mysql 8.0)

可以看到mysql里也已经更新了hive1这个数据库

Access denied for user ‘root’@‘localhost’ (using password:YES) 解决方案

1.打开MySQL目录下的my.ini文件,在文件的最后添加一行skip-grant-tables,保存并关闭文件。(WIN7默认安装,my.ini在C:\ProgramData\MySQL\MySQL Server 8.0)
2.重启MySQL服务。
3.通过命令行进入MySQL的BIN目录,输入mysql -u root -p(不输入密码),提示输入密码不用管,直接Enter回车即可进入数据库。
4.执行 use mysql;,使用mysql数据库。
5.执行 ALTER USER ‘root’@‘localhost’ IDENTIFIED BY ‘123456’;(修改root的密码)
6.打开MySQL目录下的my.ini文件,删除最后一行的skip-grant-tables,保存并关闭文件。
7.重启MySQL服务。
8.在命令行中输入mysql -u root -p 与密码123456,即可成功连接数据库。

相关标签: mysql hive hadoop