Hive安装
准备工作
-
JDK、MySql、Hadoop需要安装完成
-
准备好hive的安装包
安装过程
-
将安装包解压至安装目录
#解压 tar -zxvf apache-hive-3.1.2-bin.tar.gz -C /opt/software/
修改个名字,方便使用
mv apache-hive-3.1.2-bin/ hive312
-
将默认配置 hive-default.xml.template 修改为 hive-default.xml 让其生效
mv hive-default.xml.template hive-default.xml
新建一个hive-site.xml配置文件
vim 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/hive312?createDatabaseIfNotExist=true</value>
<description>connect to mysql for hive metastore</description>
</property>
<property>
<name>javax.jdo.option.ConnectionDriverName</name>
<value>com.mysql.jdbc.Driver</value>
<description>driver for mysql</description>
</property>
<property>
<name>javax.jdo.option.ConnectionUserName</name>
<value>root</value>
<description>username to mysql</description>
</property>
<property>
<name>javax.jdo.option.ConnectionPassword</name>
<!--自己的mysql密码-->
<value>12345678</value>
<description>password to mysql</description>
</property>
</configuration>
配置本地的系统环境变量
vim /etc/profile.d/myenv.sh
####################
export HIVE_HOME=/opt/software/hive312
export PATH=$HIVE_HOME/bin:$PATH
- 将maven本地仓库中的mysql驱动复制到虚拟机的/opt/software/hive312/lib中
忘记本地maven仓库地址的可以在idea中查看下
-
将hadoop中的guava-27.0-jre.jar复制到hive的lib目录下替换原有的版本
#删除 rm -f guava-19.0.jar #复制 cp /opt/software/hadoop313/share/hadoop/common/lib/guava-27.0-jre.jar ./
Hive安装检测
-
初始化mysql连接
./schematool -dbType mysql -initSchema
在mysql数据库中可以看到hive312数据库
-
启动hive服务
nohup hive --service metastore>/dev/null 2>&1 & nohup hive --service hiveserver2>/dev/null 2>&1 &
-
使用hive
beeline -u jdbc:hive2://你的IP地址:10000 #或者# beeline -u jdbc:hive2://你的IP地址:10000 -n root
成功应该是这样:
常见问题:
一、inode="/tmp":root:supergroup:drwx
#错误说/tmp文件夹的权限
#修改/tmp文件夹的权限,应该就可以成功了
hdfs dfs -chmod -R 777 /tmp
二、Error: Could not open client transport with JDBC Uri: jdbc:hive2://localhost:10000: java.net.ConnectException
<!--在hadoop的core-site.xml中增加以下配置-->
<property>
<name>hadoop.proxyuser.xxx.hosts</name>
<value>*</value>
</property>
<property>
<name>hadoop.proxyuser.xxx.groups</name>
<value>*</value>
</property>
重启服务!!先stop-all.sh!!再start-all.sh!!,等一会,等服务稳定运行后再尝试连接。