hive数据仓库配置

请添加图片描述

部署hive数据库

环境准备

需要安装部署完成的Hadoop的环境如果不会搭建的可以参考:hadoop 的搭建(超级详细版本)

卸载系统中自带的数据库

  • 卸载Centos7自带的mariadb
rpm -qa|grep mariadb

rpm -e mariadb-libs-5.5.64-1.el7.x86_64 --nodeps

rpm -qa|grep mariadb 

mariadb-libs-5.5.64-1.el7.x86_64是使用rpm -qa|grep mariadb查询出来的名称

安装mysql

  • 创建文件夹,为数据库安装创建目录
mkdir /opt/module/mysql
  • 上传数据库压缩文件并且解压到上述文件夹下
tar xvf mysql-5.7.29-1.el7.x86_64.rpm-bundle.tar -C /opt/module/mysql
  • 下载安装需要的依赖包
yum -y install libaio
yum install net-tools
  • 进行安装
rpm -ivh mysql-community-common-5.7.29-1.el7.x86_64.rpm mysql-community-libs-5.7.29-1.el7.x86_64.rpm mysql-community-client-5.7.29-1.el7.x86_64.rpm mysql-community-server-5.7.29-1.el7.x86_64.rpm 
  • 初始化
mysqld --initialize
  • 更改所属组
chown mysql:mysql /var/lib/mysql -R
  • 启动MySQL服务
systemctl start mysqld.service
  • 查看生成的临时密码
cat  /var/log/mysqld.log

如果认为这么找太浪费眼睛和精力了可以是同grep 'password' /var/log/mysqld.log命令直接查看临时密码

  • 进入MySQL
mysql -u root -p

输入刚才的临时密码(密码不可见)

  • 更新root密码 设置为123456
alter user user() identified by "123456";
  • 授权
use mysql;
GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY '123456' WITH GRANT OPTION;

或者

update user set host = '%' where user = 'root';
  • 建议设置为开机自启动服务
systemctl enable  mysqld
  • 查看是否已经设置自启动成功
systemctl list-unit-files | grep mysqld

安装mysql时可能会出现的问题

1、依赖检测失败
请添加图片描述
问题很明显了就是依赖的问题,下载他说的依赖就好了

yum install perl
  1. 密码不满足当前策略要求
    错误提示如下:
ERROR 1819 (HY000): Your password does not satisfy the current policy requirements

1.进入mysql
输入命令:

mysql -uroot -p

2、查看 mysql 初始的密码策略,

 SHOW VARIABLES LIKE "validate_password%";

输入语句 “ SHOW VARIABLES LIKE ‘validate_password%’; ” 进行查看
3、首先需要设置密码的验证强度等级,设置 validate_password_policy 的全局参数为 LOW 即可

set global validate_password_policy=LOW;

输入设值语句 “ set global validate_password_policy=LOW; ” 进行设值
4、当前密码长度为 8 ,如果不介意的话就不用修改了,按照通用的来讲,设置为 6 位的密码,设置 validate_password_length 的全局参数为 6 即可,

set global validate_password_length=6

输入设值语句 “ set global validate_password_length=6; ” 进行设值,
5、现在可以为 mysql 设置简单密码了,只要满足六位的长度即可,

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

输入修改语句 “ ALTER USER ‘root’@‘localhost’ IDENTIFIED BY ‘123456’; ” 可以看到修改成功,表示密码策略修改成功了!!!

安装hive

上传并且解压

tar zxvf apache-hive-3.1.2-bin.tar.gz

解决Hive与Hadoop之间guava版本差异

cd /export/server/apache-hive-3.1.2-bin/
rm -rf lib/guava-19.0.jar
cp /export/server/hadoop-3.3.0/share/hadoop/common/lib/guava-27.0-jre.jar ./lib/

修改配置文件
hive-env.sh

cd /export/server/apache-hive-3.1.2-bin/conf
mv hive-env.sh.template hive-env.sh

vim hive-env.sh
# 在配置文件的最后
export HADOOP_HOME=/export/server/hadoop-3.3.0
export HIVE_CONF_DIR=/export/server/apache-hive-3.1.2-bin/conf
export HIVE_AUX_JARS_PATH=/export/server/apache-hive-3.1.2-bin/lib

hive-site.xml

<configuration>
<!-- 存储元数据mysql相关配置 -->
<property>
	<name>javax.jdo.option.ConnectionURL</name>
	<value>jdbc:mysql://node1:3306/hive3?createDatabaseIfNotExist=true&amp;useSSL=false&amp;useUnicode=true&amp;characterEncoding=UTF-8</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>20020115</value>
</property>

<!-- H2S运行绑定host -->
<property>
    <name>hive.server2.thrift.bind.host</name>
    <value>node1</value>
</property>

<!-- 远程模式部署metastore metastore地址 -->
<property>
    <name>hive.metastore.uris</name>
    <value>thrift://node1:9083</value>
</property>

<!-- 关闭元数据存储授权  --> 
<property>
    <name>hive.metastore.event.db.notification.api.auth</name>
    <value>false</value>
</property>
</configuration>

没有这个文件的时候可以进行创建,本人就是没有这个文件

将mysql的jdbc的驱动包上传到hive安装路径lib下(驱动名称)

mysql-connector-java-5.1.32.jar

数据库初始化

cd /export/server/apache-hive-3.1.2-bin/

bin/schematool -initSchema -dbType mysql -verbos
#初始化成功会在mysql中创建74张表

在hdfs创建hive存储目录(如存在则不用操作)

hadoop fs -mkdir /tmp
hadoop fs -mkdir -p /user/hive/warehouse
hadoop fs -chmod g+w /tmp
hadoop fs -chmod g+w /user/hive/warehouse

启动数据库

#前台启动  关闭ctrl+c
/export/server/apache-hive-3.1.2-bin/bin/hive --service metastore

#前台启动开启debug日志
/export/server/apache-hive-3.1.2-bin/bin/hive --service metastore --hiveconf hive.root.logger=DEBUG,console  

#后台启动 进程挂起  关闭使用jps+ kill -9
nohup /export/server/apache-hive-3.1.2-bin/bin/hive --service metastore &

# 启动hiveserver2服务
 nohup /export/server/apache-hive-3.1.2-bin/bin/hive --service hiveserver2 &

  #注意 启动hiveserver2需要一定的时间  不要启动之后立即beeline连接 可能连接不上

检查hiveserver2服务是否启动成功
拷贝node1安装包到beeline客户端机器上(node3)

scp -r /export/server/apache-hive-3.1.2-bin/ node3:/export/server/

在node3上进行连接访问

/export/server/apache-hive-3.1.2-bin/bin/beeline

beeline> ! connect jdbc:hive2://node1:10000
beeline> root
beeline> 直接回车

在这里插入图片描述
连接成功!!!

使用datagrip连接hive数据库

创建数据源

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
然后点击应用和确定就可以连接数据库了

!!!特别注意:上面文档的/export/server这个路径要根据自己的情况而定注意辨别否则可能会出现错误

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

阿龙的代码在报错

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值