Hive安装配置及错误解决办法
一、准备
mysql,hive安装包,mysql驱动
(我的安装包是apache-hive-1.2.1-bin.tar.gz,驱动是mysql-connector-java-5.1.28.jar)
二、安装
第一步:安装mysql数据库及客户端
apt-get install mysql-serverapt-get install mysqlservice mysqld start(centos) 或/etc/init.d/mysql start
第二步:给数据库授权
mysql -u用户名 -p密码grant all privileges on *.* to '数据库用户名'@'%' identified by '数据库密码' with grant option;flush privileges;
如果上面的语句报错的话,可以试一下下面这个
grant all on *.* to 'root'@'%' identified by 'linmin' with grant option;
【注意】授权后一定要重启数据库服务
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/hiveexport PATH=$HIVE_HOME/bin:$PATH
第五步:修改配置文件
cd ~/Bigdata/hive/confcp hive-default.xml.template hive-site.xmlvi 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/hivebin/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,或者配置的路径不存在或不是绝对地址。