前言
这篇文章主要讲述的是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
简单操作
小结
此为经验篇,仅供参考,如果想依葫芦画瓢,最好先决条件一致~