登录  
 加关注
查看详情
   显示下一条  |  关闭
温馨提示!由于新浪微博认证机制调整,您的新浪微博帐号绑定已过期,请重新绑定!立即重新绑定新浪微博》  |  关闭

阿亮的博客

据说,世界上本没有懂,装懂装久了,也就懂了!

 
 
 

日志

 
 
关于我

我很平凡 趁年轻想多去走走看看 很多目标离我还很遥远 但我一定会把它们实现

 
 

hive多用户及相关注意事项  

2013-12-04 12:06:37|  分类: 分布式 |  标签: |举报 |字号 订阅

  下载LOFTER 我的照片书  |
使用hive默认的Derby数据库,由于是内嵌的文件数据库,只支持一个用户的操作访问。否则会抛:

Another instance of Derby may have already booted the database /home/.../metastore_db. 异常。

要支持多用户就改用mysql保存元数据。如:
  1. mysql> CREATE USER 'hive'@'hive-mysql' IDENTIFIED BY 'hivepasswd';  
  2. mysql> GRANT ALL PRIVILEGES ON *.* TO 'hive'@'hive-mysql' WITH GRANT OPTION; 
hive-site.xml:
<property>
  <name>javax.jdo.option.ConnectionURL</name>
  <value>jdbc:mysql://mysql_server_host:3306/hivedb?createDatabaseIfNotExist=true&amp;useUnicode=true&amp;characterEncoding=latin1</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>mysql_username</value>
  <description>username to use against metastore database</description>
</property>

<property>
  <name>javax.jdo.option.ConnectionPassword</name>
  <value>mysql_password</value>
  <description>password to use against metastore database</description>
</property>

注意加characterEncoding=latin1,不然以我的hive0.12版本(很多版本都有这个问题)会抛:
Specified key was too long; max key length is 767 bytes 类似这样的错误提示。
当然也可以事后修改:
mysql> alter database hivedb character set latin1;

最后记得把mysql-connector-java.jar包加到hive/lib/下!
  评论这张
 
阅读(3264)| 评论(0)

历史上的今天

评论

<#--最新日志,群博日志--> <#--推荐日志--> <#--引用记录--> <#--博主推荐--> <#--随机阅读--> <#--首页推荐--> <#--历史上的今天--> <#--被推荐日志--> <#--上一篇,下一篇--> <#-- 热度 --> <#-- 网易新闻广告 --> <#--右边模块结构--> <#--评论模块结构--> <#--引用模块结构--> <#--博主发起的投票-->
 
 
 
 
 
 
 
 
 
 
 
 
 
 

页脚

网易公司版权所有 ©1997-2018