Hive3.1.2的配置安装
前言
- 前提环境:ubuntu20.04+hadoop3.3.1+jdk1.8.0_341+mysql8+hbase2.4.4
一、Hive是什么?
- 简介:Hive是一个基于Hadoop的数据仓库工具,可以对存储在Hadoop文件中的数据进行数据整理,特殊存储和分析处理。Hive在某种程度上可以看作用户编程接口,其本身并不具存储和处理数据,而是依赖来HDFS来存储数据,依赖MapReduce(或Tez,Spark)来处理数据。
- 优点:是一个可以有效,合理,只管地组织和使用数据分析工具。(更在行处理大的数据)。
- Hive模块:用户接口模块,驱动模块,元数据存储模块。
- 数据仓库的体系结构:数据源,数据存储和管理,数据服务,数据应用。
二、安装准备
- 先进行下载安装包。Hive3.1.2
- 下载地址:https://mirrors.tuna.tsinghua.edu.cn/apache/hive/
- mysql是通过命令进行安装的。
三.进行安装操作
- 先对本机的mysql进行删除,原因如果不删除mysql则会在后续配置中可能出现问题。
- 操作如下(这里仅展示几个)
sudo apt purge mysql-*
sudo rm -r /etc/mysql
sudo rm -r /var/lib/mysql
sudo apt autoremove
sudo apt autoclean
j截图如下
3. 安装mysql
sudo apt-get install mysql-server -y
sudo apt install mysql-client -y
sudo apt install libmysqlclient-dev -y
检验是否成功
4. 连接本地mysql用于进入mysql
sudo cat /etc/mysql/debian.cnf
5. 在对mysql进行关闭与启动
6. 进入mysql(此时输入的密码为上面的得到的)
mysql -u debian-sys-maint -p
debian-sys-maint(表示的是上面产生的用户名)
7. 在mysql中创建新用户
进入MySQL
每次使用后应进行刷新操作。
创建用户。
查看用户权限
为用户赋予权限(我赋予了全部权限)
使用方法
grant 权限 on 数据库.表 to '用户'@‘IP地址(若为本地localhost)’
权限列表
all privileges 除grant外的所有权限
select 查看权限
select,insert 查看和插入
Alter routine 权限代表允许修改或者删除存储过程、函数的权限
Create 权限代表允许创建新的数据库和表的权限
Create routine 权限代表允许创建存储过程、函数的权限
Create tablespace 权限代表允许创建、修改、删除表空间和日志组的权限
Create temporary tables 权限代表允许创建临时表的权限
Create user 权限代表允许创建、修改、删除、重命名user的权限
Create view 权限代表允许创建视图的权限
Delete 权限代表允许删除行数据的权限
Drop 权限代表允许删除数据库、表、视图的权限,包括truncate table命令
Event 权限代表允许查询,创建,修改,删除MySQL事件
Execute 权限代表允许执行存储过程和函数的权限
...(还有很多不再赘述)
8. 解压hive到/usr/local路径下
9.对hive进行重命名,设置权限
9. 配置hive环境 sudo vim ~/.bashrc
export HIVE_HOME=/usr/local/hive (你的hive 安装路径)
export PATH = $PATH:$HIVE_HOME/bin
- 创建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.cj.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>
<property>
<name>datanucleus.schema.autoCreateAll</name>
<value>true</value>
</property>
<property>
<name>datanucleus.readOnlyDatastore</name>
<value>false</value>
</property>
<property>
<name>datanucleus.fixedDatastore</name>
<value>false</value>
</property>
<property>
<name>datanucleus.autoCreateSchema</name>
<value>true</value>
</property>
<property>
<name>datanucleus.autoCreateTables</name>
<value>true</value>
</property>
<property>
<name>datanucleus.autoCreateColumns</name>
<value>true</value>
</property>
</configuration>
- 启动hadoop
- 启动hive
并进行hive 操作创建表….
总结
– Hive架构在MapReduce, HDFS之上,自身并不存储和处理数据,而是分别借助HDFS和MapReduce实现数据的存储和处理。