ubuntu22.04安装MySQL、Hive及Hive连接MySQL操作

前言

这篇文章主要讲述的是ubuntu22.04上数据仓库Hive的安装和使用

正文

建议按照文章实践前稍微通读下全文

安装MySQL服务端和客户端

相关命令:

sudo apt-get install mysql-server

sudo apt-get install mysql-client

修改mysql的配置文件

在终端中输入sudo vim /etc/mysql/mysql.conf.d/mysqld.cnf修改mysql的配置文件

[mysqld]之后,任意新建一行,添加文本skip-grant-tables,并保存

在这里插入图片描述

mysql登录操作

相关命令:

重启mysql服务:service mysql restart

mysql -u root -p 无需输入密码,直接回车,即可登录

在这里插入图片描述

mysql修改登录密码操作

先切换到名为mysql的数据库 use mysql,然后再更新user表中的root用户的密码,本例设置密码为123

相关命令:

update user set authentication_string='123' where user = 'root';

flush privileges;

ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY '123';

退出mysql终端:quit
在这里插入图片描述

恢复前面所修改的mysql配置文件

删除或注释掉所添加skip-grant-tables,并保存

相关命令:

sudo vim /etc/mysql/mysql.conf.d/mysqld.cnf

mysql -u root -p 密码为前面设置的密码123

在这里插入图片描述

在这里插入图片描述

MySQL JDBC驱动程序安装

ubuntu22.04安装MySQL JDBC驱动程序

在这里插入图片描述

Hive的安装部署

将Hive的安装文件“apache-hive-3.1.2-bin.tar.gz”复制到当前用户目录中

在终端中输入 sudo tar -zxvf apache-hive-3.1.2-bin.tar.gz -C /usr/local 命令进行软件包的解压缩

对解压缩输出文件夹进行重命名为Hive,并授予当前用户访问权限

cd /usr/local/

sudo mv apache-hive-3.1.2-bin hive

sudo chown -R lion hive
在这里插入图片描述

将安装的驱动程序文件夹中的JAR文件“mysql-connector-j-8.0.31.jar”复制到Hive安装目录的lib文件夹中

在这里插入图片描述

编辑用户的环境变量配置文件 sudo vim ~/.bashrc

在文件的开头位置,添加如下几行内容:

export HIVE_HOME=/usr/local/hive
export HADOOP_HOME=/usr/local/hadoop
export PATH= P A T H : PATH: PATH:HIVE_HOME/bin

在这里插入图片描述
让环境变量设置生效 source ~/.bashrc

在这里插入图片描述

将“/usr/local/hive/conf”目录下的hive-default.xml.template文件重命名为hive-default.xml,命令如下:

cd /usr/local/hive/conf

sudo mv hive-default.xml.template hive-default.xml

使用vim编辑器新建一个文件hive-site.xml,命令如下:

cd /usr/local/hive/conf

vim hive-site.xml

在hive-site.xml中输入如下配置信息:

<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<?xml-stylesheet type="text/xsl" href="configuration.xsl"?>
<configuration>
  <property>
    <name>javax.jdo.option.ConnectionURL</name>
    <value>jdbc:mysql://localhost:3306/hive?createDatabaseIfNotExist=true</value>
    <description>JDBC connect string for a JDBC metastore</description>
  </property>
  <property>
    <name>javax.jdo.option.ConnectionDriverName</name>
    <value>com.mysql.jdbc.Driver</value>
    <description>Driver class name for a JDBC metastore</description>
  </property>
  <property>
    <name>javax.jdo.option.ConnectionUserName</name>
    <value>hive</value>
    <description>username to use against metastore database</description>
  </property>
  <property>
    <name>javax.jdo.option.ConnectionPassword</name>
    <value>hive</value>
    <description>password to use against metastore database</description>
  </property>
</configuration>

Hive访问MySQL的用户名设置为hive 密码被设置为hive

查看目录“/usr/local/Hadoop/share/Hadoop/common/lib”目录下guava.jar的版本
查看目录“/usr/local/hive/lib”目录下guava.jar的版本
检查hadoop和hive的guava.jar的版本是否一致
如果不一致,则启动hive会出错。
解决方法:删除低版本guava.jar,用高版本的guava.jar代替

如:hadoop 3.1.3的guava为guava-27.0-jre,hive3.1.2的guava为guava-19.0。

在这里插入图片描述

Hive连接MySQL的配置

启动MySQL

在MySQL中为Hive新建数据库

配置MySQL允许Hive接入

相关命令:

create user hive identified by 'hive';

grant all privileges on hive.* to hive@'%' with grant option;

flush privileges;

在这里插入图片描述

启动Hive

启动Hive之前,需要先启动Hadoop集群 伪分布式 start-dfs.sh

再执行如下命令初始化 cd /usr/local/hive bin/schematool -dbType mysql -initSchema

在这里插入图片描述

hive命令启动Hive
在这里插入图片描述

简单操作
在这里插入图片描述

小结

此为经验篇,仅供参考,如果想依葫芦画瓢,最好先决条件一致~

猜你喜欢

转载自blog.csdn.net/lion_no_back/article/details/128519377