Hive搭建


前提介绍:需要事先安装好hadoop(本文安装的是hadoop-3.2.2版本)

文章主要搭建mysql8.0.26,以及hive-3.1.2

文章主要还是以浏览为主,具体介绍就不过多介绍了。

一.mysql的安装

1.下载mysql所需要的安装包(rpm)

MySQL :: Download MySQL Community Server

 

MySQL :: Download MySQL Connector/J (Archived Versions) 下载我们所需要的jar安装包 下载最新的即可。

删除系统自带mariadb

一、检查是否自带mariadb数据库 

rpm -qa|grep mariadb

如果有,则返回给你一个标志,反之则没有返回。
二、删除mariadb数据库
注意:如果你【rpm -qa|grep mariadb】没有返回值,则不需要执行如下命令。

rpm -e --nodeps mariadb-libs-5.5.56-2.el7.x86_64

 我的mariadb版本为:【5.5.56-2.el7.x86_64】
mariadb版本可能会有差异,请以自己的版本为准,修改如上命令版本关键数。

安装Mysq

rpm -ivh命令安装rpm包 要注意安装顺序(因为彼此之间有依赖关系)

 rpm -ivh  mysql-community-common-8.0.26-1.el7.x86_64.rpm

 rpm -ivh mysql-community-client-plugins-8.0.26-1.el7.x86_64.rpm

 rpm -ivh mysql-community-libs-8.0.26-1.el7.x86_64.rpm

rpm -ivh mysql-community-client-8.0.26-1.el7.x86_64.rpm

 rpm -ivh mysql-community-server-8.0.26-1.el7.x86_64.rpm

rpm -qa | grep mysql

它可以帮你查看当前mysql安装情况

启动Mysql服务

service mysqld start

获取自动生成的临时密码

注意:此命令是rpm方式安装Mysql才有的【mysqld.log】文件。
如果你不是从本篇博客从前到后安装,请谨慎,因为它只对rpm方式安装的mysql有效。

grep 'temporary password' /var/log/mysqld.log

利用临时密码登录到Mysql客户端

sudo mysql -u root -p

 设置新的Mysql密码(不再使用临时密码)

alter user 'root'@'localhost' identified by '你的密码';

但是一般会报错,因为不符合相关密码规定

所以我们需要关门密码策略(在mysql执行)

1)修改validate_password_policy参数值为0(1为开启复杂策略)
注意:此参数(policy)必须优先修改,因为policy策略不修改为0会影响下面的length参数。

set global validate_password_policy=0;

 

2)修改validate_password_length参数值为1

set global validate_password_length=1;

 

最后执行修改密码测试:

alter user 'root'@'localhost' identified by '你的密码';

 这样我们密码就修改成功了。

授权root允许远程访问(可视化软件可以建立链接)(建立远程连接)

授权命令:

grant all privileges on *.* to 'root'@'%' identified by '你的密码';

 

刷新授权:

flush privileges;

 这样我们的mysql就搭建完成了

hive安装

1.我们需要解压相应的hive包

进入相应目录下

tar -zxvf apache-hive-3.1.2-bin.tar.gz -C /opt

之后我们改名字(进入hive目录)

mv apache-hive-3.1.2-bin hive-3.1.2

配置 Hive 组件

vi /etc/profile

export HIVE_HOME=/opt/hive-3.1.2

export PATH=$PATH:$HIVE_HOME/bin

之后source /etc/profile

conf文件夹下没有hive-env.sh,只能通过hive-env.sh.template文件生成并修改

cp hive-env.sh.template  hive-env.sh

修改 hive-env.sh

export HADOOP_HOME=/opt/hadoop/hadoop-3.2.2

export HIVE_CONF_DIR=/opt/hive-3.1.2/conf

 创建hive-site.xml文件

vi hive-site.xml

<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>

按理说应该是成功了,但是我也遇到了许多问题,这里我就直接告诉应该如何去做

第一个问题:问题定位:
考虑到此包是guava组件提供,猜测可能是HIVE和HADOOP内置的jar包版本不一致导致,文件包如下:
hive/lib:guava-19.0.jar
hadoop/lib:guava-27.0-jre.jar,此jar包的位置在share/hadoop/common/lib下面
我们删除掉旧版本的19,将新版本拷贝进去

第二个问题:我们需要将我们的jar包复制到hive-3.1.2的lib目录中。

初始化 hive 元数据

启动 hadooop

初始化数据库命令: schematool -initSchema -dbType mysql

启动 hive命令:hive


 

 

 

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值