Hive的metastore默認是存儲在Derby數據庫裏面,只能用於單元測試,並且一次只能有一個進程連接到metastore的數據庫。所以在實際的應用中,需要將metastore存儲在一些關係型數據庫裏面。
Hive支持MySQL,Postgres,Oracle,MS SQL Server這四種數據庫。
配置Hive Metastore存儲到MySQL
需要在hive-site.xml配置如下的參數
Config Param | Config Value | Comment |
---|---|---|
javax.jdo.option.ConnectionURL | jdbc:mysql://<host name>/<database name>?createDatabaseIfNotExist=true | metadata is stored in a MySQL server |
javax.jdo.option.ConnectionDriverName | com.mysql.jdbc.Driver | MySQL JDBC driver class |
javax.jdo.option.ConnectionUserName | <user name> | user name for connecting to MySQL server |
javax.jdo.option.ConnectionPassword | <password> | password for connecting to MySQL server |
打開$HIVE_HOME/conf下的hive-site.xml
添加上表中的配置到hive-site.xml中,如下圖所示
然後使用Hive Schema Tool初始化Schema
schematool -dbType mysql -initSchema
至此,我們就將metastore存儲到了MySQL中。