Hive本地模式安装部署

Hive本地模式安装部署

使用mysql替换derby进行元数据的存储,hive的相关进程都是在同一台机器上,即本地模式。mysql因为是独立的进程,所以mysql可以和hive在同一机器上,也可以在其他机器上。

在这里插入图片描述

说明:

通常使用关系型数据库来进行元数据存储(mysql、oracle等执行带jdbc驱动的数据库)

  • 优点:支持多session

  • 缺点:需要配置、还需要安装mysql等关系型数据库

2.2.1 配置安装mysql

安装包准备
#查看mysql是否安装,如果安装了,卸载mysql
[root@hadoop01 hive] rpm -qa|grep mysql  #如果出现下面的提示,就说明系统已经有了mysql,要卸载
mysql-libs-5.1.73-7.el6.x86_64
# 卸载mysql
[root@hadoop01 hive] rpm -e --nodeps mysql-libs-5.1.73-7.el6.x86_64
安装MySql服务器

mysql安装的步骤介绍

# 1. 下载mysql服务端(先从本地上传服务端和客户端到服务器,尽量使用root用户操作)
# 如果本地没有 可以下面命令在线下载5.7版本
[root@wei soft]# wget https://dev.mysql.com/get/mysql57-community-release-el7-11.noarch.rpm

# 2. 通过命令进行安装:
[root@hadoop01 soft]# rpm -ivh  mysql57-community-release-el7-11.noarch.rpm


# 通过下面命令可以查看是否安装
[root@wei soft]# yum repolist all| grep mysql
mysql-cluster-7.5-community/x86_64 MySQL Cluster 7.5 Community   disabled
mysql-cluster-7.5-community-source MySQL Cluster 7.5 Community - disabled
mysql-cluster-7.6-community/x86_64 MySQL Cluster 7.6 Community   disabled
mysql-cluster-7.6-community-source MySQL Cluster 7.6 Community - disabled
mysql-connectors-community/x86_64  MySQL Connectors Community    enabled:    141
mysql-connectors-community-source  MySQL Connectors Community -  disabled
mysql-tools-community/x86_64       MySQL Tools Community         enabled:    105
mysql-tools-community-source       MySQL Tools Community - Sourc disabled
mysql-tools-preview/x86_64         MySQL Tools Preview           disabled
mysql-tools-preview-source         MySQL Tools Preview - Source  disabled
mysql55-community/x86_64           MySQL 5.5 Community Server    disabled
mysql55-community-source           MySQL 5.5 Community Server -  disabled
mysql56-community/x86_64           MySQL 5.6 Community Server    disabled
mysql56-community-source           MySQL 5.6 Community Server -  disabled
mysql57-community/x86_64           MySQL 5.7 Community Server    enabled:    404
mysql57-community-source           MySQL 5.7 Community Server -  disabled
mysql80-community/x86_64           MySQL 8.0 Community Server    disabled
mysql80-community-source           MySQL 8.0 Community Server -  disabled
# 通过上面可以看到mysql5.7 是enable状态

# 3. 通过yum开始mysql安装
[root@hadoop01 soft]# yum install -y mysql-community-server

# 4. 启动mysql服务
# 启动数据库
[root@hadoop01 soft]# systemctl start mysqld   
# 设置开机自启数据库
[root@hadoop01 soft]# systemctl enable mysqld  

# 5. 查看产生的随机密码,运行命令后最后显示的xuzmpubKv0(f即为密码
[root@hadoop01 soft]# grep 'password' /var/log/mysqld.log
2020-04-14T19:20:47.261622Z 1 [Note] A temporary password is generated for root@localhost: xuzmpubKv0(f

# 6. 用上述密码登录数据库
[root@hadoop01 soft] mysql -u root -p

# 7. 修改密码
mysql> ALTER USER 'root'@'localhost' IDENTIFIED BY 'Root567!'

注意:登录成功后,要降低密码策略机制,改为low,也可以将密码长度6.

set global validate_password_policy=low;
set global validate_password_length=6;

查看密码策略
show variables like '%validate_password%';

远程授权:如果想要远程连接mysql,需要进行远程授权操作(注意,一定要关闭防火墙)

grant all privileges on *.* to root@"%" identified by '远程密码' with grant option;

2.2.2 配置hive的环境

1、解压并配置环境变量

2、配置hive的配置文件

  cp hive-env.sh.template hive-env.sh
  vi hive-env.sh(可以配置jdk、hive的conf路径)

3、在Hive的conf配置hive的自定义配置文件
vi hive-site.xml:添加如下内容

**注意:**前三步和内嵌模式一样

4、找到下面四个属性进行修改对应的值。

<!--配置mysql的连接字符串-->
<property>
<name>javax.jdo.option.ConnectionURL</name>
<value>jdbc:mysql://qianfeng03:3306/hive?createDatabaseIfNotExist=true</value>
<description>JDBC connect string for a JDBC metastore</description>
</property>
<!--配置mysql的连接驱动-->
<property>
<name>javax.jdo.option.ConnectionDriverName</name>
<value>com.mysql.jdbc.Driver</value>
<description>Driver class name for a JDBC metastore</description>
</property>
<!--配置登录mysql的用户-->
<property>
<name>javax.jdo.option.ConnectionUserName</name>
<value>root</value>
<description>username to use against metastore database</description>
</property>
<!--配置登录mysql的密码-->
<property>
<name>javax.jdo.option.ConnectionPassword</name>
<value>123456</value>
<description>password to use against metastore database</description>
</property>

注意:hive的元数据在mysql库里创建的数据库hive的编码最好设置成latin1.

show variables like 'character%';

5、将mysql的驱动包mysql-connector-java-5.1.28-bin.jar上传到$HIVE_HOME/lib下(注意:驱动是jar结尾,不是tar结尾)

6、执行执行先要初始化数据库

[root@hadoop01 hive]# bin/schematool -initSchema -dbType mysql

7、启动hive

[root@hadoop01 hive]# bin/hive

说明: hive命令会默认启动元数据服务项(metastore)

©️2020 CSDN 皮肤主题: 创作都市 设计师:CSDN官方博客 返回首页