hive中mysql的作用_hive+mysql安装、hive.metastore.local属性的真正用途

本文对Hive+mysql的安装做一个总结,后期会把Hive的一些资料放上来:

1.安装目标:

Hive搭配远程Mysql

2.要点总结:

1).Mysql的配置:

假如Hive以hive用户连接Mysql,以root用户登录Mysql:

drop user hive@'%';

grant all on db.* to hive@'%' identified by '密码';(使用户可以远程连接Mysql)

grant all on db.* to hive@'localhost' identified by '密码';(使用户可以本地连接Mysql)

flush privileges;

2).Hive的安装:

a).安装包和环境的匹配:

本人安装的是apache hadoop-1.0.x+Hive0.8。

b).Hive安装

解压安装包,并在~/.bash_profile中添加HIVE_HOME环境变量,同时修改Path;

从mysql官网下载自己喜欢version的mysql-connector-java-version-bin.jar,放到$HIVE_HOME/lib下;

在$HIVE_HOME/conf下把hive-site.xml.example rename为hive-site.xml;

将hive.metastore.local属性设置为true

其它需要修改的属性为:

javax.jdo.option.ConnectionURL

jdbc:mysql://192.168.1.234:3306/hivedb?createDatabaseIfNotExist=true

JDBC connect string for a JDBC metastore

javax.jdo.option.ConnectionDriverName

com.mysql.jdbc.Driver

Driver class name for a JDBC metastore

javax.jdo.option.ConnectionUserName

hive

username to use against metastore database

javax.jdo.option.ConnectionPassword

hive

password to use against metastore database

hive.cluster.delegation.token.store.zookeeper.connectString

192.168.7.14:2181

The ZooKeeper token store connect string.

3.metadata远程存储和hive.metastore.local属性的说明:

官网上对hive.metastore.local属性的解释为:local or remote metastore (Removed as of Hive0.10: Ifhive.metastore.urisis emptylocalmode is assumed,remoteotherwise);即本地或者远程的元数据(在hive0.10版本上删除列这个属性;如果hive.metastore.uris属性为空,则默认为本地模式,否则为远程模式)。

而hive将元数据存储在 RDBMS 中,有三种模式可以连接到数据库:

1)ingle User Mode: 此模式连接到一个 In-memory 的数据库 Derby,一般用于 Unit Test。

2)Multi User Mode:通过网络连接到一个数据库中,是最经常使用到的模式。

3)Remote Server Mode:用于非 Java 客户端访问元数据库,在服务器端启动一个 MetaStoreServer,客户端利用 Thrift 协议通过 MetaStoreServer 访问元数据库。

如果配置远程存储metadata,则需要先在远程端启动hive的元数据存储Server服务:hive --service metastore;Server端配置上面介绍的相同即可。默认的端口号是9083,我在conf目录下所有文件里没有grep到此端口,但是用netstat -anp |grep 9083能看到此端口处于监听状态,停止服务后,端口释放,所以此版本端口号是在程序里写死的。

client端的配置:

hive.metastore.uris

thrift://:

host and port for the thrift metastore server

hive.metastore.local

false

this is local store

hive.metastore.warehouse.dir

default location for Hive tables.

至此,终于明白列hive.metastore.local属性的作用!

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值