1. 程式人生 > >hive中metastore三種儲存方式

hive中metastore三種儲存方式

hive中metastore儲存方式:

      巢狀方式: 使用內建derby資料庫,同一時間僅限一個hive cli環境登入

      本地mysql儲存方式: 採取外部mysql資料庫伺服器,支援多使用者連線模式,通過設定hive.metastore.local 為true實現。

        統一配置如下

<property> <name>hive.metastore.warehouse.dir</name> <value>/user/hive/warehouse</value> </property> <property> <name
>hive.metastore.local</name> <value>true</value> </property> <property> <name>javax.jdo.option.ConnectionURL</name> <value>jdbc:mysql://master/hive_remote?createDatabaseIfNotExist=true</value> </property> <property> <name>javax.jdo.option.ConnectionDriverName</
name> <value>com.mysql.jdbc.Driver</value> </property> <property> <name>javax.jdo.option.ConnectionUserName</name> <value>hive</value> </property> <property> <name>javax.jdo.option.ConnectionPassword</name> <value>hive</value
> </property>

      遠端mysql儲存方式: 同樣採取外部mysql資料庫伺服器,支援多使用者連線模式,設定hive.metastore.local 為false , 以及hive.metastore.uris 為 thrift://master:9083 ,並且需要在hive伺服器啟用 metastore 服務: hive --service metastore &

      服務端配置:

< property >
   < name >hive.metastore.warehouse.dir</ name >
   < value >/user/hive/warehouse</ value >
</ property >
 
   < name >javax.jdo.option.ConnectionURL</ name >
   < value >jdbc:mysql://master/hive_remote?createDatabaseIfNotExist=true</ value >
</ property >
 
< property >
   < name >javax.jdo.option.ConnectionDriverName</ name >
   < value >com.mysql.jdbc.Driver</ value >
</ property >
 
< property >
   < name >javax.jdo.option.ConnectionUserName</ name >
   < value >hive</ value >
</ property >
 
< property >
   < name >javax.jdo.option.ConnectionPassword</ name >
   < value >hive</ value >
</ property >

    客戶端配置:

< property >
   < name >hive.metastore.warehouse.dir</ name >
   < value >/user/hive_remote/warehouse</ value >
</ property >
 
< property >
   < name >hive.metastore.local</ name >
   < value >false</ value >
</ property >
 
< property >
   < name >hive.metastore.uris</ name >
   < value >thrift://master:9083</ value >
</ property >