【原创】大叔经验分享(24)hive metastore的几种部署方式

hive及其余组件(好比spark、impala等)都会依赖hive metastore,依赖的配置文件位于hive-site.xmljava

hive metastore重要配置

hive.metastore.warehouse.dir
hive2及以前版本默认为/user/hive/warehouse/,建立数据库或表时会在该目录下建立对应的目录mysql

javax.jdo.option.ConnectionURL
javax.jdo.option.ConnectionDriverName
javax.jdo.option.ConnectionUserName
javax.jdo.option.ConnectionPassword
默认为derbysql

hive.metastore.uris
默认为空数据库

hive metastore部署方式

1 所有默认配置

使用的是内置的derby库,hdfs目录为/user/hive/warehouse/apache

2 只配置javax.jdo.option.*相关配置

使用配置的数据库(好比mysql),hdfs目录为/user/hive/warehouse/oracle

3 只配置hive.metastore.uris

全部元数据操做都经过远程metastore交互(注意此时须要启动一个独立的hive metastore进程),hdfs目录为/user/hive/warehouse/post

ps:注意1和2不须要任何的hive进程,但3种方式都须要依赖hdfsspa

总结

综上,在只须要使用impala或spark而不须要hive的时候,其实只须要一个远程数据库(好比mysql)便可,不须要单独启动hive metastore进程;xml

如何初始化一个hive元数据库?进程

$ ls $HIVE_HOME/scripts/metastore/upgrade
derby mssql mysql oracle postgres

在hive目录下有各类数据库各个版本的初始化脚本,好比impala依赖hive1.2,只须要安装hive1.2的元数据库便可,对应的sql文件为:

$HIVE_HOME/scripts/metastore/upgrade/mysql/hive-schema-1.2.0.mysql.sql

其中会依赖

$HIVE_HOME/scripts/metastore/upgrade/mysql/hive-txn-schema-0.13.0.mysql.sql

初始化完成以后直接在/etc/impala/conf/hive-site.xml中配置javax.jdo.option.*指向mysql库便可;

 

impala的最小安装为:hdfs + mysql(hive元数据库) + impala

spark的最小安装为:hdfs + mysql(hive元数据库) + spark

 

参考:https://cwiki.apache.org/confluence/display/Hive/AdminManual+Metastore+Administration

相关文章
相关标签/搜索