Hive安装:Metastore配置和常见错误处理
文章目录
1 方法简介
Hive的本身结构决定了其需要把一部分数据存储在关系数据库上,这一部分就是元数据metadata,而这种机制叫做metastore。Hive可以选择使用内置的derby或者外置的JDBC数据库来做metastore。
本文主要介绍的是使用mysql数据库作为hive的metastore载体。主要步骤为(1)安装Hive(2)安装mysql(3)在mysql中配置相应用户(4)配置JDBC支持(5)在Hive中配置metastore属性。
2 步骤
环境:Mac OS,已经安装了Hadoop(版本2.10.1)。
2.1 安装Hive
下载Hive软件包 http://www.apache.org/dyn/closer.cgi/hive/
解压,然后加入环境变量,例如:
export HIVE_HOME=$PWD/apache-hive-2.3.7-bin
export PATH=$PATH:$HIVE_HOME/bin
2.2 安装mysql
直接使用brew安装,本人在官网上下载的安装包安装后一直提示密码错误,但用brew安装的可以直接使用。(安装的是8.0.22)
brew install mysql
注:这样安装的mysql可以通过如下方式启动
brew services start mysql
2.3 在mysql中配置相应用户
为Hive的metastore创建一个用户,让其可以存取表。
创建用户(用户名为HIVEUSERNAME,密码为HIVEPASSWORD):
CREATE USER 'HIVEUSERNAME'@'%' IDENTIFIED BY 'HIVEPASSWORD';
为其授予权限(实际上其中的*.*
可能造成权限滥用,可以将其限制为metastore的数据库HIVEMETADB.*):
GRANT ALL PRIVILEGES ON *.* TO 'HIVEUSERNAME'@'%' WITH GRANT OPTION;
刷新权限表:
FLUSH PRIVILEGES;
2.4 配置JDBC支持
Hive的metastore可以通过JDBC的接口访问数据库(因为Hadoop基于Java,所以依赖包都是Java的),需要下载对应的支持,例如mysql的Java语言Connector可以直接在其官网上下载:https://dev.mysql.com/downloads/connector/j/
然后将tar包解压,解压出的jar放到Hive的lib文件夹下。然后,在Hive的配置文件hive-site.xml中修改:
<property>
<name>javax.jdo.option.ConnectionDriverName</name>