`
085567
  • 浏览: 213397 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

应用mysql保存hive的metastore

    博客分类:
  • hive
阅读更多

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';

 

更改hivedb的编码为latin1否者会报错:Specified key was too long; max key length

 

然后,把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. 95. 25:3306 / hivedb?createDatabaseIfNotExist= true</ value>
 
< description> JDBC connect string FOR a JDBC metastore</ description>
 
</ property>
 
< property>
 
< name> javax. jdo. OPTION . ConnectionDriverName</ name>
 
< value> com. mysql. jdbc. Driver</ value>
 
< description> Driver class name FOR a JDBC metastore</ description>
 
</ property>
 
< property>
 
< name> javax. jdo. OPTION . ConnectionUserName</ name>
 
< value> hiveuser</ value>
 
< description> username TO USE against metastore database</ description>
 
</ property>
 
< property>
 
< name> javax. jdo. OPTION . ConnectionPassword</ name>
 
< value> hiveuser</ value>
 
< description> password TO USE against metastore database</ description>
 
</ property>

分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics