日期:2014-05-16 浏览次数:20953 次
http://www.tech126.com/hive-mysql-metastore/
Hive默认是采用Derby来存储其Meta信息的,如下:
<
property>
?
<
name>
javax.
jdo.
OPTION
.
ConnectionURL</
name>
?
<
value>
jdbc:derby://
zw-
hadoop-
master:1527
/
metastore_db;create=
true</
value>
?
<
description>
JDBC connect string FOR
a JDBC metastore</
description>
?
</
property>
?
?
<
property>
?
<
name>
javax.
jdo.
OPTION
.
ConnectionDriverName</
name>
?
<
value>
org.
apache.
derby.
jdbc.
ClientDriver</
value>
?
<
description>
Driver class name FOR
a JDBC metastore</
description>
?
</
property>
我们可以修改一下配置,让Mysql来存储其Meta信息
首先,在Mysql服务器上建立相应的库,并赋权限
create database hivedb;
grant all privileges on hivedb.* to hiveuser@'%' identified by 'hiveuser';
grant all privileges on hivedb.* to hiveuser@'localhost' identified by 'hiveuser';
然后,把mysql-connector-java-5.1.12-bin.jar拷贝到/cq/hive/lib下? //注意这里要从mysql官网下connector的包,不然可能出错
再修改hive-default.xml配置
<
property>
?
<
name>
javax.
jdo.
OPTION
.
ConnectionURL</
name>
?
<
value>
jdbc:mysql://
192.
168