嵌套方式: 使用内置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 >