Mac安装Apache Hive-3.2.1教程
安装Hadoop
下载包进行安装,则hadoop需要独立安装
安装Hive
brew安装
1 | $ brew install hive |
此命令会把hive依赖的hadoop安装,所以就不需要单独进行安装hadoop
该命令默认安装的版本较新,我的hive是3.1.2,hadoop是3.2.1,安装位置:/usr/local/Cellar/hive/
环境变量修改
1 | $ vim ~/.bash_profile |
使用mysql作为hive元数据存储
在mysql中为hive 创建用户,及初始化数据库
以下在mysql 中操作,注意:这里创建的用户名是 hadoop, 密码 mysql
第一行:创建数据库
第二、三行 创建用户,赋予权限
第四行 权限生效
1 | create database hive; |
查看权限是否已经存储
1 | SELECT * FROM mysql.user; |
修改配置文件hive-site.xml
修改hive配置文件,我的配置文件位置在 /usr/local/Cellar/hive/3.1.2/libexec/conf
如果不存在hive-site.xml文件,则使用下面这个命令创建一个默认的hive-site.xml
1 | $ cp hive-default.xml.template hive-site.xml |
修改配置文件
1 | <configuration> |
javax.jdo.option.ConnectionUserName – 连接mysql的账号,hadoop
javax.jdo.option.ConnectionPassword – 连接mysql的密码,mysql
javax.jdo.option.ConnectionURL – 对应上一步创建的数据库,localhost:3306/hive
hadoop中创建hive所需仓库
1 | $ $HADOOP_HOME/bin/hadoop fs -mkdir /tmp |
$HADOOP_HOME – 代表您的hadoop工作目录
hive初始化mysql中的数据库hive
命令
1 | $ $HIVE_HOME/bin/schematool -dbType msyql -initSchema |
可能出现错误1:java.lang.NoSuchMethodError: com.google.common…
解决方案:java.lang.NoSuchMethodError: com.google.common.base.Preconditions.checkArgument
可能出现错误2:java.lang.ClassNotFoundException: com.mysql…
解决方案:java.lang.ClassNotFoundException: com.mysql.jdbc.Driver
启动Hive的Metastore Server服务进程
1 | $ $HIVE_HOME/bin/hive --service metastore & |
登录hive客户端
命令
1 | $ $HIVE_HOME/bin/ hive |
可能出现的错误1:java.lang.IllegalArgumentException: java.net.URISyntaxException:…
解决方案:Exception in thread “main” java.lang.IllegalArgumentException: java.net.URISyntaxException: