官网上对hive.metastore.local属性的解释为:local or remote metastore (Removed as of Hive
而hive将元数据存储在 RDBMS 中,有三种模式可以连接到数据库:
1)ingle User Mode: 此模式连接到一个 In-memory 的数据库 Derby,一般用于 Unit Test。
2)Multi User Mode:通过网络连接到一个数据库中,是最经常使用到的模式。
3)Remote Server Mode:用于非 Java 客户端访问元数据库,在服务器端启动一个 MetaStoreServer,客户端利用 Thrift 协议通过 MetaStoreServer 访问元数据库。
如果配置远程存储metadata,则需要先在远程端启动hive的元数据存储Server服务:hive --service metastore;Server端配置上面介绍的相同即可。默认的端口号是9083,我在conf目录下所有文件里没有grep到此端口,但是用netstat -anp |grep 9083能看到此端口处于监听状态,停止服务后,端口释放,所以此版本端口号是在程序里写死的。
client端的配置:
client端配置好后,执行hive命令去Server端取meta数据,而Server端数据存储于mysql,将元数据存储和Hive服务分开,详细的官方文档:https://cwiki.apache.org/Hive/adminmanual-metastoreadmin.html#AdminManualMetastoreAdmi
内容转载于:hive+mysql安装、hive.metastore.local属性的真正用途 - 成金之路 - 博客园