Hive安装配置及错误解决办法

Hive安装配置及错误解决办法

一、准备

mysql,hive安装包,mysql驱动

(我的安装包是apache-hive-1.2.1-bin.tar.gz,驱动是mysql-connector-java-5.1.28.jar)

二、安装

第一步:安装mysql数据库及客户端

apt-get install mysql-server

apt-get install mysql

service mysqld start(centos)或/etc/init.d/mysql start

第二步:给数据库授权

mysql -u用户名 -p密码

grant all privileges on *.* to '数据库用户名'@'%' identified by '数据库密码' with grant option;

flush privileges;

【注意】授权后一定要重启数据库服务

service mysqld restart(centos)或/etc/init.d/mysql restart

第二步:解压缩到你准备好的文件夹中,我解压到 ~/Bigdata

tar -zvxf apache-hive-1.2.1-bin.tar.gz -C ~/Bigdata

注:我的压缩包就在当前目录下,否则需要在前面加上路径

第三步:创建软链接

ln -s apache-hive-1.2.1-bin hive

第四步:设置环境变量

sudo vi /etc/profile

在里面加入下面两行代码

#HIVE_HOME=(此处写的是你的解压后hive所在的位置)例如:
export HIVE_HOME=/home/briup/Bigdata/hive
export PATH=$HIVE_HOME/bin:$PATH

第五步:修改配置文件

cd ~/Bigdata/hive/conf
cp hive-default.xml.template hive-site.xml
vi hive-site.xml

在hive-site.xml中加入以下配置:

  <property>
          <name>javax.jdo.option.ConnectionUserName</name>
          <value>数据库用户名</value>
  </property>
  <property>
          <name>javax.jdo.option.ConnectionPassword</name>
          <value>数据库密码</value>
 </property>
 <property>
         <name>javax.jdo.option.ConnectionURL</name>
         <value> jdbc:mysql://主机名或ip:3306/hive?createDatabaseIfNotExist=true</value>
 </property>
 <property>
        <name>javax.jdo.option.ConnectionDriverName</name>
        <value>com.mysql.jdbc.Driver</value>
 </property>
 <property>
         <name>system:java.io.tmpdir</name>
         <value>/home/briup/hive/iotmp</value>(注意,这个目录要真实存在,可以自己建一个,然后指定)
</property>
<property>
        <name>system:user.name</name>
        <value>用户名</value>
</property>

最后一步:启动hive

cd ~/Bigdata/hive

bin/hive

三、常见错误

1.failed on connection:拒绝连接

数据库远程连接出问题,可能是没授权。

如果授权没出错,那么就可能是你的hadoop集群没有打开(2333....)。

2.Relative path in absolute URI:${system:java.io.tmpdir%7D/$%7Bsystem:user.name%}

这个问题说明hive-site.xml中没有配置system:java.io.tmpdir及system:user.name,或者配置的路径不存在或不是绝对地址。

3.HiveMetaException(这是我修改hive版本时遇到的问题)

mysql连接metastore使用的user用户为hive,可能元数据删除不干净或者有某些配置文件无法删除掉

【解决办法】

(1)将原先的数据库删除或者换一个数据库(换数据库就是把javax.jdo.option.ConnectionURL配置中的数据库名改掉,然后格式化)

(2)在mysql中新建一个user,使用新的user

create user '用户名'@'%' identified by '密码';
grant all on *.* to '用户名'@localhost identified by '密码';
flush privileges

注意要重启数据库

然后将hive-site.xml中的ConnectionUserName以及ConnectionPassword改成新的用户名和密码

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值