hive正是实现了这个,hive是要类SQL语句(HiveQL)来实现对hadoop下的数据管理。hive属于数据仓库的范畴,那么,数据库和数据仓库到底有什么区别了,这里简单说明一下:数据库侧重于OLTP(在线事务处理),数据仓库侧重OLAP(在线分析处理);
首先确定 已经安装好了hadoop集群!
在linux安装mysql
在命令行输入:(如果下载速度很慢,可以更改下载源,详情见:https://blog.csdn.net/weixin_37595559/article/details/77679586)
sudo apt install mysql-server
增加用户并设置密码:
sudo mysql -u root
配置密码:
GRANT ALL PRIVILEGES ON *.* TO root@localhost IDENTIFIED BY "123";
flush privileges;
详细示意图:
创建数据库:(为了安全最好再去创建一个用户,然后赋予权限。这里直接将root作为用户)
mysql> CREATE DATABASE user0;
查看自己创建的数据库:
再安装hive:
然后在Hive官网上下载需要的版本,hive.apache.org archive.apache.org
解压和配置:
sudo tar -zxvf apache-hive-3.1.0-bin.tar.gz
解压到指定的文件夹下:示意图
修改文件夹的权限:
sudo chmod -R 777 /usr/local/hadoop/hive/apache-hive-3.1.0-bin
然后配置hive,cd apache-hive-3.1.0-bin/conf/ sudo vi hive-site.xml (如果没有这个文件就新建一个!同样式使用这个命令新建)
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<?xml-stylesheet type="text/xsl" href="configuration.xsl"?>
<configuration>
<property>
<name>hive.metastore.warehouse.dir</name>
<value>/usr/local/hadoop/hive/warehouse</value>
<description>location of default database for the warehouse</description>
</property>
<property>
<name>javax.jdo.option.ConnectionURL</name>
<value>jdbc:mysql://localhost:3306/hive</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.ConnectionPassword </name>
<value>填上你自己的连接数据库的密码</value>
</property>
<property>
<name>javax.jdo.option.ConnectionUserName</name>
<value>root</value>
<description>Username to use against metastore database</description>
</property>
</configuration>
命令行输入:
cp hive-env.sh.template hive-env.sh
cp hive-log4j2.properties.template hive-log4j2.properties
启动hive:
配置环境变量:
sudo vi /etc/profile
在/etc/profile文件中最后加入:
export HIVE_HOME=/usr/local/hadoop/hive/apache-hive-3.1.0-bin
export PATH=$PATH:$HIVE_HOME/bin
使得配置文件生效:
source /etc/profile
复制依赖包:cp mysql-connector-java-5.1.43-bin.jar apache-hive-1.2.1-bin/lib/
启动hive: 任何位置输入hive (notice:启动前确保hadoop单机或者集群已经启动了!!!)
出现 hive> 表示启动成功!!!!