前言
在安装hive之前需要安装hadoop,因为hive本身并没有提供数据存储功能。它的数据是存储在hadoop的HDFS上面的。参考mac下安装hadoop教程进行hadoop的安装及配置。同时hive表的元数据存储在mysql中,mysql的安装教程非常多,随便找一篇安装就好。安装完成后记得启动hadoop和mysql。
安装hive非常简单,如下:
brew install hive
本文的安装版本是3.1.1,涉及到路径时根据实际情况进行更改,接下来配置环境变量,
vim ~/.bash_profile
添加如下两行:
export HIVE_HOME=/usr/local/Cellar/hive/3.1.1
export PATH=$HIVE_HOME/bin:$PATH
更新配置文件,是环境变量立即生效:
source ~/.bash_profile
接下来,接下来就要配置MySQL作为hive的元数据存储数据库,启动mysql,依次输入如下命令:
create database metastore;
create user 'hive'@'localhost' identified by '123456';
grant select,insert,update,delete,alter,create,index,references on metastore.* to 'hive'@'localhost';
flush privileges;
其中第二句是创建名为hive,登入密码为123456的新用户,第三句是赋予用户相关权限,第四句是刷新,以便配置立马生效。
然后进入/usr/local/Cellar/hive/3.1.1/libexec/conf?目录下,键入vim hive-site.xml, 将下面的代码粘贴进去。
<configuration>
<property>
<name>hive.metastore.local</name>
<value>true</value>
</property>
<property>
<name>javax.jdo.option.ConnectionURL</name>
<value>jdbc:mysql://localhost/metastore</value>
</property>
<property>
<name>javax.jdo.option.ConnectionDriverName</name>
<value>com.mysql.jdbc.Driver</value>
</property>
<!--mysql用户名-->
<property>
<name>javax.jdo.option.ConnectionUserName</name>
<value>hive</value>
</property>
<!--mysql密码-->
<property>
<name>javax.jdo.option.ConnectionPassword</name>
<value>123456</value>
</property>
<!-- hive用来存储不同阶段的map/reduce的执行计划的目录,同时也存储中间输出结果
,默认是/tmp/<user.name>/hive,我们实际一般会按组区分,然后组内自建一个tmp目录存>储 -->
<property>
<name>hive.exec.local.scratchdir</name>
<value>/tmp/hive</value>
</property>
<property>
<name>hive.downloaded.resources.dir</name>
<value>/tmp/hive</value>
</property>
<property>
<name>hive.metastore.warehouse.dir</name>
<value>/user/hive/warehouse</value>
</property>
<property>
<name>hive.server2.logging.operation.log.location</name>
<value>/tmp/hive</value>
</property>
</configuration>
下载mysql-connector,选下面的操作系统。解压以后,将文件夹中的jar文件复制到/usr/local/Cellar/hive/3.1.1/libexec/lib目录下面。

最后执行
cd /usr/local/Cellar/hive/3.1.1/libexec/bin
schematool -initSchema -dbType mysql
出现下面的结果,就说明执行成功了。
Initialization script completed
schemaTool completed
输入下面的命令,如果成功了应该就是没有问题了 。?
hive> show databases;
OK
default
Time taken: 0.911 seconds, Fetched: 1 row(s)
hive>
参考:Mac系统下安装hive
|