【原創】大叔經驗分享(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

相關文章
相關標籤/搜索